nginx又搞了搞,不过这破玩意简单确实简单,有时候忘记了也干着急.
nginx编译安装
yum install openssl-devel pcre-devel -y
useradd -u520 -M -s /sbin/nologin
cd /usr/local/src
sz nginx-1.6.2.tar.gz
tar xf nginx-1.6.2.tar.gz
cd nginx-1.6.2
./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-http_ssl_module
make && make install
/usr/local/nginx/sbin/nginx
简化nginx.conf,空格和#开头的都去了.
egrep -v "^$|#" nginx.conf.default > nginx.conf
server标签里改改
server {
listen 80;
server_name www.example.com; #配个server_name
location / {
#干掉
}
}
查阅nginx.org的proxy模块
upstream web-pools { #给这组服务器取个名字
#ip_hash
server 192.168.14.130:80 weight=1 max_fails=1 fail_timeout=60s; #后端80,一次down就剔除.即使恢复后60s才可以在加入.
server 192.168.14.131:80 weight=1;
#server 192.168.14.131:8080 weight=1 backup; #备份节点
}
#算法: ip_hash和wrr算法.
server {
listen 80;
server_name www.example.com;
location / {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr; #为了后端能看到真实客户的ip.
proxy_pass http://web-pools; #抛给后端服务器
}
}
nginx status重新添加个server标签.编译装的时候已经装了--with-http_stub_status_module
server {
listen 80;
server_name 192.168.14.128;
location /status {
stub_status on;
access_log /opt/lb01-status.log;
allow 192.168.14.132;
deny all;
}
}
验证: