在nginx中设置三级域名

7次阅读

共计 897 个字符,预计需要花费 3 分钟才能阅读完成。

问题描述
通过配置 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 修改 /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 端口。

正文完
 0