1.基于IP的多虚拟主机配置

1.1 网络配置

linux操作系统支持​IP别名​的添加。

nginx 服务器提供的每台虚拟主机对应配置一个不同的IP,因此需要将网卡设置为同时能够监听多个IP地址。

先查看当前的网络配置:ifconfig

再为eth1(对应自己的网卡名称)添加IP别名:192.168.1.66 和 192.168.1.99

ifconfig eth1:0 192.168.1.66 netmask 255.255.255.0 up
ifconfig eth1:1 192.168.1.99 netmask 255.255.255.0 up


接着查看配置结果:ifconfig

比之前多了两个网络配置:eth1:0 和 eth1:1

1.2 配置nginx

来到nginx的安装目录,并复制html-66和html-99:

cd /usr/local/nginx
cp -r html html-66
cp -r html html-99


编辑html-66和html-99的首页:

vim ./html-66/index.html
vim ./html-99/index.html


改为可以区分的显示页面即可,后面用来测试的显示页面,随意发挥。

接着配置nginx.conf

vim ./conf/nginx.conf


加入以下内容

server {
listen 80;
server_name 192.168.1.66;
location / {
root html-66;
index index.html index.htm;
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html-66;
}
}

server {
listen 80;
server_name 192.168.1.99;
location /{
root html-99;
index index.html index.htm;
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html-99;
}
}


配置完成保存退出::wq

说明:


  • listen 80;  监听80端口
  • server_name 虚拟主机的指令,这里基于IP配置
  • root      html的根目录
  • index   root根目录下的首页

先检查nginx.conf 配置语法是否正确:

cd sbin
nginx -t


启动nginx

nginx


如果时你的nginx已经启动,那就使用重启命令

nginx -s stop


到目前为止全部配置完成,接下来测试

curl http://192.168.1.66
curl http://192.168.1.99


能正常的打印出 html-66/html-99 目录下的index.html 页面说明成功了