Nginx绑定多个域名,可通过把多个域名规则写一个配置文件里实现,也可通过分别建立多个域名配置文件实现,为了管理方便,建议每个域名建一个文件,有些同类域名则可写在一个总的配置文件里。
1. 比如我想建立两个站点的域名分别是www.A.com 和 www.B.com,将这两个域名都解析到同一服务器IP。
2. 在Nginx配置文件conf目录下创建一个专门存放虚拟主机配置的目录,命名为vhosts,可以把虚拟目录的配置全部放在这里。如本例创建名为vhosts_A.conf和vhosts_B.conf文件并打开,在里面写下相关的配置文件。
配置文件参考:
server {
listen 80 default;#监听端口
server_name www.A.com;#绑定域名
index index.html index.htm index.jsp login.jsp;#默认文件
root /alidata/www/default;#网站根目录
location /
{
proxy_pass http://127.0.0.1:8080;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 1h;
}
access_log /alidata/log/nginx/access/default.log;
}
3. 在nginx的主配置文件里,设置包含这两个站点的配置文件。
打开nginx.conf文件,在http{...}段输入
#包含所有的虚拟主机的配置文件 (填写服务器中vhosts_conf/*.conf所在绝对路径)
include /alidata/server/nginx/conf/vhosts/*.conf;
4. 在指定的网站根目录下上传每个站点的文件
5. 重启nginx:/etc/init.d/nginx restart,测试是否访问正常