负载均衡
www.s135.com 和 blog.s135.com 域名均指向 Nginx 所在的服务器IP。 用户访问http://www.s135.com,将其负载均衡到192.168.1.2:80、192.168.1.3:80、192.168.1.4:80、192.168.1.5:80四台服务器。 用户访问http://blog.s135.com,将其负载均衡到192.168.1.7服务器的8080、8081、8082端口。 以下为配置文件nginx.conf: 引用 user www www; worker_processes 10; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; #最大文件描述符 worker_rlimit_nofile 51200; events { use epoll; worker_connections 51200; } http { include conf/mime.types; default_type application/octet-stream; keepalive_timeout 120; tcp_nodelay on; upstream www.s135.com { server 192.168.1.2:80; server 192.168.1.3:80; server 192.168.1.4:80; server 192.168.1.5:80; } upstream blog.s135.com { server 192.168.1.7:8080; server 192.168.1.7:8081; server 192.168.1.7:8082; } server { listen 80; server_name www.s135.com; location / { proxy_pass http://www.s135.com; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } log_format www_s135_com '$remote_addr - $remote_user [$time_local] $request ' '"$status" $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /data1/logs/www.log www_s135_com; } server { listen 80; server_name blog.s135.com;
proxy_connect_timeout 1;#防止一台死掉请求很慢
proxy_send_timeout 1;
proxy_read_timeout 1;
location / { proxy_pass http://blog.s135.com; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } log_format blog_s135_com '$remote_addr - $remote_user [$time_local] $request ' '"$status" $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /data1/logs/blog.log blog_s135_com; } }
附:Nginx 的安装方法可参照《Nginx 0.5.31 + PHP 5.2.4(FastCGI)搭建可承受3万以上并发连接数,胜过Apache 10倍的Web服务器》文章的以下段落(仅做负载均衡,无需支持PHP的安装方法):
二、安装PHP 5.2.4(FastCGI模式) 4、创建www用户和组,以及其使用的目录:
三、安装Nginx 0.5.31 1、安装Nginx所需的pcre库: 2、安装Nginx 3、创建Nginx日志目录 5、启动Nginx
暗夜之中,才见繁星;危机之下,暗藏转机;事在人为,为者常成。