在nginx中如何设置三级域名

问题描述

通过配置nginx可以设置一个ip地址下面通过不同的端口访问不同的web应用,但是时间长了之后端口号和应用之间的关系就很模糊了。

http://120.79.79.xx:9001 和foreign.xxx.xin 虽然这两个网址都是指向同一个网站,但是后者显然望文生义,比前者好很多。同时在网站SEO中,后者也比前者的权重更高。

基本知识

顶级域名:.com .cn

二级域名:baidu.com sina.com ,这其中baidu 和sina就是二级域名

三级域名:zhidao.baidu.com 其中zhidao就是三级域名

基本步骤

  • 设置地址解析

  • 配置nginx 监听

  • 配置nginx 跳转

创建地址解析

笔者使用的阿里云,登录到阿里云后台后,新增a记录,将三级域名名称填入到主机记录中,具体填写方法可以参考下图

在nginx中如何设置三级域名

在nginx中如何设置三级域名

配置nginx

修改 /etc/nginx/sites-aviablable中的default 文件,完整代码如下:

server {   listen 80 default_server;   listen [::]:80 default_server;   root /var/www/html/wordpress;   index index.php index.html index.htm index.nginx-debian.html;    server_name www.xxxx.xin;    location / {     try_files $uri $uri/ =404;   }   location ~ .php$ {     include snippets/fastcgi-php.conf;     fastcgi_pass unix:/run/php/php7.0-fpm.sock;   }   location ~ /.ht {     deny all;   } } #服务2 server {   listen 80;   server_name foreign.xxx.xin;   location / {     proxy_pass http://120.79.xx.xx:9000/;   } }

两个服务都是监听的同一个端口80,但是服务2 的server_name 和新设置的地址解析保持一致。然后设定proxy_pass 将80端口获取到的信息转发到9000端口。

© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享