CentOS 7.3详解:Nginx虚拟主机配置全攻略

0 下载量 12 浏览量 更新于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的工作原理有更深入的理解。