nginx配置多域名映射方法(本地hosts)
本地测试网站的时候如果不想用localhost/xxxx的形式访问,可能就需要修改hosts文件来映射了,但是一个网站还好,假如有多个网站的话就不行了。
这时就需要配置多域名映射
比如hosts中配置的映射:
127.0.0.1 www.xxxx.com
127.0.0.1 bbs.xxxx.com
这两个本地域名映射的ip都一样,如何确定跳转的网站呢?就要看web服务器上面多域名的配置了
本例使用windows下集成环境wnmp,下载地址:百度云
wnmp即windows+nginx+mysql(MariaDB)+php
首先在wnmp根目录建立一个vhosts文件夹,里面用来存放相关域名的配置文件,比如我的两个域名一个是www,一个是bbs,就建立两个conf文件
www.xxxx.com.conf
bbs.xxxx.com.conf
bbs配置文件的内容如下,另一个同理:
server { listen 80; server_name bbs.xxxx.com; #access_log logs/access_bbs.log main;这里注释掉了 location / { root html/discuz; index index.php index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME html/discuz/$fastcgi_script_name; include fastcgi_params; } location ~ /\.ht { deny all; } }
其中红色的地方就是要改的地方
第一个地方也就是域名了,改成自己的,多个域名用空格隔开。
后面两个discuz是网站的目录名,就是在web服务器目录下面的那个文件夹名字
然后需要在nginx.conf文件中引用这两个文件
打开nginx.conf,在文件最后的结束大括号前面添加如下代码:
# 包含所有的虚拟主机的配置文件 include ..\vhosts\www.xxxx.conf; include ..\vhosts\bbs.xxxx.conf;
我这里用的相对路径,也可以改成绝对路径
之后重启nginx服务器即可,不要忘了本地hosts的映射