Nginx配置将二级域名解析到Linux服务器指定端口

Posted 夏威夷8080

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx配置将二级域名解析到Linux服务器指定端口相关的知识,希望对你有一定的参考价值。

最近几天用Python写了个接口后台服务,把它部在了服务器的300端口上。之后,我又要把一个二级域名解析到该服务器的300端口上,此时就要用到NGINX了。因为之前对NGINX的使用并不熟悉,特此记录下来,方便回顾。

用了该方法,就能为服务器上的多个不同接口服务绑定不同的域名了,这也就是把多个域名解析到服务器的不同端口上。

1、首先在Linux上安装NGINX


命令很简单,使用apt install进行安装:
apt install nginx

安装好之后,使用命令`systemctl status nginx`可以查看NGINX的运行状态,如下所示:

 

2、将域名解析到服务器IP  

因为使用的是腾讯云,在腾讯云后台手动将域名解析到域名,这步较简单,前提是要进行域名备案(后来还查到,其实阿里云是有隐形URL这个功能的,比腾讯云更方便,腾讯云就不具备端口解析的功能)。


3、使用NGINX进行端口解析


NGINX的配置文件位于路径/etc/nginx,可以看到这个路径下是有一个配置文件nginx.conf的,这是NGINX的总配置文件。打开这个文件看一看,内容并不长,比较关键的是如下两行,它告诉我们还可以将文件放入conf.d和sites-enabled这两个文件夹下。我就按照以前的习惯,将自己的配置文件放到conf.d里吧。

 

4、编写配置文件


使用命令vim ireading.conf创建配置文件并编写如下代码,并:wq退出编辑:

server               
    listen 80;    
    server_name sw.dengshanshi.com;
    
    location /         
        proxy_pass http://127.0.0.1:300;
    


listen 80表示NGINX监听的是80端口,80端口是默认的网络端口;

sw.dengshanshi.com就是在华为云上配置的二级域名;

proxy_pass http://127.0.0.1:300表示代理的端口是本机的300端口。

之后,使用nginx -t查看配置文件的语法是否正确,如果正确的话,应该如下所示:

 

然后,为了使新配置文件生效,需要重启NGINX。先用systemctl stop nginx关闭NGINX,再用systemctl start nginx启动NGINX。

我在重启NGINX的时候,发现总是报错,原来是因为80端口已经被占用了。使用命令lsof-i:300查看一下,原来是Apache已经占用80端口了(Apache和NGINX这么相爱相杀么TT)。此时,可以用sudo service apache2 stop关闭Apache,NGINX就正常启动了。

这时候,当打开网址sw.dengshanshi.com,就自动解析到300端口上的Python服务了。

以上是关于Nginx配置将二级域名解析到Linux服务器指定端口的主要内容,如果未能解决你的问题,请参考以下文章

通过Nginx为网站配置二级域名并访问指定项目

利用nginx解析域名到服务器指定服务端口

nginx域名配置虚拟主机

nginx 怎么配置 ip

将两个域名解析到同一台服务器的不同端口

阿里云Linux系统Nginx配置多个域名的方法