Nginx 目前来说已经很流行了,所以打算把现有的Apache先替换一部分,在批量部署和管理方面都要考虑到。因为nginx的所有模块都是静态编译的不像apache那样可以动态添加模块,所以在一开始就要考虑清楚需求,结合现在很火的LAMP模式,其中P最常见的是PHP,目前较好的FastCGI的管理器有spaw-fcgi和php-fpm,而php老版本都是需要源码安装通过打补丁的方式把php-fpm打进去,spaw-fcgi是lighttpd默认的FastCGI管理器,因为牵扯到源码安装,当前的软件包版本在大规模部署起来不是很方便,但是还是有解决办法的。
Nginx安装方法:
1 apt网络安装
修改源列表
vi /etc/apt/sources.list
#加入以下源
deb http://nginx.org/packages/debian/ squeeze nginx
deb-src http://nginx.org/packages/debian/ squeeze nginx
更新源列表并通过apt安装nginx
apt-key add nginx_signing.key
apt-get update
apt-get install nginx
2 源码编译安装
先安装编译环境, 由于nginx在以后的使用中会需要用到perl正则、压缩算法、SSL等特性,所以我们需要提前安装相关库文件。
apt-get install build-essential
apt-get install libpcre3 libpcre3-dev zlib1g zlib1g-dev openssl libssl-dev libssl0.9.8
下载最新的稳定版nginx
wget http://nginx.org/download/nginx-1.2.3.tar.gz
解压查看编译选项
tar zxvf nginx-1.2.3.tar.gz
cd nginx-1.2.3
#--help可以看到可以配置的参数
./configure --help
查看编译可选的配置参数(以下只是一些常用的配置项):
--prefix=PATH nginx的默认安装路径,没有指定的话。默认为/usr/local/nginx
--sbin-path=PATH nginx可执行命令文件的路径,没有指定的话,默认/sbin/nginx
--conf-path=PATH nginx配置文件路径,没有指定的话,默认为/conf/nginx.conf
--error-log-path=PATH 在nginx.conf中没有使用error_log指定错误日志路径时,默认/logs/error.log
--http-log-path=PATH 定义被访问文件的日志存放路径,如果在nginx.conf中没有使用access_log指定,默认为/logs/access.log
--pid-path=PATH 当在nginx.conf中没有使用pid指定pid文件路径时,默认为/logs/nginx.pid
--lock-path=PATH 锁文件存放路由,如果在nginx.conf中没有指定,则默认为/logs/nginx.lock
--user=USER 如果在Nginx.conf中没有使用user定义进程运行的属主,则默认为nobody
--group=GROUP 如果在Nginx.conf中没有使用user定义进程运行的属组,则默认为nobody
--builddir=DIR set build directory
--with-rtsig_module 使用rtsig模式
--with-select_module 使用select模式,如果当前平台没有其他有效模式,则默认编译
--without-select_module 禁止select模式
--with-poll_module 使用poll模式,如果当前平台没有其他有效模式,则默认编译
--without-poll_module 禁止poll模式
--with-fil