一直以来做的PHP项目都是部署在Apache上面的,听说nginx的性能要不Apahce强很多,今天真好有时间来部署一下lnmp的开放环境,我使用的是CentOS6系列的服务器
一、首先安装nginx:
yum install nginx
执行安装命令,提示 No package nginx available ,CentOS自带的yum仓库竟然没有这个包,于是安装epel仓库,首先下载epel的安装包,下载链接:http://mirrors.yun-idc.com/epel/6/i386/epel-release-6-8.noarch.rpm 注意你的linux的版本,下载对应的epel包。
接下来安装epel包:
rpm -ivh http://mirrors.yun-idc.com/epel/6/i386/epel-release-6-8.noarch.rpm
安装成功之后会在/etc/yum.repos.d目录下面生成两个epel仓库的配置文件,分别是epel.repo和epel-testing.repo,默认启用的是epel.repo,然后再执行yum install nginx,可以安装成功
启动nginx服务:
service nginx start
修改防火墙,开启80端口的访问:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
通过浏览器访问,出现如下界面表示nginx安装成功:
二、配置nginx和php
正常情况下,nginx和php直接是完全不认识的,我们就是通过php-fastcgi将二者整合。CentOS中怎么安装php这里就不在赘述了,php5.3中默认已经编译安装了php-fastcgi,安装完php之后查看是否安装php-fpm:
rpm -q php-fpm
如果没有安装执行如下命令安装:
yum install php-fpm
不知道php-fpm的作用可以自己百度查一下。主要是对php-fastcgi进行管理的一个插件。
修改php-fpm的配置文件,编辑默认的配置文件 vim /etc/php-fpm.d/www.conf 取消前面的注释
;listen = 127.0.0.1:9000
保存后重启php-fpm服务:
service php-fpm restart
接下来配置nginx的配置文件:
vim /etc/nginx/conf.d/default.conf
添加如下配置信息:
location ~ \.php$ { root /usr/share/nginx/html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; include fastcgi.conf; #include fastcgi_params; }
注意上面的include,我采用默认的fastcgi_params浏览程序时报找不到文件的错误,保存后重启服务:
service nginx restart
三:测试php文件是否能够预览
1、在nginx的根目录创建一个文件php文件
cd /usr/share/nginx/html/ touch index.php
这里在index.php中添加如下测试代码:
<?php echo phpinfo(); ?>
2、在浏览器中输入http://ip地址/index.php,出现如下结果: