实践CentOS+Nginx+PHP
前言我是在vm里装的centos5,因为只配置了局域网内互通,不对外联网,所以不能使用yum,都是使用tar和rpm包安装。操作的目的是为了测一下apache和nginx的性能差异。另外测试一下nginx做反向代理的效果。下面是安装的具体流程,不算是教程,是我操作的一个记录吧,当然,里面肯定有错误的地方,欢迎大家指正。
系统版本:
Linux B2 2.6.18-194.el5 #1 SMP Fri Apr 2 14:58:35 EDT 2010 i686 athlon i386 GNU/Linux
使用到的软件:
pcre-8.10.tar
nginx-0.7.67.tar
mysql-5.5.3-m3.tar
php-5.2.14-fpm-0.5.14.diff
php-5.2.14.tar
一, 安装Nginx所需要的pcre库
将文件上传到/tmp目录下,然后进入/tmp目录,解压并执行:
[*]cd /tmp
[*]tar -zxvf pcre-8.10.tar.gz
[*]cd pcre-8.10
[*]./configure
但是提示需要C C++编译器的支持,通过光盘,使用RPM包安装GCC,
[*]rpm -ivh cpp-4.1.2-48.el5.i386.rpm
[*]rpm -ivh libgomp-4.4.0-6.el5.i386.rpm
[*]rpm -ivh gcc-4.1.2-48.el5.i386.rpm
[*]rpm -ivh libstdc++-devel-4.1.2-48.el5.i386.rpm
[*]rpm -ivh gcc-c++-4.1.2-48.el5.i386.rpm
重新安装pcre
[*]cd /tmp/pcre-8.10
[*]./configure
[*]make
[*]mak install
至此pcre安装完成,下面开始安装nginx
二,安装Nginx
将文件上传到/tmp目录,解压并执行
[*]cd /tmp
[*]tar -zxvf nginx-0.7.67.tar.gz
[*]cd nginx-0.7.67
[*]./configure
[*]--user=www
[*]--group=www
[*]--prefix=/usr/local/lnmp/nginx
[*]make && make install
在这里,指定了Nginx的用户,用户组和安装目录。因为www的用户和用户组系统内还没有,
所以,要创建这个用户组和用户,并把/usr/local/lnmp的属主和组指定为www
[*]groupadd www
[*]useradd www -g www -d /usr/local/lnmp -s /sbin/nologin
[*]chown -R www:www /usr/local/lnmp
然后,通过vi打开Nginx的配置文件/usr/local/lnmp/nginx/conf/nginx.conf,修改用户和用户组。(因为这里主要是做安装,Nginx的具体配置将另文说明)将文件里最前面的usr项,由原来的nobody改为www www
-----------------------------------------------------------------------
----------------------------------------------------------------------
这样,Nginx安装就完成了,下面是启动并查看进程
[*]/usr/local/lnmp/nginx/sbin/nginx
[*]ps -aux | grep nginx
查看进程
---------------------------------------------------------------------
---------------------------------------------------------------------
打开浏览器查看
----------------------------------------------------------------
-------------------------------------------------------------
将Nginx设为开机自动启动
[*]echo "/usr/local/nginx/sbin/nginx" >> /etc/rc.local
三,安装MySQL
因为这台服务器只做web,数据库使用其它服务器,所以此处只安装供PHP连接,不配置mysql。
[*]cd /tmp
[*]tar -zxvf mysql-5.5.3-m3.tar.gz
[*]cd mysql-5.5.3-m3
[*]./configure --prefix=/usr/local/lnmp/mysql
[*]make && make install
[*]chown -R www:www /usr/local/lnmp/mysql
四, 安装PHP扩展
安装PHP之前,安装一些常用的扩展,因为主要是做测试,其它的扩展待将来需要再通过phpize添加。这里的操作和前面安装rpm包过程差不多,不再列出详细流程命令,只写出安装命令:
[*]rpm -ivh libpng-1.2.10-7.1.el5_3.2.i386.rpm
[*]rpm -ivh libpng-devel-1.2.10-7.1.el5_3.2.i386.rpm
[*]rpm -ivh libjpeg-6b-37.i386.rpm
[*]rpm -ivh libjpeg-devel-6b-37.i386.rpm
[*]rpm -ivh freetype-2.2.1-21.el5_3.i386.rpm
[*]rpm -ivh freetype-devel-2.2.1-21.el5_3.i386.rpm
[*]rpm -ivh fontconfig-2.4.1-7.el5.i386.rpm
[*]rpm -ivh fontconfig-devel-2.4.1-7.el5.i386.rpm
[*]rpm -ivh gd-2.0.33-9.4.el5_4.2.i386.rpm
五,安装PHP和php-fpm
先解压PHP,然后把php-fpm压到PHP的包内,再安装
[*]cd /tmptar –zxvf php-5.2.14.tar.gz
[*]gzip -cd php-5.2.14-fpm-0.5.14.diff.gz | patch -d php-5.2.14 -p1
[*]cd php-5.2.14
[*]./configure
[*]--prefix=/usr/local/lnmp/php
[*]--with-config-file-path=/usr/local/lnmp/php/etc
[*]--with-gd-dir
[*]--with-jpeg-dir
[*]--with-png-dir
[*]--with-freetype-dir
[*]--with-mysql=/usr/local/lnmp/mysql
[*]--enable-fastcgi
[*]--enable-fpm
[*]make && make install
拷贝php.ini文件,修改权限
[*]cp php.ini-dist /usr/local/lnmp/php/etc/php.ini
[*]chown -R www:www /usr/local/lnmn/php
修改etc/php-fpm.conf文件中的属主
[*]vi /usr/local/lnmp/php/etc/php-fpm.conf
将文件中的nobody改为www,并去掉注释
修改前:-------------------------------------------------------------
修改后:-------------------------------------------------------------
-------------------------------------------------------------
启动并保存启动,查看进程
[*]echo /usr/local/lnmp/php/sbin/php-fpm start >> /etc/rc.local
[*]/usr/local/lnmp/php/sbin/php-fpm start
[*]ps -aux | grep php
-------------------------------------------------------------
-------------------------------------------------------------
六, 整合Nginx和PHP
打开Nginx的配置文件,找到下图位置
[*]vi /usr/local/lnmp/nginx/conf/nginx.conf
修改前:-------------------------------------------------------------
修改后:-------------------------------------------------------------
-------------------------------------------------------------
七,测试
在Nginx的网站目录中创建一个PHP测试文件test.php,内容为phpinfo()
[*]vi /usr/local/lnmp/nginx/html/test.php
重启fpm和Nginx
[*]/usr/local/lnmp/php/sbin/php-fpm stop
[*]/usr/local/lnmp/php/sbin/php-fpm start
[*]ps -aux | grep nginx
[*]kill 8937
[*]/usr/local/lnmp/nginx/sbin/nginx
打开浏览器,查看
结尾
在操作过程中,严重参考了以下两篇博文,在此列出,以示感谢
http://blog.s135.com/nginx_php_v6
http://www.anqn.com/os/linux/2010-01-09/a09123156.shtml
页:
[1]