通过一个例子,教大家用nginx配置负载均衡,一起来了解下。
实现:
www.jb200.com 和 blog.jb200.com 域名均指向 Nginx 所在的服务器IP。
1、用户访问http://www.jb200.com,将其负载均衡到192.168.1.2:80、192.168.1.3:80、192.168.1.4:80、192.168.1.5:80四台服务器。
2、用户访问http://blog.jb200.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.jb200.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.jb200.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.jb200.com;
location / {
proxy_pass http://www.jb200.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_jbxue_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_jbxue_com;
}
server
{
listen 80;
server_name blog.jb200.com;
location / {
proxy_pass http://blog.jb200.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_jbxue_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_jbxue_com;
}
}
二、安装PHP 5.2.13(fastcgi模式)
4、创建www用户和组,以及其使用的目录:
三、安装Nginx 0.8.36
1、安装Nginx所需的pcre库:
2、安装 Nginx
3、创建Nginx日志目录
5、启动Nginx