nginx配置域名

最近遇见了一个好玩的事。我一朋友在同一台服务器上配了安装了多套服务。一套java的项目,还有一套apollo的管理程序。想要通过多个二级域名的方式进行解析。下面就以配置apollo的域名解析为例做个简单记录。

0、前提

已知,我们现在有一个域名 yuming.cn,另外,apollo项目通过docker的方式部署在服务器上,通过ip:8070可以访问

1、域名解析

首先,要有个域名,如果是国内的服务器还要做好备案。然后在域名管理页面做好域名解析。这里我们想通过apollo.host.cn进行访问

2、安装nginx

可以通过包管理工具进行安装。为了偷懒,我们这里使用了宝塔管理面板。

3、编写nginx的配置文件

简单分析一下,为了能够通过域名访问,我们需要做以下几件事

  • 监听将域名绑定到80端口;
  • 将80端口的请求代理到实际的ip:8070

为了不干扰主的nginx配置文件,这里我们新建一个子配置文件,名为apollo.conf, 在配置文件中,写入如下配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
server {
listen 80;
server_name apollo.yuming.cn; #这里监听并且绑定了apollo.yuming.cn到80端口

location / {
proxy_pass http://127.0.0.1:8070; # 这里表示通过域名访问默认路径,则代理到本地的8070端口
proxy_set_header Host $Host:$server_port;#以下的配置为默认配置
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
add_header X-Cache $upstream_cache_status;
proxy_set_header X-Host $host:$server_port;
proxy_set_header X-Scheme $scheme;
proxy_connect_timeout 30s;
proxy_read_timeout 86400s;
proxy_send_timeout 30s;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}

}

完成了子配置文件的编写,我们需要把子配置文件引入到nginx主配置文件中。

通过ps aux |grep nginx可以看到正在运行的nginx进程以及配置文件所在目录。通过pwd命令,可以看到当前的子配置文件所在的目录。

在主配置文件末尾,通过include /www/server/apollo.conf;将子配置文件引入。然后重启或者重新加载一下nginx的配置文件即可完成配置。


nginx配置域名
http://yoursite.com/2022/10/24/nginx配置域名/
作者
yangchen
发布于
2022年10月24日
许可协议