前言

我是在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目录,解压并执行:

 
  
  1. cd /tmp  
  2. tar -zxvf pcre-8.10.tar.gz    
  3. cd pcre-8.10    
  4. ./configure     
但是提示需要C C++编译器的支持,通过光盘,使用RPM包安装GCC,
 
  
  1. rpm -ivh cpp-4.1.2-48.el5.i386.rpm  
  2. rpm -ivh libgomp-4.4.0-6.el5.i386.rpm  
  3. rpm -ivh gcc-4.1.2-48.el5.i386.rpm  
  4. rpm -ivh libstdc++-devel-4.1.2-48.el5.i386.rpm  
  5. rpm -ivh gcc-c++-4.1.2-48.el5.i386.rpm  

重新安装pcre
 

 
  
  1. cd /tmp/pcre-8.10  
  2. ./configure   
  3. make  
  4. mak install  

至此pcre安装完成,下面开始安装nginx

二,安装Nginx
将文件上传到/tmp目录,解压并执行

 
  
  1. cd /tmp  
  2. tar -zxvf nginx-0.7.67.tar.gz  
  3. cd nginx-0.7.67  
  4. ./configure   
  5. --user=www   
  6. --group=www   
  7. --prefix=/usr/local/lnmp/nginx   
  8. make && make install 
在这里,指定了Nginx的用户,用户组和安装目录。因为www的用户和用户组系统内还没有, 所以,要创建这个用户组和用户,并把/usr/local/lnmp的属主和组指定为www
 
  
  1. groupadd www  
  2. useradd www -g www -d /usr/local/lnmp -s /sbin/nologin  
  3. chown -R www:www /usr/local/lnmp 

然后,通过vi打开Nginx的配置文件/usr/local/lnmp/nginx/conf/nginx.conf,修改用户和用户组。(因为这里主要是做安装,Nginx的具体配置将另文说明)将文件里最前面的usr项,由原来的nobody改为www www

-----------------------------------------------------------------------

----------------------------------------------------------------------

这样,Nginx安装就完成了,下面是启动并查看进程

 
  
  1. /usr/local/lnmp/nginx/sbin/nginx  
  2. ps -aux | grep nginx  

查看进程

---------------------------------------------------------------------

---------------------------------------------------------------------

打开浏览器查看
----------------------------------------------------------------

-------------------------------------------------------------

将Nginx设为开机自动启动

 
  
  1. echo "/usr/local/nginx/sbin/nginx" >> /etc/rc.local   

 

 三,  安装MySQL


因为这台服务器只做web,数据库使用其它服务器,所以此处只安装供PHP连接,不配置mysql。
 

 
  
  1. cd /tmp  
  2. tar -zxvf mysql-5.5.3-m3.tar.gz  
  3. cd mysql-5.5.3-m3  
  4. ./configure --prefix=/usr/local/lnmp/mysql  
  5. make && make install  
  6. chown -R www:www /usr/local/lnmp/mysql  

 

四, 安装PHP扩展

安装PHP之前,安装一些常用的扩展,因为主要是做测试,其它的扩展待将来需要再通过phpize添加。这里的操作和前面安装rpm包过程差不多,不再列出详细流程命令,只写出安装命令:
 

 
  
  1. rpm -ivh libpng-1.2.10-7.1.el5_3.2.i386.rpm  
  2. rpm -ivh libpng-devel-1.2.10-7.1.el5_3.2.i386.rpm  
  3. rpm -ivh libjpeg-6b-37.i386.rpm  
  4. rpm -ivh libjpeg-devel-6b-37.i386.rpm  
  5. rpm -ivh freetype-2.2.1-21.el5_3.i386.rpm  
  6. rpm -ivh freetype-devel-2.2.1-21.el5_3.i386.rpm  
  7. rpm -ivh fontconfig-2.4.1-7.el5.i386.rpm  
  8. rpm -ivh fontconfig-devel-2.4.1-7.el5.i386.rpm  
  9. rpm -ivh gd-2.0.33-9.4.el5_4.2.i386.rpm  
五,安装PHP和php-fpm
 
先解压PHP,然后把php-fpm压到PHP的包内,再安装

 
  
  1. cd /tmptar –zxvf php-5.2.14.tar.gz  
  2. gzip -cd php-5.2.14-fpm-0.5.14.diff.gz | patch -d php-5.2.14 -p1  
  3. cd php-5.2.14  
  4. ./configure   
  5. --prefix=/usr/local/lnmp/php   
  6. --with-config-file-path=/usr/local/lnmp/php/etc   
  7. --with-gd-dir   
  8. --with-jpeg-dir   
  9. --with-png-dir   
  10. --with-freetype-dir   
  11. --with-mysql=/usr/local/lnmp/mysql   
  12. --enable-fastcgi   
  13. --enable-fpm  
  14. make && make install  
拷贝php.ini文件,修改权限
 
  
  1. cp php.ini-dist /usr/local/lnmp/php/etc/php.ini   
  2. chown -R www:www /usr/local/lnmn/php  
修改etc/php-fpm.conf文件中的属主
 
  
  1. vi /usr/local/lnmp/php/etc/php-fpm.conf  
将文件中的nobody改为www,并去掉注释

 修改前:-------------------------------------------------------------

 

 修改后:-------------------------------------------------------------

-------------------------------------------------------------

启动并保存启动,查看进程

 
  
  1. echo /usr/local/lnmp/php/sbin/php-fpm start >> /etc/rc.local  
  2. /usr/local/lnmp/php/sbin/php-fpm start  
  3. ps -aux | grep php   

-------------------------------------------------------------

-------------------------------------------------------------

六, 整合Nginx和PHP
 
打开Nginx的配置文件,找到下图位置
 

 
  
  1. 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