nginx配置二级域名

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

为了不让域名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 (实现8080端口映射到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配置二级域名的技术, 我们就可以优雅的开启各种服务了~

目录
相关文章
|
12天前
|
移动开发 前端开发 JavaScript
前端vue2、vue3去掉url路由“ # ”号——nginx配置(一)
前端vue2、vue3去掉url路由“ # ”号——nginx配置
67 0
|
12天前
|
前端开发 JavaScript 应用服务中间件
前端vue2、vue3去掉url路由“ # ”号——nginx配置(二)
前端vue2、vue3去掉url路由“ # ”号——nginx配置
73 0
|
5天前
|
域名解析 存储 缓存
【域名解析DNS专栏】动手实践:手动配置DNS解析记录
【5月更文挑战第22天】本文介绍了DNS解析记录的概念及其手动配置步骤。DNS解析记录是将域名映射到IP地址的数据,常见类型包括A(IPv4)、AAAA(IPv6)和CNAME(别名)。配置步骤包括登录DNS管理平台,添加记录,选择记录类型,填写主机记录和记录值,设置TTL值,并保存。以阿里云为例的A记录配置示例也提供了具体操作。了解这些有助于更好地管理域名。
【域名解析DNS专栏】动手实践:手动配置DNS解析记录
|
6天前
|
负载均衡 前端开发 应用服务中间件
Nginx+Tomcat负载均衡配置_nginx做tomcat的负载均衡成功,但tomcat的css文件400
Nginx+Tomcat负载均衡配置_nginx做tomcat的负载均衡成功,但tomcat的css文件400
|
6天前
|
负载均衡 前端开发 应用服务中间件
Nginx+Tomcat负载均衡配置_nginx做tomcat的负载均衡成功,但tomcat的css文件400(2)
Nginx+Tomcat负载均衡配置_nginx做tomcat的负载均衡成功,但tomcat的css文件400(2)
|
7天前
|
负载均衡 安全 应用服务中间件
nginx配置ssl和反向代理的配置代码
【5月更文挑战第2天】nginx配置ssl和反向代理的配置代码
32 3
|
10天前
|
负载均衡 应用服务中间件 nginx
解决nginx配置负载均衡时invalid host in upstream报错
在Windows环境下,配置Nginx 1.11.5进行负载均衡时遇到问题,服务无法启动。错误日志显示“invalid host in upstream”。检查发现上游服务器列表中,192.168.29.128的主机地址无效。负载均衡配置中,两个服务器地址前误加了"http://"。修正方法是删除上游服务器列表和proxy_pass中的"http://"。问题解决后,Nginx服务应能正常启动。
55 4
解决nginx配置负载均衡时invalid host in upstream报错
|
12天前
|
小程序 应用服务中间件 Linux
【Nginx】微信小程序后端开发、一个域名访问多个服务
【Nginx】微信小程序后端开发、一个域名访问多个服务
25 0
|
12天前
|
应用服务中间件 nginx
nginx配置集群轮训策略
nginx配置集群轮训策略
435 0
|
12天前
|
缓存 网络安全 开发工具
【尝试】域名验证:配置github二级目录下的txt文件
【尝试】域名验证:配置github二级目录下的txt文件
36 2