基于IP实现Nginx虚拟主机配置方式有哪些
发表于:2024-11-12 作者:千家信息网编辑
千家信息网最后更新 2024年11月12日,这篇文章给大家分享的是有关基于IP实现Nginx虚拟主机配置方式有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Nginx配置虚拟主机支持3种方式:基于IP的虚拟主机配
千家信息网最后更新 2024年11月12日基于IP实现Nginx虚拟主机配置方式有哪些
这篇文章给大家分享的是有关基于IP实现Nginx虚拟主机配置方式有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
Nginx配置虚拟主机支持3种方式:基于IP的虚拟主机配置,基于端口的虚拟主机配置,基于域名的虚拟主机配置。
1、基于IP的虚拟主机配置
如果同一台服务器有多个IP,可以使用基于IP的虚机主机配置,将不同的服务绑定在不同的IP上。
1.1 假设服务器有个IP地址为192.168.2.150,首先使用ifconfig在同一个网络接口上绑定其他3个IP。
[root@localhost ~]# ifconfig ens33:1 192.168.2.151/24 up[root@localhost ~]# ifconfig ens33:2 192.168.2.152/24 up[root@localhost ~]# ifconfig ens33:3 192.168.2.153/24 up[root@localhost ~]# ifconfigens33: flags=4163mtu 1500 inet 192.168.2.106 netmask 255.255.255.0 broadcast 192.168.2.255 inet6 fe80::2a8d:be6:a4a8:ea0 prefixlen 64 scopeid 0x20 ether 00:0c:29:16:90:ae txqueuelen 1000 (Ethernet) RX packets 1220 bytes 87955 (85.8 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 206 bytes 23755 (23.1 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0ens33:1: flags=4163 mtu 1500 inet 192.168.2.151 netmask 255.255.255.0 broadcast 192.168.2.255 ether 00:0c:29:16:90:ae txqueuelen 1000 (Ethernet)ens33:2: flags=4163 mtu 1500 inet 192.168.2.152 netmask 255.255.255.0 broadcast 192.168.2.255 ether 00:0c:29:16:90:ae txqueuelen 1000 (Ethernet)ens33:3: flags=4163 mtu 1500 inet 192.168.2.153 netmask 255.255.255.0 broadcast 192.168.2.255 ether 00:0c:29:16:90:ae txqueuelen 1000 (Ethernet)lo: flags=73 mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10 loop txqueuelen 1 (Local Loopback) RX packets 72 bytes 6252 (6.1 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 72 bytes 6252 (6.1 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
1.2 3个IP对应的域名如下,配置主机的host文件便于测试
[root@localhost ~]# vim /etc/hosts[root@localhost ~]# cat /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost localhost.localdomain localhost6 localhost6.localdomain6192.168.2.151 www.test151.com192.168.2.152 www.test152.com192.168.2.153 www.test153.com
可以模拟实现DNS轮询的情况。
附:设置完hosts文件后一定要记得执行以下命令使其生效
1、windows下cmd进入命令行
C:\Users\1234>ipconfig /flushdnsWindows IP 配置已成功刷新 DNS 解析缓存。
1.3 建立虚拟主机存放网页的根目录,并创建首页文件index.html
[root@localhost /]# mkdir -p /data/www[root@localhost /]# cd /data/www[root@localhost www]# mkdir 151[root@localhost www]# mkdir 152[root@localhost www]# mkdir 153[root@localhost www]# echo "192.168.2.151" > 151/index.html[root@localhost www]# echo "192.168.2.152" > 152/index.html[root@localhost www]# echo "192.168.2.153" > 153/index.html[root@localhost www]# ls151 152 153
1.4 修改nginx.conf,将虚拟主机配置文件包含进主文件
[root@localhost /]# cd /usr/local/nginx/conf/[root@localhost conf]# lsfastcgi.conf fastcgi_params koi-utf mime.types nginx.conf scgi_params uwsgi_params win-utffastcgi.conf.default fastcgi_params.default koi-win mime.types.default nginx.conf.default scgi_params.default uwsgi_params.default[root@localhost conf]# vim nginx.conf
在nginx.conf文件末尾加入以下配置
# 在http段中找到以下内容并删除每行前面的"#" log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"';# 配置文件结尾的最后一个"}"之前加入以下语句,如下所示include vhost/*.conf;}
1.5 编辑每个IP的配置文件(每个虚拟主机的配置文件)
[root@localhost conf]# mkdir -p vhost[root@localhost conf]# cd vhost/[root@localhost vhost]# cat www.test151.conf server { listen 192.168.2.151:80; # 配置成实际的域名,每个虚拟主机的配置文件域名都相同 #server_name www.test.com; access_log /data/logs/www.test151.com.log main; error_log /data/logs/www.test151.com.error.log; location / { root /data/www/151; index index.html index.htm; } }[root@localhost vhost]# cat www.test152.conf server { listen 192.168.2.152:80; # 配置成实际的域名,每个虚拟主机的配置文件域名都相同 #server_name www.test.com; access_log /data/logs/www.test152.com.log main; error_log /data/logs/www.test152.com.error.log; location / { root /data/www/152; index index.html index.htm; } }[root@localhost vhost]# cat www.test153.conf server { listen 192.168.2.153:80; # 配置成实际的域名,每个虚拟主机的配置文件域名都相同 #server_name www.test.com; access_log /data/logs/www.test153.com.log main; error_log /data/logs/www.test153.com.error.log; location / { root /data/www/153; index index.html index.htm; } }
1.6 创建日志文件,否则无法启动nginx
[root@localhost /]# mkdir -p /data/logs[root@localhost /]# touch /data/logs/www.test151.com.log[root@localhost /]# touch /data/logs/www.test151.com.error.log[root@localhost /]# touch /data/logs/www.test152.com.log[root@localhost /]# touch /data/logs/www.test152.com.error.log[root@localhost /]# touch /data/logs/www.test153.com.log[root@localhost /]# touch /data/logs/www.test153.com.error.log[root@localhost /]# ls /data/logs/www.test151.com.error.log www.test152.com.error.log www.test153.com.error.logwww.test151.com.log www.test152.com.log www.test153.com.log
1.7 先测试配置文件然后再启动nginx
[root@localhost /]# cd /usr/local/nginx/sbin/[root@localhost sbin]# ./nginx -tnginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is oknginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful# 启动nginx[root@localhost sbin]# ./nginx
1.8 测试文件
[root@localhost sbin]# curl www.test151.com192.168.2.151[root@localhost sbin]# curl www.test152.com192.168.2.152[root@localhost sbin]# curl www.test153.com192.168.2.153
附:配置过程中出现的问题
1、测试配置文件时出现的问题
[root@localhost sbin]# ./nginx -tnginx: [emerg] unexpected "}" in /usr/local/nginx/conf/nginx.conf:122nginx: configuration file /usr/local/nginx/conf/nginx.conf test failed
解决方法:下面语句忘记加分号
include vhost/*.conf;
2、使用 curl www.test*.com 测试时总是访问到相同的结果
解决方法:不要将IP地址写在 server_name 后面, server_name 后面只能添加域名。
感谢各位的阅读!关于"基于IP实现Nginx虚拟主机配置方式有哪些"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
配置
文件
主机
虚拟主机
域名
测试
相同
方式
内容
实际
服务
不同
命令
地址
方法
更多
服务器
篇文章
语句
问题
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全评估服务
如何搭建sql数据库
对收钱吧互联网科技的了解
光遇是双线服务器吗
考试三级数据库通过率
服务器名字错误
河南颐中苑网络技术有限公司
量子计算网络安全格局
亲自鉴定网络安全
实时数据库发展趋势
室内数控网络技术哪个好
杭州软件开发公司一般要多少钱
笔记本上的安全接入服务器地址
深圳市易佰网络技术有限公司
sql数据库自动备份工具
苏州代驾app软件开发
酒店预订数据库设计
如何找到网络技术
java数据库触发器
互联网数据库学位考试
华唯科技网络安全有限公司
服务器的安全软件是哪个
计算机网络安全技术题及答案
天津全球网络时钟服务器虚拟主机
软件开发工具自考
网络安全和防范感_想
核算服务器放云平台
深圳市天就网络技术有限公司
网络技术方案评估
即墨区商城软件开发服务公司