Apache
Apache HTTP Server 是一个 HTTP 服务器软件,它被用于 HTTP 服务器 HTML 等场景。Apache HTTP Server 是一个流行的开源 HTTP 服务器,为应 用程序提供 HTTP 服务。
准备
在参阅本文档使用 Apache HTTP Server 时,需要确保如下几点:
-
登录 Websoft9 控制台,然后找到(或安装)Apache HTTP Server:
- 我的应用 菜单找到应用
- 应用商店 菜单部署应用
-
应用是基于 Websoft9 安装的
-
应用的用途符合 LGPL-2.1 开源许可协议
-
为应用准备配置访问方式:配置域名 或 服务器安全组开启网外端口
入门指南
Websoft9 提供的 Apache 应用两个用途:
- 直接运行静态网站
- 作为反向代理服务(不推荐使用 Apache 反向代理)
Apache 容器中不包含 PHP,如果想部署 PHP 网站,通过 Websoft9 控制台运行 PHP 容器。
部署静态网站
-
Websoft9 控制台安装 Apache 后,通过 "我的应用" 查看应用详情,在 "访问" 标签页中获取访问信息
-
点击访问地址,可看到一个用于演示的静态页面
-
参考 基于程序环境部署应用 部署静态网站
挂载 httpd.conf 配置文件
虽然 Apache 配置文件可以通过 sed
命令修改,但建议挂载到容器外进行设置:
-
进入 Apache 容器,拷贝 /usr/local/apache2/conf/httpd.conf 文件的内容
-
通过 我的应用 > Apache 应用 > 编排 > 马上修改,进入应用的 Git 仓库
-
将拷贝的 httpd.conf 内容粘贴到 ./src/httpd.conf 中,再修改 docker-compose.yml 挂载设置
-
重建容器后生效
设置伪静态
使用和设置 Apache 伪静态有三个步骤:
- 确保已经安装并启用 Rewirte 模块
- Apache 配置文件中增加 AllowOverride All
- 网站根目录 .htaccess文件中配置伪静态规则
并发连接设置
配置文件中如下内容可作为并发连接相关设置:
<IfModule prefork.c>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 256
MaxRequestsPerChild 3000
</IfModule>
配置选项
- Apache 容器端口:80
- CLI:
httpd -h
- Apache 官方文档
- Apache 容器使用指南
- Apache 配置文件 :/usr/local/apache2/conf/httpd.conf
管理维护
故障
You don't have permission...?
错误详情:You don't have permission to access/on this server
解决办法:
- 检查网站目录的权限
- 检查 Apache 配置文件是否有 AllowOverride All Require all granted 相关内容
Apache 频繁 403 错误?
403错误是一种在网站访问过程中的错误提示,表示禁止访问或拒绝服务。出现403错误,情况有两种:
- 服务器被动的受到人为饱和的DoS或DDoS恶意攻击,导致服务器无法提供正常的服务
- 服务器的主动防御措施(Apache 的 mod_evasive 模块),当某个 IP 短时间连续向服务器发送请求,服务器启动DoS防御策略,利用预设的规则主动拒绝向某个IP提服务