跳转至

8. 虚拟主机配置

3. nginx虚拟主机配置

# 在http{}标签中定义多个虚拟主机
http{
  # 一个server{}标签旧可以理解为一个网站
  server {
    ...
  }
  server {
    ...
  }
  server {
    ...
  }
  ...
}

1. 第一个虚拟主机

#1.创建站点目录
mkdir -p /www/html
cd /www/html
# 准备图片文件
1.gif

#2. 创建index.html
vim index.html
<img src="./1.gif">
<p>
hello
</p>

#3.添加配置文件
cd /etc/nginx/conf.d
vim 80.conf
server {
  listen 80;
  server_name localhost;
  charset utf-8;
  location / {
    root /www/html
    index index.html index.htm;
  }
}

2. 基于IP的多虚拟主机

#1.给网卡添加别名,绑定多个IP
ifconfig ens33:1 192.168.178.145 netmask 255.255.255.0 broadcast 192.168.178.255 up
ifconfig ens33:2 192.168.178.146 netmask 255.255.255.0 broadcast 192.168.178.255 up

ifconfig |grep "inet 192.168.178"

#2.创建配置文件
vim 145.conf
server {
  listen 192.168.178.145:80;
  server_name _;
  location / {
    root /www/145;
    index index.html;
  }
}

vim 146.conf
server {
  listen 192.168.178.146:80;
  server_name _;
  location / {
    root /www/146;
    index index.html;
  }
}

vim 110.conf
server {
  listen 192.168.178.110:80;
  server_name _;
  location / {
    root /www/110;
    index index.html;
  }
}

#3.检查语法
nginx -t

#4. 创建index.html
mkdir -p /www/{110.145.146}
echo 110 > /www/110/index.html
echo 145 > /www/145/index.html
echo 146 > /www/146/index.html

#5. 重启nginx
nginx -s reload

#6. 浏览器访问查看

3. 基于多域名的虚拟主机

# 基于多IP的虚拟主机配置,用的不多,还可能造成IP不足等问题
# 一般如果没有特殊需求,用的更多且更方便的是基于多域名的虚拟主机

#1.windows修改hosts文件解析
learn_nginx1.com 192.168.178.110
learn_nginx2.com 192.168.178.110
learn_nginx3.com 192.168.178.110

#2. 修改配置文件
vim ym1.conf
server {
  listen 80;
  server_name learn_nginx1;
  location / {
    root /www/learn_nginx1;
    index index.html;
  }
}

vim ym2.conf
server {
  listen 80;
  server_name learn_nginx2;
  location / {
    root /www/learn_nginx2;
    index index.html;
  }
}

vim ym3.conf
server {
  listen 80;
  server_name learn_nginx3;
  location / {
    root /www/learn_nginx3;
    index index.html;
  }
}

#3.准备文件
mkdir -p /www/learn_nginx{1,2,3}
echo 1 /www/learn_nginx1/index.html
echo 2 /www/learn_nginx2/index.html
echo 1 /www/learn_nginx3/index.html

#4.重启nginx
nginx -t
nginx -s reload

#5. 访问测试

4. 基于多端口的虚拟主机

# 这个最简单了,只需要修改listen后面的端口即可!!!
server {
  listen 80;
  ...
}
server {
  listen 81;
  ...
}
...

最后更新: 2022-02-20 13:32:53