版权声明:本文为博主原创文章,未经博主允许不得转载。 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;
}
}