---------------------------------------------------------------------------------割
以下均为自我摸索中一些经验,
----------------------------------------------------------------------------------
nginx配置多域名访问,可以防止浪费 ,在性能不受影响的前提下,最大限度挖掘服务器潜力
阿里云,云服务器ECS(个人建议,域名服务器都在相同的服务商进行购买,避免隐藏问题)
系统:CentOS 7.4 64位
配置:1 vCPU 2 GB (I/O优化),ecs.t5-lc1m2.small 1Mbps
Nginx配置文件
nginx的配置文件默认读取nginx.conf中文件
(根据个人安装不同搜索文件一般路径为/usr/local/nginx/conf/nginx.conf)。
当然也可以修改使用的conf路径,使用命令:
./nginx -c 你的conf文件位置
可以相对路径或者绝对路径。
conf文件多域名配置
如果在域名管理的控制面板设置域名对应ip只能设置到ip,不能详细设置到端口。(如下图添加记录)
如果一台服务器部署了多个web应用,使用的不同端口启动的,那么就可以Nginx做映射。(如下黑图中圆圈中存在多个web应用)
比如我有一个域名 www.ding.cn。
还有一个域名 www.dingding.cn。
我在域名控制面板把这两个域名都指向我的服务器公网ip 123.123.123.123。
这时候发现www.ding.cn。和www.dingding.cn。打开都会显示的是默认80端口的web页面(瞬间懵逼)
如果想不同域名对应不通web页面(网页)该怎么办呢?
为不通域名佩戴不同端口号 ?
比如:
www.ding.cn:9090或者www.dingding.cn:9090。
但是这样很不方便吧,总不能让别人访问的时候,总是带有端口号吧,也不太现实,也有点感觉危险哈。
我们要把端口去掉也能访问就需要使用Nginx做映射。
我们期望www.ding.cn访问80端口,www.dingding.cn访问9090端口。那么可以设置如下:
server {
listen 80; (端口号)
server_name www.ding.cn;(对应域名)
location / {
root /root/app/ding;(服务器下项目位置及名称)
index index.html index.htm;(项目中主页)
}
}
server {
listen 80;
server_name www.dingding.cn;
location / {
root /root/app/dingding;
index index.html;
}
}
这样设置就可以了。把ding,dingding域名映射到80默认端口中。
为其分别设置对应的web页面,从而达到点击域名即可访问目的