Nginx添加虚拟主机

时间:2022-08-29 11:01:49

在Nginx中server是http核心模块,通过配置server_name和Listen进行配置虚拟主机。

  • 编辑conf/nginx.conf,直接在Http模块中添加server模块
http {
  server {
    listen     80 ;
    server_name www.myhosta.com;
    access_log logs/myhosta.access.log main;

    root D:/git-repo/myhost-a;
  }

  server {
    listen     80 default_server;#通过IP访问时默认的服务器
    server_name www.myhostb.com;
    access_log  logs/myhostb.access.log main;

    root D:/git-repo/myhost-b;
  }
}

Tips: 另外如果使用的域名是测试域名,不要忘记在系统的/etc/hosts或C:\Windows\system32\drivers\etc\hosts做域名映射。

  • 先将server模块到一个文件中,再添加到conf/nginx.conf的http模块
    在conf下新建一个virtualhost文件夹,创建虚拟主机配置文件a.myhost.conf
server {
    listen       80;
    server_name  www.myhosta.com;

    location / {
        root   D:/git-repo/myhost-a;
        index  index.html index.htm;
    }
}

打开nginx配置文件conf/nginx.conf,在http范围include虚拟主机配置文件

include virtualhost/*.conf;
  • 不带www的域名加301跳转
server {
    listen       80;
    server_name  myhosta.com;
    rewrite ^/(.*) http://www.myhosta.com/$1 permanent;
}

ServerBlockExample
Nginx多Server反向代理配置