systemd服务管理HTTP代理的启动与关闭

74 阅读1分钟

huake_00219_.jpg在Linux系统中,通过systemd管理HTTP代理服务(如Squid、Nginx反向代理或自定义代理脚本)可实现自动化控制和状态监控。以下是完整的配置与操作指南。

一、创建代理服务单元文件****

编写服务配置
以Squid代理为例,创建服务文件/etc/systemd/system/squid-proxy.service:

ini

 

 [Unit]
 Description=HTTP Proxy Service (Squid)
 After=network.target
  
 [Service]
 Type=forking
 User=proxy
 Group=proxy
 ExecStart=/usr/sbin/squid -f /etc/squid/squid.conf -N
 ExecStop=/usr/sbin/squid -k shutdown
 ExecReload=/usr/sbin/squid -k reconfigure
 PIDFile=/var/run/squid.pid
 Restart=on-failure
 RestartSec=5s
 LimitNOFILE=65536
  
 [Install]
 WantedBy=multi-user.target

关键参数说明

Type=forking:适用于后台运行的服务

1. PIDFile:指定进程ID文件路径

2. Restart=on-failure:异常退出时自动重启

3. LimitNOFILE:增加文件描述符限制

二、服务管理操作****

基础操作命令

bash

 

 # 重新加载systemd配置
 sudo systemctl daemon-reload
  
 # 启动服务
 sudo systemctl start squid-proxy
  
 # 停止服务
 sudo systemctl stop squid-proxy
  
 # 重启服务
 sudo systemctl restart squid-proxy
  
 # 重新加载配置(不中断服务)
 sudo systemctl reload squid-proxy

开机自启设置

bash

 

 

通过systemd管理HTTP代理服务,可实现服务的标准化启动、停止、日志记录和资源控制,适用于生产环境中的代理服务器部署。建议结合监控工具(如Prometheus)实时跟踪代理运行状态。