首页 > 运维 > nginx > 正文

nginx怎么配置二级域名

王林
发布: 2023-05-27 17:37:29
转载
1990 人浏览过

我的vps挂了三个服务, 分别是:

  1. wordpress搭建的博客服务, 运行于8000端口, 访问方式 http://fangyuanxiaozhan.com:8000

  2. gogs搭建的git服务, 运行于10080端口, 访问方式 http://fangyuanxiaozhan.com:10080

  3. nextcloud搭建的网盘服务, 运行于8080端口, 访问方式 http://fangyuanxiaozhan.com:10080

我的需求:

  1. 1.访问博客服务时, 直接输入 http://fangyuanxiaozhan.com

  2. 访问git服务时, 直接输入 http://git.fangyuanxiaozhan.com

  3. 访问网盘服务时, 直接输入 http://cloud.fangyuanxiaozhan.com

实现的方法

1、到托管域名的网站, 添加dns解析, 我的域名 fangyuanxiaozhan.com 托管在阿里云, 我的做法是登录 https://dns.console.aliyun.com/#/dns/domainlist , 添加二级记录

nginx怎么配置二级域名 

2、我使用的是centos7, nginx配置文件的默认位置为 /etc/nginx/nginx.conf , 有意思的是, /etc/nginx/nginx.conf 内引入了 配置文件夹 /etc/nginx/conf.d , 也就是我们可以把 /etc/nginx/nginx.conf 中的一些默认配置注释掉, 直接在文件夹 /etc/nginx/conf.d 中配置多个独立的配置文件.

nginx怎么配置二级域名 

/etc/nginx/nginx.conf 的配置

# for more information on configuration, see:
#  * official english documentation: http://nginx.org/en/docs/
#  * official russian documentation: http://nginx.org/ru/docs/

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

# load dynamic modules. see /usr/share/nginx/readme.dynamic.
include /usr/share/nginx/modules/*.conf;

events {
  worker_connections 1024;
}

http {
  log_format main '$remote_addr - $remote_user [$time_local] "$request" '
           '$status $body_bytes_sent "$http_referer" '
           '"$http_user_agent" "$http_x_forwarded_for"';

  access_log /var/log/nginx/access.log main;

  sendfile      on;
  tcp_nopush     on;
  tcp_nodelay     on;
  keepalive_timeout  65;
  types_hash_max_size 2048;

  include       /etc/nginx/mime.types;
  default_type    application/octet-stream;

  include /etc/nginx/conf.d/*.conf;

}
登录后复制

注意上述配置文件的最后一行, include /etc/nginx/conf.d/*.conf; 保证了 /etc/nginx/conf.d/ 下,所有以.conf结尾的配置文件, 都会被主配置文件 nginx.conf 引入并生效

/etc/nginx/conf.d/ 下面需要新建三个文件

nginx怎么配置二级域名

blog.conf (实现8000端口映射到80端口, 不使用二级域名)

server { 
  listen 80;
  server_name fangyuanxiaozhan.com;

  location / {
    proxy_set_header  x-real-ip $remote_addr;
    proxy_set_header  host   $http_host;
    proxy_pass     http://0.0.0.0:8000;
  }
}
登录后复制

blog.conf实现了fangyuanxiaozhan.com:8000映射到 fangyuanxiaozhan.com

git.conf (实现10080端口映射到80端口, 使用二级域名 git )

server { 
  listen 80;
  server_name git.fangyuanxiaozhan.com;

  location / {
    proxy_set_header  x-real-ip $remote_addr;
    proxy_set_header  host   $http_host;
    proxy_pass     http://0.0.0.0:10080;
  }
}
登录后复制

git.conf实现了fangyuanxiaozhan.com:10080映射到 git.fangyuanxiaozhan.com

nc.conf (实现10080端口映射到80端口, 使用二级域名 cloud )

server { 
  listen 80;
  server_name cloud.fangyuanxiaozhan.com;

  location / {
    proxy_set_header  x-real-ip $remote_addr;
    proxy_set_header  host   $http_host;
    proxy_pass     http://0.0.0.0:8080;
  }
}
登录后复制

git.conf实现了fangyuanxiaozhan.com:8080映射到 cloud.fangyuanxiaozhan.com

重启nginx使配置生效

关闭nginx

sudo $(which nginx) -s stop
登录后复制

开启nginx

sudo $(which nginx)
登录后复制

效果展示

nginx怎么配置二级域名 

nginx怎么配置二级域名 

nginx怎么配置二级域名 

以上是nginx怎么配置二级域名的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:yisu.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!