由于需要两台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
搞定收工