帮助中心
  • 云主机
  • 数据盘
  • 弹性IP
  • 快照
  • 云防火墙

LNMP即(Linux+Nginx+MySQL+PHP的缩写), 做为最常用的WEB服务器运行环境之一,广受好评,本文将以比格云CentOS6操作系统为例,介绍LNMP环境的部署。

本文所有的安装包都以比格云官网yum软件源为例,比格云申请的Linux云主机默认已配置好相关的yum源。(您也可以下载不同的源码包进行编译安装,这里不做详细介绍)

1、软件安装

查看OS内核版本如下:

#cat /etc/redhat-release

#uname -r

blob.png

- 安装Nginx

#yum install nginx

#nginx -v

默认安装好的nginx,相关配置文件存放在/etc/nginx目录下,默认Server监听80端口,版本为1.0.15,如下:

blob.png

如您需要更高版本的nginx,可上nginx官网(http://www.nginx.org)下载最新的源码包进行安装。

- 安装MySQL

#yum install mysql-server mysql-libs mysql-devel

默认CentOS6自带的mysql 版本为MySQL 5.1,启动后默认监听3306端口,版本如下:

blob.png

如您需要更高版本的MySQL,如(mysql 5.5/5.6),您可以从mysql 官网导入对应的mysql yum源进行安装(http://dev.mysql.com/downloads/repo/yum/),也可以下载对应的源码包进行安装。

- 安装PHP和php-fpm

#yum install php php-fpm

默认系统安装好的的php版本为php-5.3.3,同时也会附带安装基础的PHP扩展模块php-common、php-pdo.

blob.png

blob.png

php 默认配置文件存放在/etc/php.ini /etc/php.d目录下。

php-fpm配置文件存放在/etc/php-fpm.conf /etc/php-fpm.d/目录下。

- 安装php5-mysql

# yum install php-mysql


2、安装PHP扩展库

常用扩展库的安装,如下:

php-devel php-cli php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-mssql php-snmp php-soap php-tidy

#yum install -y php-devel php-cli php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-mssql php-snmp php-soap php-tidy

您也可以通过下载php的扩展库的源码包进行编译安装(针对yum源里没有提供该扩展库的情况),通常的安装方式如下:

- 下载源码包;

- 解压源码包后运行phpize,之后再编译安装;

- 最后在/etc/php.ini配置文件中加入so;


3、环境配置

- 配置nginx

查看/etc/nginx/conf.d/default.conf中是否有如下配置,若没有则添加以下配置:

    location ~ .*\.php$ {

       root /var/www/html;

       fastcgi_pass   127.0.0.1:9000;

       fastcgi_index  index.php;

       fastcgi_param  SCRIPT_FILENAME  $document_root/$fastcgi_script_name;                  include        fastcgi_params;

    }

以上是将所有php的请求转发至php-fpm fastcgi处理。

- 配置php-fpm

php-fpm主配置文件/etc/php-fpm.conf, /etc/php-fpm.d/下有详细的配置项,可以cp /etc/php-fpm.d/www.conf /etc/php-fpm.d/www.conf~, 编辑/etc/php-fpm.d/www.conf文件,配置文件相关参数说明如下:

[www]

listen = 127.0.0.1:9000

listen.allowed_clients = 127.0.0.1

pm = dynamic

取值为dynamic或static,如果不传值则默认为dynamic,如果设置dynamic,则必须配置下面的3个参数,以进行子进程数量动态设置。

pm.max_children = 50

设置启动时创建的子进程数目,仅在pm设置为dynamic时使用,且必须设置。

pm.start_servers = 5

子进程的数量,pm设置为static时表示创建的子进程数量;pm设置为dynamic时表示最大可创建的子进程数量。

pm.min_spare_servers = 5

设置空闲服务进程的最小数目;

pm.max_spare_servers = 35

设置空闲服务进程的最大数目,仅在pm设置为dynamic时使用,且必须设置。

slowlog = /var/log/php-fpm/www-slow.log

php_admin_value[error_log] = /var/log/php-fpm/www-error.log

php_admin_flag[log_errors] = on

php_value[session.save_handler] = files

php_value[session.save_path] = /var/lib/php/session


4、服务器状态管理

- nginx状态管理

[root@biggeryun ~]# service nginx

Usage: /etc/init.d/nginx {start|stop|reload|configtest|status|force-reload|upgrade|restart|reopen_logs}

blob.png

主配置文件: /etc/nginx/nginx.conf, Server配置文件: /etc/nginx/conf.d/default.conf

- php-fpm状态管理

[root@biggeryun ~]# service php-fpm

Usage: /etc/init.d/php-fpm {start|stop|status|restart|reload|force-reload|condrestart|try-restart|configtest}

blob.png

主配置文件/etc/php-fpm.conf, server配置文件/etc/php-fpm.d/www.conf

- mysql 状态管理

[root@biggeryun ~]# service mysqld

Usage: /etc/init.d/mysqld {start|stop|status|restart|condrestart|try-restart|reload|force-reload}

blob.png

主配置文件/etc/my.cnf

- 开机启动管理

#chkconfig mysqld on

#chkconfig php-fpm on

#chkconfig nginx on

blob.png


5、环境验证

启动LNMP环境相应服务

#service mysqld start

#service php-fpm start

#service nginx start

我们在nginx 主目录下新建一个名为test.php的文件用来展示phpinfo信息,文件内容为:

<?php

echo phpinfo();

?>

从浏览器打开http://<外网ip地址>/test.php,就能看到phpinfo信息了,说明php环境已经部署成功,如下:

blob.png 

至此,LNMP环境已经配置完毕,正式线上环境部署时,相应的参数请根据实际情况再做优化调整。


上一篇 下一篇