nginx实现映射多个域名和负载均衡
当前我有2个网站,都需要部署上去,但是无奈,云服务只有一台,在买一台的话就又太费钱,所以利用了nginx的多域名配置,从而实现利用一个 ip 访问不同的域名,也节省了开支
配置方法也相对比较简单,在nginx.conf配置文件中 配置多个server 即可
user nobody;
worker_processes 4;
events{
worker_connections 1024;
}
http{
upstream xd-project{
server 192.168.1.100;
server 192.168.1.101;
}
#第一个server
server{
listen 80;
server_name huashuku.top www.huashuku.top;
location / {
proxy_pass http://xd-project;
}
location ~ .* {
proxy_pass http://xd-project;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
upstream bbs-project{
server 192.168.1.102;
}
#第二个server
server{
listen 80;
server_name bbs.huashuku.top;
location / {
proxy_pass http://bbs-project;
}
location ~ .* {
proxy_pass http://bbs-project;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
}
在代码中我们可以看到第一个server中域名为:www.huashuku.top 和 huashuku.top
第二个server中的域名为 bbs.huashuku.top
其中,upstream是实现负载均衡功能的属性
location 是为了解决样式加载不出来的功能,
然后我们分别ping一下这三个域名,发现这三个ip都是一样的
然后在浏览器访问其中的2个域名(其中有2个域名同时指向了一个网站,所以我们只测试不同的网站即可)
先访问 www.huashuku.top 这是个柔情恋爱话术库的网站
我们在来访问下 bbs.huashuku.top 可以看到这是个柔情恋爱论坛的网站
好了。 到这一步,我们要实现的功能就实现啦