无力吐槽阿里工程师的脑回路,好容易弄了个不错的高级Nginx,结果还不提供rpm安装,非得自己编译。

下载地址:http://tengine.taobao.org/download.html

必须提前安装:gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel

如果不想用默认的路径(/usr/local/nging/**)配置时需要预先提供参数:

//配置帮助文档
./configure --help
//设置access log路径
--http-log-path=/var/log/nginx/access.log
//设置error log路径
--error-log-path=/var/log/nginx/error.log
//pid文件路径
--pid-path=/var/log/nginx/nginx.pid
//配置问卷路径
--conf-path=/etc/nginx/nginx.conf
//默认用户和组
--user=nginx --group=nginx 
//使用xxxxxxxxx高级特性
--with-xxxxxxxxx
//使用module_name模块
--add-module=modules/<module_name>

configure过程中如果遇到错误,参考错误日志,安装必要的模块。安装推荐用make&&make install,确保不会装疵。

如果想做成CentOS 7的系统服务,需要创建文件(/lib/systemd/system/nginx.service):

[Unit]
Description=The nginx HTTP and reverse proxy server
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/var/log/nginx/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t
ExecStart=/usr/local/nginx/sbin/nginx -c /etc/nginx/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

最后,做个软链接方便使用

ln -s /usr/local/nginx/sbin/nginx /usr/sbin/nginx