nginx配置二级域名

作者: zhaoolee | 来源:发表于2018-08-05 05:57 被阅读168次

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

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

我的需求:

实现的方法

  1. 到托管域名的网站, 添加DNS解析, 我的域名fangyuanxiaozhan.com托管在阿里云, 我的做法是登录https://dns.console.aliyun.com/#/dns/domainList, 添加二级记录
  1. 我使用的是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)

效果展示



如果你也希望搭建以上服务, 可以参考我的往期文章:

自从使用了docker, 发现很多服务的搭建都是很简单的, 但随着服务的增多, 二级域名的作用性就显现出来了, nginx可以很方便的解决二级域名的配置问题,掌握了nginx配置二级域名的技术, 我们就可以优雅的开启各种服务了~

相关文章

  • 二级域名配置步骤

    转自二级域名配置步骤。 这篇文章主要介绍在配置二级域名时候的步骤,主要涉及到nginx、dns的配置,有相同需求的...

  • Nginx配置二级域名

    首先, 需要在域名服务商处配置二级域名, 如阿里万网 配置nginx我买的是digitalocean的服务器

  • nginx配置二级域名

    为了不让域名fangyuanxiaozhan.com闲置, 作者又买了个国内的虚拟主机(VPS)的ip为111.2...

  • nginx配置二级域名

    最近为了练手Vue框架,写了一个博客项目,昨天刚刚把个人博客部署上线,因为前后端分离,所以使用Ajax来请求后端a...

  • Nginx配置二级域名

    一、找到系统Nginx的配置文件 find / -name nginx.conf 我的电脑是在:/etc/ngin...

  • nginx 配置二级域名

    在nginx的配置中,需要在设置server_name的时候添加多个域名,并以空格隔开。 也可以讲域名设置成这个

  • nginx配置二级域名(多级域名)

    nginx配置二级域名(多级域名) 起因 之前在v2看到毒鸡汤,很是喜欢,想着也部署到我的博客上来,域名就用二级域...

  • 问题:nginx 如何处理301 ?

    机器因为无法解决二级域名+端口的问题(不同应用放在不同的端口上)在原来的80端口上增加了一个Nginx配置如下: ...

  • 使用nginx配置二级域名

    最近想把三个项目配在一个服务器上,于是想使用nginx配置二级域名实现。 1.域名添加解析 我的是阿里云的域名,所...

  • 使用nginx配置二级域名

    首先在域名提供商配置域名解析记录 编辑配置文件 修改为以下内容

网友评论

    本文标题:nginx配置二级域名

    本文链接:https://www.haomeiwen.com/subject/fjimvftx.html