Nginx三种虚拟主机配置方法
1.设置基于域名的虚拟web主机
# mkdir -p /var/www/chengdu
# mkdir -p /var/www/shanghai
# echo "www.chengdu.com" > /var/www/chengdu/index.html
# echo "www.shanghai.com" > /var/www/shanghai/index.html
进入nginx主配置文件新建两个server区域并进行修改配置
# vim /usr/local/nginx/conf/nginx.conf
server {
listen 192.168.1.30:80;
server_name www.chengdu.com;
charset utf-8;
access_log logs/chengdu.access.log main;
location / {
root /var/www/chengdu;
index index.html index.htm;
}
}
server {
listen 192.168.1.30:80;
server_name www.shanghai.com;
charset utf-8;
access_log logs/shanghai.access.log main;
location / {
root /var/www/shanghai;
index index.html index.htm;
}
}
# systemctl restart nginx
访问192.168.56.10
关于修改配置文件后应当选择 restart/reload的建议:
建议尽量使用restart,如果修改配置文件错误等,使用restart将会报错,有助于解决报错问题
而使用reload可能不会提醒,用户自然会以为修改的配置文件没有问题,实则可能出现了问题从而导致后续验证失败,但是生产环境中reload可以使已连接的用户不会掉线
验证:
修改客户端hosts文件,进行网页访问验证
2.基于端口的虚拟主机设置:
需求:当输入192.168.1.10:80时访问到chengdu页面
当输入192.168.1.10:8080时访问到shanghai页面
注意:通过IP+端口方式访问服务器时,最好是使用http://192.168.1.10:8080 的方式,前面加上http头部
步骤:修改主配置文件,将shanghai的server区域监听端口修改为8080,这时可以实现通过ip+端口方式访问到shanghai页面,但通过192.168.1.10:80访问时,会直接跳到默认欢迎界面而并非chengdu页面,
chengdu设置方式:
找到默认站点server区域,将默认站点的root 后的路径改为/var/www/chengdu 即可
到此,基于端口的虚拟主机配置实现完成。
访问192.158.56.10:80时访问到chengdu
访问192.168.56.10:8080时访问到shanghai
3.基于IP的虚拟主机配置:
通过192.168.1.10:80 访问到chengdu
通过192.168.2.10:80 访问到shanghai
步骤:找到默认站点,将默认站点的监听改为 192.168.1.10:80
找到shanghai 的server区域,将监听改为 192.168.2.10:80
配置web服务器的第二个网卡IP为192.168.2.10。第一个网卡为默认的192.168.1.10
客户端分别访问192.168.1.10 192.168.1.20能够获取到不同页面
我的第一张网卡ip为192.168.56.10,我的第二张网卡ip为192.168.56.11
修改配置文件
访问192.168.56.10时访问到chengdu
访问192. 168.56.11时访问到shanghai
ZYX_256: 我也是,你找到原因了吗
桉兰Anlan: 页面渲染不出来是为什么
一只雪梨干: 更勾勾,忙的扣胩
_咕咕咕_: 匹夫,速更
普通网友: 博主的文章让我对这个主题有了全新的认识,细节描写非常到位,让我感受到了博主的深厚功底。【我也写了一些相关领域的文章,希望能够得到博主的指导,共同进步!】