小知识:nginx配置二级域名的示例代码

为了不让域名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 , 添加二级记录

%小知识: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配置二级域名的示例代码-1猿站网-插图

/etc/nginx/nginx.conf 的配置

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# 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配置二级域名的示例代码-2猿站网-插图

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

?
1
2
3
4
5
6
7
8
9
10
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 )

?
1
2
3
4
5
6
7
8
9
10
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 )

?
1
2
3
4
5
6
7
8
9
10
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

?
1
sudo $(which nginx) -s stop

开启nginx

?
1
sudo $(which nginx)

效果展示

%小知识:nginx配置二级域名的示例代码-3猿站网-插图

%小知识:nginx配置二级域名的示例代码-4猿站网-插图

%小知识:nginx配置二级域名的示例代码-5猿站网-插图

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

原文链接:https://www.jianshu.com/p/5be17ed44bfe

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:linux中了minerd之后的完全清理过程(详解)

2023-4-13 5:14:25

建站知识

小知识:初窥Linux 之我最常用的20条命令总结

2023-4-13 5:22:45

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索