美文网首页
使用NGINX将二级域名解析到服务器指定端口

使用NGINX将二级域名解析到服务器指定端口

作者: SeanCheney | 来源:发表于2023-01-07 22:12 被阅读0次

    最近用Python做了个接口服务,部署在了300端口上。而后,又想将一个二级域名直接解析到300端口上,这时候就需要使用神器NGINX了。此前并没用过NGINX,记录一下。

    使用这个方法,就可以为服务器上的多个接口服务安排不同的域名了,即将多个域名解析到服务器的不同端口。

    1、首先在Ubuntu上安装NGINX

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

    apt install nginx
    

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

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

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

    3、使用NGINX进行端口解析

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

    4、编写配置文件

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

    server {              
        listen 80;    
        server_name books.ireading.com; 
        
        location / {        
            proxy_pass http://127.0.0.1:300;
        } 
    }
    

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

    books.ireading.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:80查看一下,原来是Apache已经占用80端口了(Apache和NGINX这么相爱相杀么TT)。此时,可以用sudo service apache2 stop关闭Apache,NGINX就正常启动了。

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

    相关文章

      网友评论

          本文标题:使用NGINX将二级域名解析到服务器指定端口

          本文链接:https://www.haomeiwen.com/subject/feljcdtx.html