守护进程
在生产环境中,将 Pingora 作为 守护进程(Daemon) 运行非常重要,这样即使关闭终端或会话,服务仍能保持运行。
前台与后台运行
- 前台模式(默认)
Pingora 在终端中直接运行,便于调试和查看日志。
pingora --config /etc/pingora/config.yaml
`
- 后台模式(守护进程)
使用
--daemon参数,可以将 Pingora 转为守护进程:
pingora --config /etc/pingora/config.yaml --daemon
后台模式下,Pingora 会将 PID 文件 写入默认路径(如 /var/run/pingora.pid),便于管理。
管理守护进程
查看状态
ps aux | grep pingora
cat /var/run/pingora.pid
停止服务
kill $(cat /var/run/pingora.pid)
重启服务
kill -HUP $(cat /var/run/pingora.pid)
注:使用 HUP 信号可触发优雅重启,保证连接不中断。
与系统服务集成
推荐使用 systemd 管理 Pingora 守护进程,实现开机自启和统一管理。
示例 systemd 服务文件
路径:/etc/systemd/system/pingora.service
[Unit]
Description=Pingora Proxy Service
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/pingora --config /etc/pingora/config.yaml --daemon
ExecReload=/bin/kill -HUP $MAINPID
ExecStop=/bin/kill -TERM $MAINPID
Restart=on-failure
User=pingora
Group=pingora
[Install]
WantedBy=multi-user.target
启用与启动服务
systemctl daemon-reload
systemctl enable pingora
systemctl start pingora
systemctl status pingora
通过守护进程运行,Pingora 可以在后台稳定运行,结合 systemd 可以实现开机自启、自动重启和日志集中管理,适合生产环境部署。
相关内容
- 高级主题 (WIP) 探索 Pingora 的高级特性,包括内部机制、异步运行时、线程模型和自定义扩展。
- 后台服务 学习如何在 Pingora 中配置和运行后台服务,包括定时任务、异步执行和守护进程管理。
- 异步上下文中的阻塞代码 学习如何在 Pingora 异步运行时中处理阻塞代码,确保高并发请求环境下的性能和稳定性。
- 构建 HTTP 代理 学习如何使用 Pingora 构建 HTTP 代理服务,包括基本请求转发、上游配置和自定义过滤器。
- 配置文件 了解 Pingora 的配置文件结构、主要参数及其作用,学习如何为不同场景编写高效、清晰的配置。
- 连接池与复用 学习如何在 Pingora 中使用连接池和连接复用,提高代理服务的性能和资源利用率。