Centos nginx负载均衡实现
时间:2014-05-03 19:49 来源:linux.it.net.cn 作者:it
一、拓扑
二、安装软件
wget http://nginx.org/download/nginx-1.0.11.tar.gz
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.21.tar.gz
1、安装pcre
tar zxvf pcre-8.21.tar.gz
cd pcre-8.21
./configure
make && make install
2、安装nginx
tar zxvf nginx-1.0.11.tar.gz
cd nginx-1.0.11
useradd -s /sbin/nologin www
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
make
make install
三、配置nginx
cd /usr/local/nginx/
cp nginx.conf nginx.conf.bak
vi nginx.conf
###############################################################################
user www www;
worker_processes 1;
error_log /usr/local/nginx/logs/nginx_error.log crit;
pid /usr/local/nginx/nginx.pid;
worker_rlimit_nofile 51200;
##############################################################################
events{
use epoll;
worker_connections 51200;
}
##############################################################################
http{
include mime.types;
default_type application/octet-stream;
sendfile on;
tcp_nopush on;
keepalive_timeout 60;
tcp_nodelay on;
##############################################################################
upstream 192.168.1.250 {
server 192.168.1.251;
server 192.168.1.252;
}
##############################################################################
server
{
listen 80;
server_name www.test.com *.test.com;
location / {
proxy_pass http://192.168.1.250;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /nginx_status {
stub_status on;
access_log off;
allow 192.168.1.253;
deny all;
}
###############################################################################
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 /usr/local/nginx/logs/nginx.log www_test_com;
}
}
################################################################################
四、测试配置是否正常
[root@linux-1 conf]# /usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
############################以上说明配置正确###################
五、启动和停止nginx负载均衡器
启动:
ulimit -SHn 51200
/usr/local/nginx/sbin/nginx
停止:
killall -9 nginx ####注意nginx可以写脚本形式让它启动停止
六、测试
web1-------->ip:192.168.1.251------------>index.html------------->the is web1
web2-------->ip:192.168.1.252------------>index.html------------->the is web2
测试结果:
七、简单的使用监控模块(没有像LVS的ipvsadm强大,只是简单的查看而已)
http://192.168.1.250/nginx_status
##########################到些简单的负载配置完成#######################
八、简单讲解配置文件(讲解有错误请指教):
worker_processes 1; ###一般配置跟CPU的数量一样
error_log /usr/local/nginx/logs/nginx_error.log crit;###nginx错误日志使用
use epoll;###epoll模式
worker_connections 51200; ###每个进程最大连接数51200个
upstream 192.168.1.250 {
server 192.168.1.251;
server 192.168.1.252;
} ###############这个就是负载了,下面的就是后端的源服务器
location / {
proxy_pass http://192.168.1.250;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}##########后端源Web服务器通过X-Forwarded-For获取用户真实IP地址
location /nginx_status {
stub_status on;
access_log off;
allow 192.168.1.253;
deny all;
}############这个就是简单监控nginx的状态
本文出自 “游造技术博客” 博客,请务必保留此出处http://youzao.blog.51cto.com/3946111/751891
(责任编辑:IT)
一、拓扑
二、安装软件
wget http://nginx.org/download/nginx-1.0.11.tar.gz 1、安装pcre
tar zxvf pcre-8.21.tar.gz 2、安装nginx
tar zxvf nginx-1.0.11.tar.gz 三、配置nginx
cd /usr/local/nginx/
vi nginx.conf
##############################################################################
location / { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
############################################################################### '"$status" $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
} 四、测试配置是否正常
[root@linux-1 conf]# /usr/local/nginx/sbin/nginx -t ############################以上说明配置正确################### 五、启动和停止nginx负载均衡器 启动:
ulimit -SHn 51200 停止: killall -9 nginx ####注意nginx可以写脚本形式让它启动停止 六、测试 web1-------->ip:192.168.1.251------------>index.html------------->the is web1 web2-------->ip:192.168.1.252------------>index.html------------->the is web2 测试结果:
七、简单的使用监控模块(没有像LVS的ipvsadm强大,只是简单的查看而已) http://192.168.1.250/nginx_status
##########################到些简单的负载配置完成#######################
八、简单讲解配置文件(讲解有错误请指教):
worker_processes 1; ###一般配置跟CPU的数量一样
use epoll;###epoll模式
upstream 192.168.1.250 {
location / { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
location /nginx_status { 本文出自 “游造技术博客” 博客,请务必保留此出处http://youzao.blog.51cto.com/3946111/751891 (责任编辑:IT) |