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的映射

 

posted @ 2014-08-31 14:24  savokiss  阅读(12618)  评论(0编辑  收藏  举报