简介
当你准备将 Hypervel 应用部署到生产环境时,有一些关键的优化事项可以帮助你确保应用以最高效的方式运行。本文将介绍一些部署 Hypervel 应用的基础知识,帮助你正确地进行上线配置。
服务器要求
Hypervel 有一些系统要求。你需要确保你的 Web 服务器满足以下最低 PHP 版本及扩展要求:
- PHP >= 8.2
- Swoole PHP 扩展 >= 5.1
- JSON PHP 扩展
- PDO PHP 扩展
- Pcntl PHP 扩展
- Session 扩展(如果你需要使用会话功能)
- OpenSSL PHP 扩展(如果你需要使用 HTTPS)
- Redis PHP 扩展(如果你需要使用 Redis 客户端)
Docker
如果你打算通过 Docker 部署应用,你可以参考 hyperf/hyperf-docker 项目中的各种 Dockerfile,或者直接使用基于 hyperf/hyperf 的预构建镜像。
服务器配置
用于 HTTP 的 Nginx
如果你部署应用的服务器运行的是 Nginx,可以参考以下配置文件作为起点进行 Web 服务器的设置。根据你的实际服务器配置,可能需要对配置文件做一些定制化调整。
server {
# 监听端口
listen 80;
# 绑定的域名,填写你自己的域名
server_name proxy.hypervel.org;
location / {
# 将客户端的 Host 和 IP 信息转发到后端节点
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# 转发 cookie,并设置 SameSite 属性
proxy_cookie_path / "/; secure; HttpOnly; SameSite=strict";
# 实际代理到后端服务器
proxy_pass http://127.0.0.1:9501;
}
}
用于 WebSocket 的 Nginx
如果你打算代理 WebSocket 服务,可以参考下面的配置文件:
server {
listen 80;
server_name websocket.hypervel.org;
location / {
# 设置 WebSocket 所需的 Header
proxy_http_version 1.1;
proxy_set_header Upgrade websocket;
proxy_set_header Connection "Upgrade";
# 转发客户端的 Host 和 IP 信息
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
# 客户端与服务器之间 60 秒无交互会自动断开,根据业务需要调整
proxy_read_timeout 60s ;
# 实际代理到 WebSocket 服务
proxy_pass http://127.0.0.1:9502;
}
}