我使用docker里的nginx想要实现如下效果
访问www.[域名].com 是一个主页面index
访问vo.[域名].com是一个副页面sub
域名配置
首先我在阿里云使用一个域名添加www.[域名].com为我的服务器ip地址
nginx域名配置
我使用的是服务器的80端口映射nginx的80端口
配置config文件
都是监听同意窗口,只是对于不同域名前缀响应不同数据
# www的域名
server {
listen 80;
listen [::]:80;
# 域名配置
server_name www.[域名].club;
location / {
root /usr/share/nginx/html;
index 主页面index;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
#vo的域名
server {
listen 80;
listen [::]:80;
# 域名配置
server_name vo.[域名].club;
location / {
root /usr/share/nginx/html;
index 副页面sub;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
这里我就有个疑惑,我给服务器的ip设置的域名,通过docker端口映射进入到nginx,那域名不是应该和内部的server_name没有关系吗,因为域名只是服务器的ip?
但是实际情况是可以有影响
vo显示的是这个
www显示的是这个
确实可以实现不同域名不同内容
问题
我在阿里云对于同一个ip添加vo前缀,通过域名访问为什么也能访问到不同页面,这两个域名不都指向同一个服务器ip吗,在服务器里使用的docker端口映射,不是应该都是一个地址吗。
注意
我发现每次更改文件后,nginx的生效很麻烦,通过docker重启nginx,不能更新nginx,我一般都是删了容器重新创建,或者会出现域名无法访问的情况,有点麻烦,如果各位大佬有什么好的方法欢迎解答。