前言
我是在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目录,解压并执行:
但是提示需要C C++编译器的支持,通过光盘,使用RPM包安装GCC,
- cd /tmp
- tar -zxvf pcre-8.10.tar.gz
- cd pcre-8.10
- ./configure
- 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目录,解压并执行
在这里,指定了Nginx的用户,用户组和安装目录。因为www的用户和用户组系统内还没有, 所以,要创建这个用户组和用户,并把/usr/local/lnmp的属主和组指定为www
- 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
- 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包过程差不多,不再列出详细流程命令,只写出安装命令:
五,安装PHP和php-fpm
- 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.ini文件,修改权限
- 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
修改etc/php-fpm.conf文件中的属主
- cp php.ini-dist /usr/local/lnmp/php/etc/php.ini
- chown -R www:www /usr/local/lnmn/php
将文件中的nobody改为www,并去掉注释
- vi /usr/local/lnmp/php/etc/php-fpm.conf
修改前:-------------------------------------------------------------
修改后:-------------------------------------------------------------
-------------------------------------------------------------
启动并保存启动,查看进程
- 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