CentOS下Nginx配置笔记(一)安装准备篇

2008年6月23日 | 标签: , ,

最近都流行这个轻量级的www服务器了,我也赶了一把流行,把服务器上的apache2换了下来。
关于这个东西的具体介绍嘛,请到官网去看吧。

我的配置工作就是将原来服务器上apache2负责的东西全部转换到Nginx上来,可能跟很多人的需求也差不多,所以写出来和大家分享一下。

有几个准备工作需要做一下
1、下载最新的Nginx。
2、编译支持fastcgi的PHP,就是在编译php的时候加上 –enable-fastcgi 和 –enable-force-cgi-redirect,这个不是重点,就不再细说了。
3、下载lighttpd的源代码并编译,后面我们要使用lighttpd的spawn-fcgi这个工具来运行php的fastcgi的守护进程。类似的工具在zeus里面也有提供,至于具体用什么倒不是很绝对。

我们开始编译Nginx,如果你经常编译php、apache之类的软件,可能会对nginx的编译参数有点不习惯,至少我开始就走了一些弯路。

先用nginx的configure脚本看看都有些什么编译参数可选:

  1. ./configure --help | more

我的apache原来安装了这些模块:mod_so, mod_rewrite, mod_ssl,服务器上还要运行perl的cgi程序,运行apache的用户和组都是httpd,参照原来的功能,我使用了如下编译参数:

  1. ./configure --prefix=/usr/local/nginx \
  2. --user=httpd \
  3. --group=httpd \
  4. --with-http_ssl_module \
  5. --with-http_perl_module \

其中有几项要注意的:

–with-pcre Nginx的rewrite功能需要使用pcre库才能工作,而Nginx的编译参数里面的这个选项并不是像常规的那样指定pcre的安装目录,而是指定pcre源代码的目录。
也就是说,如果你的系统路径下已经可以找到pcre的lib和include文件,这个选项可以不指定了。如果你的系统没有安装pcre,那么就指定该选项,Nginx会在编译的时候从你指定的这个目录把pcre编译进来。

–with-openssl
–with-zlib
–with-md5
–with-sha1
这几个选项跟pcre一样,指定的是源代码目录,不是这些类库的安装目录。

我一开始没有看清楚,就按照常规思路去指定目录,走了很多弯路…

编译安装结束以后,把lighttpd的spawn-fcgi拷贝到你觉得舒服的目录,我这里直接拷贝到了/usr/local/nginx/sbin下,然后lighttpd的安装目录就可以直接删除了。

为了更好的控制php fastcgi的运行,我写了个启动脚本,你可以把这个脚本放到/etc/init.d里面,并把php fastcgi注册成为CentOS的服务。

http://ipbfans.org/docs/conf_file/php-fcgi

在使用这个脚本之前,你需要根据自己的实际情况修改里面几个文件的路径,与php fastcgi监听的端口。

  1. chkconfig --add php-fcgi
  2. chkconfig --level 2345 php-fcgi on

以后php fastcgi的进程就会随着系统的启动而启动了,你也可以方便的使用service指令来控制php fastcgi的运行与关闭。

同样,我还写了一个脚本来控制Nginx的启动与停止,你也可以拿来照用,改一下里面的路径即可。
http://ipbfans.org/docs/conf_file/nginx

PR: 0

目前还没有任何评论."