当前位置:首页 > 虚拟主机 > 正文

nginx两个虚拟主机配置文件

Nginx虚拟主机配置文件分别定义不同域名或IP的服务器块,包含各自根目录

基于域名的虚拟主机配置

  1. 修改 nginx.conf 文件:在 http 块中添加 include 指令,指定包含虚拟主机配置文件的目录。

  2. 创建虚拟主机配置文件:在 /etc/nginx/conf.d/ 目录下创建两个虚拟主机的配置文件,如 site1.conf 和 site2.conf。

  3. 配置 site1.conf

    server { listen 80; server_name site1.example.com; location / { root /var/www/site1; index index.html; } }
  4. 配置 site2.conf

    nginx两个虚拟主机配置文件 第1张

    server { listen 80; server_name site2.example.com; location / { root /var/www/site2; index index.html; } }
  5. 重启 Nginx 服务:使配置生效。

  6. 基于端口的虚拟主机配置

    1. 修改 nginx.conf 文件:同基于域名的配置,添加 include 指令。

    2. 创建虚拟主机配置文件:同样在 /etc/nginx/conf.d/ 目录下创建 site1_port.conf 和 site2_port.conf。

      nginx两个虚拟主机配置文件 第2张

      nginx两个虚拟主机配置文件 第3张

    3. 配置 site1_port.conf

      server { listen 8080; server_name _; location / { root /var/www/site1_port; index index.html; } }

    4. 配置 site2_port.conf

      server { listen 8081; server_name _; location / { root /var/www/site2_port; index index.html; } }
    5. 重启 Nginx 服务:让配置生效。

    6. 常见问题与解答

      问题 解答
      如何查看 Nginx 虚拟主机配置是否生效? 可以使用 curl 命令或浏览器访问对应的域名或端口,查看是否能正确返回预期的内容。curl http://site1.example.com 或 curl http://localhost:8080。
      Nginx 虚拟主机配置中,server_name 可以配置多个域名吗? 可以,在 server_name 指令后,使用空格分隔多个域名,表示该虚拟主机将响应这些域名的请求,`server_name site1.example.com www.site1.example.

0