nginx配置域名、反向代理、负载均衡

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/h273979586/article/details/82559270

监听不同的端口

nginx默认商品为80端口,如果配置文件中有一个server服务,如果需要多个把下面server复制多个就可以,监听不同的端口更改相应配置即可

server {
        listen       80;  # 监听端口号,默认80
        server_name  localhost;   # 监听IP

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {     # 返回根目录
            root   html;    # 返回根目录下的html目录
            index  index.html index.htm;  # 显示相应的html
        }
        
        error_page   500 502 503 504  /50x.html;  # 监听错误信息
        location = /50x.html {
            root   html;
        }
        
    }

监听不同的域名

假设现在www.test.com和www.test1.com 都需要访问同一个html,我们需要把两个域名映射到同一个html文件。
需要在本地host文件最下方添加:

IP地址   www.test1.com
IP地址   www.test.com

www.test.com名域名,当在浏览中输入www.test.com会自动找相应IP地址。

修改nginx配置文件,把nginx安装目录下的html再复制一份,修改一下html显示内容。

# 监听www.test.com域名
server {
        listen       80;  # 监听端口号,默认80
        server_name  www.test.com;   # 改为监听的域名

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {     # 返回根目录
            root   html-test;    # 返回根目录下的html目录
            index  index.html index.htm;  # 显示相应的html
        }
        
        error_page   500 502 503 504  /50x.html;  # 监听错误信息
        location = /50x.html {
            root   html;
        }
        
    }
    
# 监听www.test1.com域名
server {
        listen       80;  # 监听端口号,默认80
        server_name  www.test1.com;   # 改为监听的域名

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {     # 返回根目录
            root   html-test1;    # 返回根目录下的html目录
            index  index.html index.htm;  # 显示相应的html
        }
        
        error_page   500 502 503 504  /50x.html;  # 监听错误信息
        location = /50x.html {
            root   html;
        }
        
    }

在浏览中输入www.test.com和www.test1.com看到的是两个不同的html。

反向代理

同样在host文件配置域名和IP映射关系,例如:
IP地址 www.sina.com
启动tomcat端口为默认的8080

upstream sina{ # 地址为tomcat中的地址
		server IP:8080;
	}
	server {
        listen       80;
        server_name  www.sina.com;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            proxy_pass   http://sina; # 他会找upstream 的sina中的地址
            index  index.html index.htm;
        }
        
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
        
    }

当我们输入www.sina.com时候它就找“proxy_pass http://sina;”,然后又去upstream的sina中找最终地址,页面跳转到tomcat下指定的页面。

负载均衡

在反向代理已经完成的前提下更改,现在sina有两台服务器,我们输入域名该怎么跳转呢?
只需要在upstream中再加一个server就可以了

upstream sina{ # 地址为tomcat中的地址
		server IP:8080 weight=2; # 权重(默认为1,每个服务器轮流访问),权重越大访问越多
		server IP:8081; # 负载均衡
	}
	server {
        listen       80;
        server_name  www.sina.com;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            proxy_pass   http://sina; # 他会找upstream 的sina中的地址
            index  index.html index.htm;
        }
        
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
        
    }

猜你喜欢

转载自blog.csdn.net/h273979586/article/details/82559270