我们已经准备好了,你呢?

2024我们与您携手共赢,为您的企业形象保驾护航!

最近遇到过几次这种情况:硬件资源有限,但有些开发配置要求比较严格(比如接口配置或者微信公众号的安全域名配置),需要80端口,甚至需要顶级域名。但是服务器的80端口早就被之前上线的应用占用了。

因此我尝试了一些方法并最终解决了访问问题。

需求是只有一个服务器和一个 IP 地址;服务器上运行着多个应用程序,分别运行在不同的端口上。例如:你希望不同的域名解析到 IP 地址的 80 端口,但转发到不同的端口:思路

域名解析为服务器的IP地址,Nginx通过区分主机头来判断请求访问的是哪个应用程序。

相当于门卫带领不同的访客到不同的房间。

最后通过Nginx的配置满足了需求。

目前使用没有任何问题,但是优劣还有待验证。

第一部分:服务端操作1.在Nginx conf中添加

指向第二个应用程序的本地地址。

 upstream mysvr {
      server 127.0.0.1:3009; 
    }

附件是第一份申请的原始文件。

upstream hodorsvr {
      server 127.0.0.1:4000; 
    }

2.在Nginx conf中添加二级域名主机头的监听端口80

注意,在这个例子中,新添加的解析二级域名

将以下内容添加到conf:

server {
        listen       80;
        server_name  mysite.mydomain.com;
        location / {
            proxy_pass http://mysvr;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

添加之后就有2个了,一个用来匹配,一个用来匹配。

附件是另一份原件:

server {
        listen       80;
        server_name  me.com www.me.com;
        location / {
            proxy_pass http://hodorsvr;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

将和添加到conf之后,使用以下命令测试配置文件是否可用,以我自己的为例:

/usr/local/webserver/nginx/sbin/nginx -t

通过后,重启nginx。

/usr/local/webserver/nginx/sbin/nginx -s reload

先检查原来的域名访问是否和以前一样。

请注意,您可以在测试之前清除 DNS 缓存。

如果您使用的是 Mac,请使用以下命令:

sudo dscacheutil -flushcache

第二部分:域名经销商运营

在域名经销商处(您购买域名的地方),为解析到该IP的新域名(二级域名)添加A记录。

第三部分:航天业务运营

对于一般的服务器来说,该信息解析后即可生效,不需要主机商端进行其他操作。

但如果域名提供商是西部数据,并且空间是需要在中国注册的空间,那么您需要:

第四部分:最终确认

清除 DNS 缓存。

如果您使用的是 Mac,请使用以下命令:

sudo dscacheutil -flushcache

然后用它来查看你的两个域名是否指向你的服务器的IP。

然后通过不同的域名访问,看是否通向不同的应用程序。

~ 完 ~

參考

从这些文章中受益:

Nginx实现多个站点使用一个端口(配置Nginx虚拟主机

Nginx一个端口多域名服务解决方案

帖子:如何将二级域名指向同一IP地址的不同端口

二维码
扫一扫在手机端查看

本文链接:https://by928.com/2964.html     转载请注明出处和本文链接!请遵守 《网站协议》
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。

项目经理在线

我们已经准备好了,你呢?

2020我们与您携手共赢,为您的企业形象保驾护航!

在线客服
联系方式

热线电话

13761152229

上班时间

周一到周五

公司电话

二维码
微信
线