nginx多域名配置是在配置文件中建立多个server
配置,在每个server
配置中用server_name
来对域名信息进行过滤。
举个例子,下面是一个conf
文件:
server
{
listen 80;
server_name www.web1.com; #绑定域名
index index.htm index.html index.php; #默认文件
root /home/www.web1.com; #网站根目录
include location.conf; #调用其他规则,也可去除
}
server
{
listen 80;
server_name www.web2.com; #绑定域名
index index.htm index.html index.php; #默认文件
root /home/www/web2.com; #网站根目录
include location.conf; #调用其他规则,也可去除
}
以上配置信息就是在一个nginx配置中最简单的多域名配置方法,关于server_name
,nginx官方还提供了很多正则匹配的过滤方式,详情请看nginx官方文档。
注意事项
特别要注意的是,在nginx的配置文件中只有一个server
配置的时候,server_name
是无效
的,也就是说任何域名绑定了这个IP的时候,无论server_name
填什么域名,都会匹配到这个唯一的server
。只有在多个server
的时候,server_name
才会有效。