一、安装nginx

监控检查的安装:https://github.com/yaoweibin/nginx_upstream_check_module

编译参数

./configure \
--prefix=/opt/nginx \
--user=nginx \
--group=nginx \
--conf-path=/opt/nginx/conf/nginx.conf \
--error-log-path=/opt/nginx/log/error.log \
--http-log-path=/opt/nginx/log/access.log \
--http-client-body-temp-path=/opt/nginx/client/ \
--http-proxy-temp-path=/opt/nginx/proxy/ \
--http-fastcgi-temp-path=/opt/nginx/fcgi/ \
--http-uwsgi-temp-path=/opt/nginx/uwsgi \
--http-scgi-temp-path=/opt/nginx/scgi --with-pcre \
--with-http_ssl_module \
--with-http_flv_module \
--with-http_gzip_static_module \
--with-http_stub_status_module \
--with-http_realip_module \
--pid-path=/opt/nginx/nginx.pid \
--with-file-aio --with-http_image_filter_module \
--add-module=/opt/nginx_upstream_check_module-master \        # 健康检查的模块
--with-stream   # tcp 协议的模块

 

1)准备2台服务器,环境一样,同时执行

rpm -ivh http://mirrors.aliyun.com/epel/epel-release-latest-6.noarch.rpm
yum install nginx -y
vim /etc/sysconfig/iptables  添加80端口
/etc/init.d/iptables restart
nginx  启动
[root@nginx-server nginx]# ps -ef|grep nginx
root       1439      1  0 19:48 ?        00:00:00 nginx: master process nginx
nginx      1440   1439  0 19:48 ?        00:00:00 nginx: worker process
root       1644   1325  0 20:10 pts/0    00:00:00 grep nginx

centos6 搭建nginx实现负载均衡

二、修改默认访问页

1)关键配置文件的路径

/usr/share/nginx   nginx的前端配置信息
/etc/nginx       nginx的相关配置脚本文件

2)nginx的重要命令

nginx -t               检查语法
nginx                  启动
nginx -s reload        平滑重启

3)修改其中一个的默认主页,便于观察实现负载均衡

[root@nginx-server ~]# cat /usr/share/nginx/html/index.html
I am 192.168.1.29

4)nginx的重点配置文件

http {
    include             mime.types;
    default_type        application/octet-stream;
    sendfile            on;
    keepalive_time      65;
    server {
        listen          80;  # 192.168.1.29:80
        server_name     www.abcdefg.org;
        location / {
            root        html/www;
            index       index.html index.htm;
        }
    }
}

一个server标签则是一个标签

ip映射:192.168.1.29  www.abcdefg.org

三、修改配置文件,实现nginx代理

1)nginx 代理测试(访问外网实质指向内网服务器)。。vhosts是已经做好的代理文件

[root@admin vhosts]# cat xueying.conf 
server {
    listen      10051;
    server_name  110.110.110.110;
    charset utf8;
     
    location / {
        proxy_pass        http://192.168.1.222;
    }
}

1.1)代理tcp协议

stream {

    upstream cloudsocket {
       hash $remote_addr consistent;
      # $binary_remote_addr;
       server 10.0.5.14:5901 weight=5 max_fails=3 fail_timeout=30s;
    }
    server {
       listen 5901;#数据库服务器监听端口
       proxy_connect_timeout 10s;
       proxy_timeout 300s;#设置客户端和代理服务之间的超时时间,如果5分钟内没操作将自动断开。
       proxy_pass cloudsocket;
    }
}

 

2)以nginx服务代理nginx为例

[root@nginx-server conf.d]# cat test_server.conf 
upstream 192.168.1.29 {
      server  192.168.1.25:80;
}

server {
    listen      80;
    server_name  192.168.1.29;
    charset utf8;
    
    location / {
        proxy_pass        http://192.168.1.29;
        proxy_set_header  Host            $host;
        proxy_set_header  X-Real-IP        $remote_addr;
        proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;
    }
}

 访问 192.168.1.29 实质指向了192.168.1.25:80

 centos6 搭建nginx实现负载均衡 

 3)以nginx代理Tomcat服务为例

[root@nginx-server conf.d]# cat test_server.conf 
upstream 192.168.1.29 {
      server  192.168.1.40:8080;
}

server {
    listen      80;
    server_name  192.168.1.29;
    charset utf8;
    
    location / {
        proxy_pass        http://192.168.1.29;
        proxy_set_header  Host            $host;
        proxy_set_header  X-Real-IP        $remote_addr;
        proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;
    }
}

访问 192.168.1.29 实质指向了192.168.1.40:8080

centos6 搭建nginx实现负载均衡

四、实现nginx负载均衡

1)测试情况一。nginx和tomcat的负载均衡

[root@nginx-server conf.d]# cat test_server.conf 
upstream 192.168.1.29 {
      server  192.168.1.25:80;
      server  192.168.1.40:8080;
}

server {
    listen      80;
    server_name  192.168.1.29;
    charset utf8;
    
    location / {
        proxy_pass        http://192.168.1.29;
        proxy_set_header  Host            $host;
        proxy_set_header  X-Real-IP        $remote_addr;
        proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;
    }
}

 centos6 搭建nginx实现负载均衡

centos6 搭建nginx实现负载均衡

location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_pass http://127.0.0.1:6969;
      client_max_body_size    20m;
    }
location配置

相关文章: