环境准备
准备好linux机器,以及配置好3个ip地址
# 给网络设备添加别名,绑定多个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 ens33:3 192.168.178.147 netmask 255.255.255.0 broadcast 192.168.178.255 up
[root@yuweijie conf]# ifconfig | grep "inet 192"
inet 192.168.178.120 netmask 255.255.255.0 broadcast 192.168.178.255
inet 192.168.178.145 netmask 255.255.255.0 broadcast 192.168.178.255
inet 192.168.178.146 netmask 255.255.255.0 broadcast 192.168.178.255
inet 192.168.178.147 netmask 255.255.255.0 broadcast 192.168.178.255
添加nginx的配置,添加多个server{}标签,让nginx支持基于ip的多虚拟主机,返回多个站点内容
1、给nginx添加include包含语法,让其他目录下的配置文件参数,导入到nginx.conf中,这样的写法,能够让nginx每一个配置文件,看起来更简洁,更清晰
修改nginx.conf,在http{}标签中的最后一行,添加如下参数,extra文件夹和nginx.conf文件夹为相对
include extra/*.conf;
2、在extra目录下,添加多个基于IP的虚拟主机配置
可以像如下规划形式,来编写nginx.conf配置文件
第一个基于IP的虚拟机,写在conf/nginx.conf,部分代码如下,当192.168.178.120请求到来,让nginx去/www/120文件夹下寻找资料。listen改成 IP + 端口
listen 192.168.178.120:80;
location / {
root /www/120;
index index.html index.htm;
}
3、添加192.168.178.145虚拟主机的配置
vim extra/145.conf
server{
listen 192.168.178.145:80;
server_name _;
location / {
root /www/145;
index index.html;
}
}
4、添加192.168.178.146虚拟主机的配置
vim extra/146.conf
server{
listen 192.168.178.146:80;
server_name _;
location / {
root /www/146;
index index.html;
}
}
5、检查nginx的语法是否正确
[root@yuweijie www]# nginx -t
nginx: the configuration file /opt/tngx232/conf/nginx.conf syntax is ok
nginx: configuration file /opt/tngx232/conf/nginx.conf test is successful
6、重新加载nginx配置,改了较多的nginx配置,在允许重启nginx的情况下
nginx -s stop
防止出现nginx有缓存的情况,发现页面无变化
nginx -s reload
7、准备基于3个基于ip的站点内容
mkdir -p /www/{120,145,146}
echo "I'm 120" > /www/120/index.html
echo "I'm 145" > /www/145/index.html
echo "I'm 146" > /www/146/index.html
8、先在linux本地测试多ip的虚拟主机
curl 192.168.178.145
9、基于客户端的浏览器来查看效果
网友评论