评论

收藏

[Nginx] 在nginx中设置三级域名的方法示例

web服务器 web服务器 发布于:2021-08-11 14:35 | 阅读数:589 | 评论:0

问题描述
通过配置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记录,将三级域名名称填入到主机记录中,具体填写方法可以参考下图
DSC0000.png

DSC0001.png

配置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端口。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://segmentfault.com/a/1190000017401967

关注下面的标签,发现更多相似文章