之前了解过nginx+apache前后端搭建高性能WEB服务器,照着文档做了一遍,没问题。
对apache了解不少,但nginx不怎么了解,今天抽空安装配置了一下nginx。小结:
系统环境:RHEL5.4
nginx版本:nginx-1.0.8.tar.gz
./configure
make
make install
编译参数详解:
(摘自http://wiki.nginx.org/NginxChsInstallOptions)
--prefix=<路径> #指定nginx安装路径。如果不指定,默认安装到/usr/local/nginx.
--sbin-path=<路径> #指定nginx可执行文件安装路径。只能安装时指定,如果不指定,默认为/usr/local/nginx/sbin/nginx|<prefix>/sbin/nginx
--conf-path=<路径> #在没有指定-c选项下默认的nginx.conf的路径。如果不指定,默认<prefix>/conf/nginx.conf.
--pid-path=<路径> #在nginx.conf中没有指定pid指令时,默认的nginx.pid的路径,如果此处也没指定,默认为<prefix>/logs/nginx.pid.
--lock-path=<路径> #nginx.lock文件的路径。
--error-log-path=<路径> #在nginx.conf中没有指定error_log指令时,默认的error_log路径,如果此处也没指定,默认为<prefix>/logs/error.log。
--http-log-path=<路径> #在nginx.conf中没指定access_log指令时,默认的access_log路径,如果此处也未指定,默认为<prefix>/logs/access.log
--user=<用户名> #在nginx.conf中没指定用户时,默认的nginx用户,如果此处也未指定,默认为nobody。
--group=<用户组名> #在nginx.conf中没指定用户组时,默认的nginx用户组,如果此处也未指定,默认为nobody。
--builddir=DIR #指定编译的目录
--with-rtsig_module #启用rtsig模块
--with-select_module|--without-select_module #允许或不允许开启select模式,如果configure没有找到合适的模式,比如:kqueue(sun os),epoll(linux kenrel 2.6+),rtsig(实时信号)或者/dev/poll(一种类似select的模式,底层实现与select基本相同,都是采用轮询方法)SELECT模式将是默认安装模式
--with-poll_module|--without-poll_module #允许或不允许开启POLL模式,如果configure没有找到合适的模式,比如:kqueue(sun os),epoll(linux kenrel 2.6+),rtsig(实时信号)或者/dev/poll(一种类似select的模式,底层实现与select基本相同,都是采用轮询方法)POLL模式将是默认安装模式
--with-http_ssl_module #开启HTTP SSL模块,使nginx支持https请求,这个模块需要已经安装Openssl,在debian上是libssl-dev
--with-http_realip_module #启用ngx_http_realip_module
--with-http_addition_module #启用ngx_http_addition_module
--with-http_sub_module #启用--with-http_sub_module
--with-http_dav_module #启用--with-http_dav_module
--with-http_stub_status_module #启用"server status"页面
(更多参数点击:http://wiki.nginx.org/NginxChsInstallOptions)
编译示例:
用于RedHat系发行版(RHEL,CentOS,Fedora).首先安装需求包:
yum install gcc openssl-devel pcre-devel zlib-devel
配置:
./configure
--prefix=/usr \
--sbin-path=/usr/sbin/nginx \
--conf-path=/etc/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--user=nginx \
--group=nginx \
--with-http_ssl_module \
--with-http_flv_module \
--with-http_gzip_static_module \
--http-log-path=/var/log/nginx/access.log \
--http-client-body-temp-path=/var/tmp/nginx/client/ \
--http-proxy-temp-path=/var/tmp/nginx/proxy/ \
--http-fastcgi-temp-path=/var/tmp/nginx/fcgi/
最后编译并安装
make && make install
配置文件:/usr/local/nginx/conf/nginx.conf
user nobody nobody; #使用的用户和组
worker_processes 5; #指定工作衍生进程数