|
Nginx负载均衡器的优点许多,简单概括为:
①实现了可弹性化的架构,在压力增大的时候可以临时添加tomcat服务器添加到这个架构里面去;
②upstream具有负载均衡能力,可以自动判断下面的机器,并且自动踢出不能正常提供服务的机器;而Keepalvied可保证单个nginx负载均衡器的有效性,避免单点故障
www.test.com 和 blog.test.com 域名均指向 Nginx 所在的服务器IP。
用户访问http://www.test.com,将其负载均衡到222.73.182.48:80、www.baidu.com:80 两台台服务器。
用户访问http://blog.test.com,将其负载均衡到192.168.0.1服务器的81端口。
以下为配置文件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 mime.types;
default_type application/octet-stream;
keepalive_timeout 120;
tcp_nodelay on;
upstream www.test.com {
server 222.73.182.48:80;
server www.baidu.com:80;
}
upstream blog.test.com {
server 192.168.0.1:81;
}
server
{
listen 80;
server_name www.test.com;
index index.html index.htm index.php;
root /var/html/www;
location / {
proxy_pass http://www.test.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_test_com '$remote_addr - $remote_user [$time_local] $request '
'"$status" $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/www.log www_test_com;
}
server
{
listen 80;
server_name blog.test.com;
index index.html index.htm index.php;
root /var/html/blog;
location / {
proxy_pass http://blog.test.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_test_com '$remote_addr - $remote_user [$time_local] $request '
'"$status" $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/blog.log blog_test_com;
}
server
{
listen 80;
server_name status.test.com;
location / {
stub_status on;
access_log off;
}
}
}
附: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
来源:http://blog.s135.com/post/306/ |
|