nginx实现映射多个域名和负载均衡

发布时间:2022-03-01 13:27:16 作者:yexindonglai@163.com 阅读(1117)

当前我有2个网站,都需要部署上去,但是无奈,云服务只有一台,在买一台的话就又太费钱,所以利用了nginx的多域名配置,从而实现利用一个 ip 访问不同的域名,也节省了开支

 

配置方法也相对比较简单,在nginx.conf配置文件中 配置多个server 即可

  1. user nobody;
  2. worker_processes 4;
  3. events{
  4. worker_connections 1024;
  5. }
  6. http{
  7. upstream xd-project{
  8. server 192.168.1.100;
  9. server 192.168.1.101;
  10. }
  11. #第一个server
  12. server{
  13. listen 80;
  14. server_name huashuku.top www.huashuku.top;
  15. location / {
  16. proxy_pass http://xd-project;
  17. }
  18. location ~ .* {
  19. proxy_pass http://xd-project;
  20. proxy_set_header Host $http_host;
  21. proxy_set_header X-Real-IP $remote_addr;
  22. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  23. }
  24. }
  25. upstream bbs-project{
  26. server 192.168.1.102;
  27. }
  28. #第二个server
  29. server{
  30. listen 80;
  31. server_name bbs.huashuku.top;
  32. location / {
  33. proxy_pass http://bbs-project;
  34. }
  35. location ~ .* {
  36. proxy_pass http://bbs-project;
  37. proxy_set_header Host $http_host;
  38. proxy_set_header X-Real-IP $remote_addr;
  39. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  40. }
  41. }
  42. }

 

在代码中我们可以看到第一个server中域名为:www.huashuku.tophuashuku.top

第二个server中的域名bbs.huashuku.top

其中,upstream是实现负载均衡功能的属性

location 是为了解决样式加载不出来的功能,

然后我们分别ping一下这三个域名,发现这三个ip都是一样的

然后在浏览器访问其中的2个域名(其中有2个域名同时指向了一个网站,所以我们只测试不同的网站即可)

先访问 www.huashuku.top   这是个柔情恋爱话术库的网站

 

我们在来访问下 bbs.huashuku.top  可以看到这是个柔情恋爱论坛的网站

好了。 到这一步,我们要实现的功能就实现啦

关键字Nginx