
CentOS 7.3详解:Nginx虚拟主机配置全攻略
269KB |
更新于2024-09-01
| 35 浏览量 | 举报
收藏
本文将详细介绍如何在CentOS 7.3操作系统上配置Nginx虚拟主机,以实现多站点管理和灵活的网络服务。以下是详细步骤:
实验环境
本教程基于一台最小化的CentOS 7.3虚拟机,这个环境适合初学者进行练习,因为它简化了系统依赖和资源占用。
配置基本环境
1. 安装Nginx:首先,使用`yum`包管理器安装Nginx和`vim`文本编辑器,确保软件库扩展可用:
```
yum install -y epel-release
yum install -y nginx vim
```
2. 创建站点目录:为每个虚拟主机创建对应的根目录,例如`site1`和`site2`,并在每个目录下放置一个简单的index.html文件,用于测试:
```
mkdir /var/wwwroot
mkdir /var/wwwroot/site1
mkdir /var/wwwroot/site2
echo "site1" > /var/wwwroot/site1/index.html
echo "site2" > /var/wwwroot/site2/index.html
```
3. 关闭防火墙:由于我们只在本地环境中进行测试,所以暂时关闭CentOS的防火墙以允许Nginx监听外部连接:
```
setenforce 0
systemctl stop firewalld
systemctl disable firewalld
```
基于端口的虚拟主机配置
1. 编辑Nginx配置文件:打开`/etc/nginx/conf.d/vhosts.conf`文件,开始配置虚拟主机:
```
vim /etc/nginx/conf.d/vhosts.conf
```
2. 添加两个基于端口的虚拟主机块,每个块定义了一个特定的端口(如8081和8082)和对应的网站根目录:
```
server {
listen 8081;
root /var/wwwroot/site1;
index index.html;
location / {
# 此处省略具体配置
}
}
server {
listen 8082;
root /var/wwwroot/site2;
index index.html;
location / {
# 此处省略具体配置
}
}
```
3. 启动Nginx服务:
```
systemctl start nginx
```
4. 验证站点:在宿主机上通过指定端口访问两个站点:
- `http://192.168.204.135:8081/`
- `http://192.168.204.135:8082/`
基于域名的虚拟主机配置
1. 更新Nginx配置:如果需要使用域名访问,可以删除原内容,然后添加新的基于域名的虚拟主机块:
```
server {
listen 80;
server_name site1.test.com;
root /var/wwwroot/site1;
index index.html;
location / {
# 此处省略具体配置
}
}
server {
listen 80;
server_name site2.test.com;
root /var/wwwroot/site2;
index index.html;
location / {
# 此处省略具体配置
}
}
```
2. 保存并重启Nginx:
```
vi +wq /etc/nginx/conf.d/vhosts.conf
systemctl restart nginx
```
3. 验证域名访问:现在可以通过指定域名(如`site1.test.com`和`site2.test.com`)来访问相应的站点。
总结,本文详细展示了如何在CentOS 7.3上配置Nginx虚拟主机,包括基于端口和域名的设置,这对于管理和部署多站点的Web应用非常实用。通过这些步骤,用户可以灵活地管理各自的站点,并且对Nginx的工作原理有更深入的理解。
相关推荐


















weixin_38640168
- 粉丝: 6
最新资源
- FFMS2: C++实现的FFmpeg跨平台媒体源库与插件
- Jlibxinput:Java游戏输入设备支持与适配
- FastPres: 开源建筑预算管理工具
- 深入理解SpringBoot与JDBC的整合应用
- 构建基于Dovecot+Postfix MySQL Auth的LDAP服务器指南
- Java EE入门示例:探索安全与JSF分支
- Text2Door: 一种基于Java的Google语音短信解析器工具
- CCReader:查看IMS通用墨盒内容的开源桌面工具
- 混合样板:React与车把的全栈项目模板
- PySAML2:构建SAML2服务和身份提供者的Python库
- 开源讲道准备数据库:高效笔记组织与检索工具
- 自由职业者个人理财服务:Dropbox兼容的开源应用
- toctoc工具:自动化维护Markdown文档目录
- torii-fire: 实现Firebase身份验证的emberfire插件
- 探索iDAG Space存储库:Dagger加密货币及其技术创新
- Firebase前端应用程序的域名隐藏技术实现
- GitHub上参与和托管KnightOS项目页面的指南
- Portainer-CE汉化与一键安装教程
- Linux内核netfilter功能在用户空间的实现探讨
- ForkDelta智能合约官方存储库使用指南
- Elasticsearch嵌入式版本及Shield演示项目解析
- JavaScript项目的GItHub页面解析与管理
- IPFS联盟代理:npm模块及守护程序脚本安装配置指南
- Gnome Display Switcher扩展:简易切换显示模式教程