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

Centos 7 服务器部署多网站

一、准备工作

  1. 安装 Apache

    bash

    sudo yum install httpd -y
    sudo systemctl start httpd
    sudo systemctl enable httpd
    
  2. 创建网站目录
    假设部署 2 个网站,目录结构如下:

    bash

    sudo mkdir -p /var/www/site1/html
    sudo mkdir -p /var/www/site2/html
    
  3. 添加测试内容

    bash

    echo "This is Site 1" > /var/www/site1/html/index.html
    echo "This is Site 2" > /var/www/site2/html/index.html
    

二、配置虚拟主机(基于 IP 或域名)

方案 1:仅用 IP 访问(无域名,适合内网测试)

修改 Apache 虚拟主机配置文件(若不存在需新建):

bash

sudo vi /etc/httpd/conf.d/vhosts.conf

添加以下内容(通过 不同端口 区分网站):

apache

# 网站 1:通过 IP:端口 访问(如 http://10.10.10.129:8080)
<VirtualHost *:8080>ServerAdmin webmaster@site1DocumentRoot "/var/www/site1/html"ServerName 10.10.10.129:8080ErrorLog "/var/log/httpd/site1-error_log"CustomLog "/var/log/httpd/site1-access_log" combined
</VirtualHost># 网站 2:通过 IP:另一端口 访问(如 http://10.10.10.129:8081)
<VirtualHost *:8081>ServerAdmin webmaster@site2DocumentRoot "/var/www/site2/html"ServerName 10.10.10.129:8081ErrorLog "/var/log/httpd/site2-error_log"CustomLog "/var/log/httpd/site2-access_log" combined
</VirtualHost>
方案 2:搭配域名访问(推荐,需提前配置 DNS 解析)

假设域名为 site1.local 和 site2.local(内网可通过本地 hosts 文件绑定:10.10.10.129 site1.local site2.local),配置如下:

apache

# 网站 1:通过域名访问(如 http://site1.local)
<VirtualHost *:80>ServerAdmin webmaster@site1DocumentRoot "/var/www/site1/html"ServerName site1.localServerAlias www.site1.local  # 可选:支持带 www 的域名ErrorLog "/var/log/httpd/site1-error_log"CustomLog "/var/log/httpd/site1-access_log" combined
</VirtualHost># 网站 2:通过另一域名访问(如 http://site2.local)
<VirtualHost *:80>ServerAdmin webmaster@site2DocumentRoot "/var/www/site2/html"ServerName site2.localServerAlias www.site2.localErrorLog "/var/log/httpd/site2-error_log"CustomLog "/var/log/httpd/site2-access_log" combined
</VirtualHost>

DNS 要加一条 search local

三、配置防火墙(CentOS 7 默认使用 firewalld)

  1. 开放端口(根据方案选择端口,示例为 80、8080、8081):

    bash

    sudo firewall-cmd --permanent --add-port=80/tcp
    sudo firewall-cmd --permanent --add-port=8080/tcp
    sudo firewall-cmd --permanent --add-port=8081/tcp
    sudo firewall-cmd --reload
    
  2. 若为公网服务器:需在云服务商控制台放行对应端口(如阿里云安全组、腾讯云防火墙)。

四、验证访问

  1. 内网测试

    • 方案 1:访问 http://10.10.10.129:8080 和 http://10.10.10.129:8081,查看是否显示对应内容。
    • 方案 2:在内网电脑的 hosts 文件中添加 10.10.10.129 site1.local site2.local,然后访问 http://site1.local 和 http://site2.local
  2. 公网测试(若 IP 为公网 IP):

    • 直接通过公网 IP: 端口 或域名访问(需确保 DNS 解析已生效)。

五、扩展:使用 HTTPS(需域名)

若后续需要为网站添加 HTTPS(需先绑定域名):

  1. 安装证书工具(以 Let's Encrypt 为例):

    bash

    sudo yum install epel-release -y
    sudo yum install certbot python2-certbot-apache -y
    
  2. 申请证书并配置:

    bash

    sudo certbot --apache -d site1.local -d www.site1.local  # 替换为实际域名
    
     

    证书会自动配置到 Apache 虚拟主机中,访问时会强制跳转至 https://

常见问题处理

  1. 端口冲突:确保端口未被其他服务占用(如 netstat -tunlp | grep 8080)。
  2. 权限问题:若无法访问文件,检查目录权限(建议设置为 chown -R apache:apache /var/www/site*)。
  3. 域名解析延迟:公网域名解析可能需要几分钟到几小时生效,可通过 nslookup site1.local 检查解析状态。

通过以上步骤,可在同一服务器上基于 IP 或域名部署多个独立网站服务。如果需要更复杂的负载均衡或动态网站(如 PHP、Node.js),可进一步配置 FastCGI 或反向代理。

测试第一个网站

测试第二个网站

 

网站内容自己添加,网站页面是开发做的跟运维没关系

 

http://www.dtcms.com/a/240081.html

相关文章:

  • 关于uniapp展示PDF的解决方案
  • 相机Camera日志实例分析之一:相机Camx【前置慢动作分辨率切换720P、1080P录制】单帧流程日志详解
  • AirSim/Cosys-AirSim 游戏开发(四)外部固定位置监控相机
  • 相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解
  • 三维GIS开发cesium智慧地铁教程(5)Cesium相机控制
  • ArcGIS Pro+ArcGIS给你的地图加上北回归线!
  • 相机从app启动流程
  • Qt 窗口
  • STA(Station)模式与AP(Access Point)模式
  • VSCode 使用CMake 构建 Qt 5 窗口程序
  • [C++错误经验]case语句跳过变量初始化
  • DAY 26 函数专题1:函数定义与参数
  • Word VBA快速制作填空题
  • 基于 PyTorch 和 OpenCV 的实时表情检测系统
  • OPENCV的cvtColor和putText的讲解
  • 零基础设计模式——行为型模式 - 命令模式
  • Unity | AmplifyShaderEditor插件基础(第六集:平面波动shader)
  • java中word快速转pdf
  • 2.2.2 ASPICE的需求分析
  • 大话软工笔记—需求分析概述
  • Vue 3 + WebSocket 实战:公司通知实时推送功能详解
  • 测试微信模版消息推送
  • Yii2项目自动向GitLab上报Bug
  • Linux-08 ubuntu 的 chrome浏览器不能使用 搜狗 输入法,但是火狐可以
  • 【MATLAB第119期】基于MATLAB的KRR多输入多输出全局敏感性分析模型运用(无目标函数,考虑代理模型)
  • 原型模式深度解析:Java设计模式实战指南与克隆机制优化实践
  • C# dll版本冲突解决方案
  • C# 使用表达式树(Expression Tree)代替反射赋值
  • 机器学习之聚类Kmeans算法
  • MongoDB 入门指南:安装、配置与 Navicat 连接教程