centos下编译安装nginx,并增加nginx_upstream_check_module模块
由于需要两台web服务器,所以想起了要做反向代理,最终选择了nginx作为反向代理服务器,为了可以实时监控后端服务器的监控状况,所以需要在编译nginx的时候给nginx打上nginx_upstream_check_module补丁
首先下载nginx_upstream_check_module补丁文件
wget https://github.com/yaoweibin/nginx_upstream_check_module/archive/master.zip
下载后解压文件
unzip nginx_upstream_check_module-master.zip
将解压文件移动到root目录
mv ./nginx_upstream_check_module-master /root/health
然后下载nginx编译包,可以去官网下载,下载完毕后
tar -zxvf nginx-1.3.15.tar.gz
然后进入nginx-1.3.15 给nginx打上nginx_upstream_check_module补丁
patch -p1 < /root/health/check_1.2.6+.patch
然后就可以编译安装nginx服务器了
在编译之前请先解决包的依赖关系,可以yum安装一下
我的编译命令如下:
./configure --prefix=/usr --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.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_stub_status_module --with-http_gzip_static_module --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/ --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi --http-scgi-temp-path=/var/tmp/nginx/scgi --with-pcre --add-module=/root/health
make && make install
这样编译完成的nginx就可以对后端的服务器健康情况进行监控了
附带nginx启动关闭脚本
vim /etc/init.d/nginx
#!/bin/bash
#
#chkconfig: - 85 15
#description: Nginx is a World Wide Web server.
#processname: nginx
nginx=/usr/local/nginx/sbin/nginx
conf=/usr/local/nginx/conf/nginx.conf
case $1 in
start)
echo -n "Starting Nginx"
$nginx -c $conf
echo " done"
;;
stop)
echo -n "Stopping Nginx"
killall -9 nginx
echo " done"
;;
test)
$nginx -t -c $conf
;;
reload)
echo -n "Reloading Nginx"
ps auxww | grep nginx | grep master | awk '{print $2}' | xargs kill -HUP
echo " done"
;;
restart)
$0 stop
$0 start
;;
show)
ps -aux|grep nginx
;;
*)
echo -n "Usage: $0 {start|restart|reload|stop|test|show}"
;;
esac
增加该文件的执行权限
chmod +x /etc/init.d/nginx
将nginx增加到启动列表中
chkconfig --add nginx
让nginx随机启动
chkconfig --level 35 nginx on
搞定收工