当前位置: 首页 > news >正文

手把手教你玩转Nginx:三种虚拟主机配置,这才是高手标配


来自:https://blog.csdn.net/jxjdhdnd

推荐一个程序员编程资料站:

http://cxyroad.com

副业赚钱专栏:https://xbt100.top

2024年IDEA最新激活方法

后台回复:激活码

CSDN免登录复制代码插件下载:

CSDN复制插件

以下是正文。


Nginx 是一款高性能的 Web 服务器,支持多种虚拟主机配置方式,能够根据域名、IP 或端口区分不同的站点。这种灵活性让 Nginx 成为搭建多站点服务的首选工具。

本文将带你一步步实现三种常见的虚拟主机配置方法:基于域名、基于 IP 和基于端口的虚拟主机。无论你是初学者还是有经验的运维人员,这篇教程都能帮助你快速掌握虚拟主机的配置技巧。

以下案例演示 是基于源码包安装的nignx (如果你是rpm包 也差不多 只用把路径改为你nginx的路径即可 其他没什么大的变化,如果你是小白请绕道!)

1. 基于域名的虚拟主机

步骤 1:准备网站根目录

为每个域名创建独立的子目录,并添加测试页面:

[root@localhost ~]# mkdir -p /usr/local/nginx/html/site1 [root@localhost ~]# mkdir -p /usr/local/nginx/html/site2 [root@localhost ~]# echo "Welcome to Site 1" > /usr/local/nginx/html/site1/index.html [root@localhost ~]# echo "Welcome to Site 2" > /usr/local/nginx/html/site2/index.html
步骤 2:修改 Nginx 配置文件

打开 Nginx 的配置文件:

[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf

在 http 配置段中添加以下内容:

注释:如果需要两个虚拟主机 只用将再额外添加一个server即可

# 全局配置 user nobody; worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; # 基于域名的虚拟主机配置 server { listen 80; server_name www.site1.com; # 网站根目录 root html/site1; index index.html index.htm; # 日志配置 access_log logs/site1_access.log; error_log logs/site1_error.log; # 主路径配置 location / { try_files $uri$uri/ =404; } # 状态监控 location /status { stub_status on; access_log off; allow 192.168.14.112; deny all; } # 错误页面配置 error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /404.html { root html/site1; } location = /50x.html { root html; } # 禁止访问 .ht 文件 location ~ /\.ht { deny all; } } server { listen 80; server_name www.site2.com; # 网站根目录 root html/site2; index index.html index.htm; # 日志配置 access_log logs/site2_access.log; error_log logs/site2_error.log; # 主路径配置 location / { try_files $uri$uri/ =404; } # 错误页面配置 error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /404.html { root html/site2; } location = /50x.html { root html; } # 禁止访问 .ht 文件 location ~ /\.ht { deny all; } } }
步骤 3:测试配置并重启 Nginx

测试配置文件语法:

[root@localhost ~]# /usr/local/nginx/sbin/nginx -t

重启 Nginx 服务:

[root@localhost ~]# /usr/local/nginx/sbin/nginx -s reload
步骤 4:访问测试

在浏览器中访问:

  • http://www.site1.com,应显示 Welcome to Site 1。

  • http://www.site2.com,应显示 Welcome to Site 2。

客户端测试

修改hosts文件(本地dns解析)

[root@localhost ~]# vim /etc/hosts

2. 基于 IP 的虚拟主机

步骤 1:准备网站根目录

为每个 IP 创建独立的子目录,并添加测试页面:

[root@localhost ~]# mkdir -p /usr/local/nginx/html/ip1 [root@localhost ~]# mkdir -p /usr/local/nginx/html/ip2 [root@localhost ~]# echo "Welcome to IP 192.168.14.111" > /usr/local/nginx/html/ip1/index.html [root@localhost ~]# echo "Welcome to IP 192.168.14.112" > /usr/local/nginx/html/ip2/index.html
步骤 2:修改 Nginx 配置文件

打开 Nginx 的配置文件:

[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf

在 http 配置段中添加以下内容:

server { listen 192.168.14.111:80; server_name 192.168.14.111; root html/ip1; # 使用默认路径的子目录 index index.html; location / { try_files $uri$uri/ =404; } # 错误页面 error_page 500 502 503 504 /50x.html; location = /50x.html { root html; # 默认错误页面路径 } } server { listen 192.168.14.112:80; server_name 192.168.14.112; root html/ip2; # 使用默认路径的子目录 index index.html; location / { try_files $uri$uri/ =404; } # 错误页面 error_page 500 502 503 504 /50x.html; location = /50x.html { root html; # 默认错误页面路径 } }
步骤 3:测试配置并重启 Nginx

测试配置文件语法:

[root@localhost ~]# /usr/local/nginx/sbin/nginx -t

重启 Nginx 服务:

[root@localhost ~]# /usr/local/nginx/sbin/nginx -s reload
步骤 4:访问测试

在浏览器中访问:

  • http://192.168.14.111,应显示 Welcome to IP 192.168.14.111。

  • http://192.168.14.112,应显示 Welcome to IP 192.168.14.112。

客户端测试

因为我在虚拟机测试 只有一个网卡 所以我在虚拟一个网卡 这个你可以忽视 看测试结果即可

ip addr add 192.168.14.110/24 dev ens33

3. 基于端口的虚拟主机

步骤 1:准备网站根目录

为每个端口创建独立的子目录,并添加测试页面:

[root@localhost ~]# mkdir -p /usr/local/nginx/html/port1 [root@localhost ~]# mkdir -p /usr/local/nginx/html/port2 [root@localhost ~]# echo "Welcome to Port 8080" > /usr/local/nginx/html/port1/index.html [root@localhost ~]# echo "Welcome to Port 9090" > /usr/local/nginx/html/port2/index.html
步骤 2:修改 Nginx 配置文件

打开 Nginx 的配置文件:

[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf

在 http 配置段中添加以下内容:

server { listen 8080; server_name localhost; root html/port1; # 使用默认路径的子目录 index index.html; location / { try_files $uri$uri/ =404; } # 错误页面 error_page 500 502 503 504 /50x.html; location = /50x.html { root html; # 默认错误页面路径 } } server { listen 9090; server_name localhost; root html/port2; # 使用默认路径的子目录 index index.html; location / { try_files $uri$uri/ =404; } # 错误页面 error_page 500 502 503 504 /50x.html; location = /50x.html { root html; # 默认错误页面路径 } }
步骤 3:测试配置并重启 Nginx

测试配置文件语法:

[root@localhost ~]# /usr/local/nginx/sbin/nginx -t

重启 Nginx 服务:

[root@localhost ~]# /usr/local/nginx/sbin/nginx -s reload
步骤 4:访问测试

在浏览器中访问:

  • http://192.168.14.111:8080,应显示 Welcome to Port 8080。

  • http://192.168.14.111:9090,应显示 Welcome to Port 9090。

客户端测试

4.总结

通过本文的详细步骤,我们成功实现了基于域名、IP 和端口的虚拟主机配置。Nginx 的灵活性和高性能使其能够轻松应对多站点服务的需求。

这些配置方法不仅适用于日常开发和测试环境,也能在生产环境中提供稳定可靠的服务。如果你对 Nginx 的配置还有疑问或其他需求,欢迎留言交流,让我们共同学习、共同进步!

<END>

推荐阅读:

副业赚钱推荐:让你的时间开始变现!

免费体验AI图片生成,就在 Image Generator Hub!

程序员在线工具站:cxytools.com 推荐一个自己写的工具站:https://cxytools.com,专为程序员设计,包括时间日期、 JSON处理、SQL格式化、随机字符串生成、UUID生成、文本Hash...等功能,提升开发效 率。 ⬇戳阅读原文直达! 朕已阅
http://www.jsqmd.com/news/522053/

相关文章:

  • RAGFlow实战:解决DeepSeekR1模型配置中的102错误(Ollama端口避坑指南)
  • 粮食气力输送装置与密相气力输送生产线:选购指南与靠谱厂家推荐 - 工业品网
  • 杭州进水急救全攻略:从百达翡丽到欧米茄,高端腕表进水后的黄金救援时间与北上广深杭宁六城紧急处置指南 - 时光修表匠
  • 无锡高端腕表保养周期全科普|2026六城网点适配,多品牌保养指南(含维修品类 - 时光修表匠
  • 粉体气力输送系统:行业优势尽显,靠谱品牌推荐 - myqiye
  • 多光谱无人机追踪的5大常见误区:从MUST数据集看如何避免新手踩坑
  • STM32实战指南:从零构建智能窗户控制系统(硬件选型+软件逻辑+数据可视化)
  • 你家需要哪种电梯?2026电梯、别墅电梯、自建房电梯、乘客电梯、载货电梯、更新改造电梯、四川电梯场景化服务商适配分析 - 速递信息
  • ArcGIS地统计分析Geostatistical Analyst交叉验证实战指南
  • 物理的两个世界:测量世界和现实世界
  • 工厂采购必看:2026年锅炉设备口碑推荐,一家西南区域服务商的场景化解构 - 速递信息
  • 手机远程操控Windows与Ubuntu:VNC连接实战指南
  • AI程序员 - --
  • 2025年12月大学英语六级真题及答案电子版pdf三套全
  • SeqGPT-560M效果展示:新闻通稿中自动识别机构、事件、时间三元组
  • 2026年服务好的DN1200企口管源头厂家,顶管建设的好帮手,检查井/预制混:凝土电力井/雨水收集井,顶管直销厂家分析 - 品牌推荐师
  • 防尘防爆接线箱厂家技术揭秘:高粉尘环境下,如何实现“零故障”运行? - 品牌推荐大师
  • 集成电路与计算机体系结构领域重要会议汇总
  • CD-HIT智能聚类技术:精准去冗余与大规模序列分析解决方案
  • 智能音频处理实战:OpenLRC一站式字幕生成解决方案
  • 和柚科技客服咨询AI流量赋能,重塑智能体验新标杆 - 速递信息
  • 2026年成都保温材料厂家推荐排行:聚焦质量稳定与区域施工能力的综合实力盘点 - 速递信息
  • 上门收酒怕泄露隐私?京城亚南酒业:全程私密交易,藏家信息严锁死 - 品牌排行榜单
  • 信创迁移实战:在银河麒麟V10-SP1上离线搞定Docker,为Milvus向量数据库铺路
  • 熙巨智能科技客服咨询AI流量赋能,重塑智能体验新标杆 - 速递信息
  • Oracle大表索引创建阻塞测试报告 - a
  • 在Tabby内配置sftp的快捷下载方式
  • Ollama运行Qwen2.5-VL:7B模型在跨境电商商品图合规检测应用
  • 2026年锅炉设备选购避坑指南:从资质合规到本地化服务五家综合能力厂家口碑推荐 - 速递信息
  • 指针学习