nginx配置二级域名的示例代码

时间:2021-05-19

为了不让域名fangyuanxiaozhan.com闲置, 作者又买了个国内的虚拟主机(VPS)的ip为 111.230.254.173 , 用wordpress开了个博客网站, 由于vps的空间很大, 我就开了个私有网盘服务, 由于日常开发需要用到git, 但又不想公开代码, 我又开了个私有git服务

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

  • WordPress搭建的博客服务, 运行于8000端口, 访问方式 http://fangyuanxiaozhan.com:8000
  • Gogs搭建的git服务, 运行于10080端口, 访问方式 http://fangyuanxiaozhan.com:10080
  • Nextcloud搭建的网盘服务, 运行于8080端口, 访问方式 http://fangyuanxiaozhan.com:10080
  • 我的需求:

  • 1.访问博客服务时, 直接输入 http://fangyuanxiaozhan.com
  • 访问git服务时, 直接输入 http://git.fangyuanxiaozhan.com
  • 访问网盘服务时, 直接输入 http://cloud.fangyuanxiaozhan.com
  • 实现的方法

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

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

    /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/ 下面需要新建三个文件

    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)

    效果展示

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

    声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

    相关文章