无力吐槽阿里工程师的脑回路,好容易弄了个不错的高级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