跳到主要内容
版本:Next

Apache

Apache HTTP Server 是一个 HTTP 服务器软件,它被用于 HTTP 服务器 等场景。Apache HTTP Server 是一个流行的开源 HTTP 服务器,为应用程序提供 HTTP 服务。

architecture

准备

在参阅本文档使用 Apache HTTP Server 时,需要确保如下几点:

  • 应用是基于 Websoft9 安装的

  • 应用的用途符合 LGPL-2.1 开源许可协议

  • 应用具备访问条件:配置域名服务器安全组开启网外端口

入门指南

Websoft9 提供的 Apache 应用两个用途:

  • 直接运行静态网站
  • 作为反向代理服务(不推荐使用 Apache 反向代理)

Apache 容器中不包含 PHP,如果想部署 PHP 网站,通过 Websoft9 控制台运行 PHP 容器。

部署静态网站

  1. Websoft9 控制台安装 Apache 后,通过 "我的应用" 查看应用详情,在 "访问" 标签页中获取访问信息

  2. 点击访问地址,可看到一个用于演示的静态页面

  3. 接下来,我们通过替换当前的演示网站的方式部署自己的静态网站

    1. 通过 "我的应用" > "Apache 容器" 的编排 标签页,进入应用的 Git 仓库
    2. 上传自己的静态网站文件到 site 目录
  4. Websoft9 控制台重建应用后生效

挂载 httpd.conf 配置文件

虽然 Apache 配置文件可以通过 sed 命令修改,但建议挂载到容器外进行设置:

  1. 进入 Apache 容器,拷贝 /usr/local/apache2/conf/httpd.conf 文件的内容

  2. 通过 "我的应用" > "Apache 容器" 的编排 标签页,进入应用的 Git 仓库

  3. 将拷贝的 httpd.conf 内容粘贴到 ./src/httpd.conf 中,再修改 docker-compose.yml 挂载设置

  4. 重建容器后生效

设置伪静态

使用和设置 Apache 伪静态有三个步骤:

  • 确保已经安装并启用 Rewirte 模块
  • Apache 配置文件中增加 AllowOverride All
  • 网站根目录 .htaccess文件中配置伪静态规则

并发连接设置

配置文件中如下内容可作为并发连接相关设置:

<IfModule prefork.c>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 256
MaxRequestsPerChild 3000
</IfModule>

配置选项

管理维护

故障

You don't have permission...?

错误详情:You don't have permission to access/on this server
解决办法:

  1. 检查网站目录的权限
  2. 检查 Apache 配置文件是否有 "AllowOverride All Require all granted" 相关内容

Apache 频繁 403 错误?

403错误是一种在网站访问过程中的错误提示,表示禁止访问或拒绝服务。出现403错误,情况有两种:

  • 服务器被动的受到人为饱和的DoS或DDoS恶意攻击,导致服务器无法提供正常的服务
  • 服务器的主动防御措施(Apache 的 mod_evasive 模块),当某个 IP 短时间连续向服务器发送请求,服务器启动DoS防御策略,利用预设的规则主动拒绝向某个IP提服务