CentOS 7.3详解:Nginx虚拟主机配置全攻略
134 浏览量
更新于2024-09-01
收藏 269KB PDF 举报
本文将详细介绍如何在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的工作原理有更深入的理解。
2019-05-10 上传
2023-05-13 上传
2023-08-06 上传
2024-04-28 上传
2023-07-09 上传
2023-07-09 上传
2024-02-20 上传
weixin_38640168
- 粉丝: 6
- 资源: 959
最新资源
- MATLAB实现小波阈值去噪:Visushrink硬软算法对比
- 易语言实现画板图像缩放功能教程
- 大模型推荐系统: 优化算法与模型压缩技术
- Stancy: 静态文件驱动的简单RESTful API与前端框架集成
- 掌握Java全文搜索:深入Apache Lucene开源系统
- 19计应19田超的Python7-1试题整理
- 易语言实现多线程网络时间同步源码解析
- 人工智能大模型学习与实践指南
- 掌握Markdown:从基础到高级技巧解析
- JS-PizzaStore: JS应用程序模拟披萨递送服务
- CAMV开源XML编辑器:编辑、验证、设计及架构工具集
- 医学免疫学情景化自动生成考题系统
- 易语言实现多语言界面编程教程
- MATLAB实现16种回归算法在数据挖掘中的应用
- ***内容构建指南:深入HTML与LaTeX
- Python实现维基百科“历史上的今天”数据抓取教程