后台启动后代理连接异常的解决方法
现象描述
在交互终端里已配置代理,例如:export http_proxy=http://user:pass@proxy_host:port。交互执行./devkitai对话正常,但执行./devkitai server后台启动后,任务访问大模型或外网失败(超时、连接失败等)。
可能原因
./devkitai server命令默认以systemd守护方式启动(系统级unit一般在“/etc/systemd/system/devkitai-server.service”)。systemd启动的服务不会自动继承当前登录shell里的环境变量,当前生成的服务单元也默认未写入代理相关“Environment=”,因此服务进程里没有代理。
处理步骤
- 打开/etc/systemd/system/devkitai-server.service文件。
vi /etc/systemd/system/devkitai-server.service
文件内容如下:
[Unit] Description=DevKit AI HTTP Server After=network-online.target Wants=network-online.target StartLimitIntervalSec=60 StartLimitBurst=5 [Service] Type=simple WorkingDirectory=/home/DevKit-AI-x.x.x-Linux-Kunpeng ExecStart=/home/DevKit-AI-x.x.x-Linux-Kunpeng/devkitai server Restart=on-failure RestartSec=5 StandardOutput=journal StandardError=journal [Install] WantedBy=multi-user.target
- 按“i”进入编辑模式,在“Service”字段增加代理地址(按实际代理修改),修改文件内容示例如下。
[Unit] Description=DevKit AI HTTP Server After=network-online.target Wants=network-online.target StartLimitIntervalSec=60 StartLimitBurst=5 [Service] Type=simple WorkingDirectory=/home/DevKit-AI-x.x.x-Linux-Kunpeng ExecStart=/home/DevKit-AI-x.x.x-Linux-Kunpeng/devkitai server Restart=on-failure RestartSec=5 StandardOutput=journal StandardError=journal Environment="http_proxy=http://user:pass@proxy_host:port" Environment="https_proxy=http://user:pass@proxy_host:port" Environment="no_proxy=localhost,xxx.xxx.xxx.xxx,.xxx.com" [Install] WantedBy=multi-user.target
编辑完成后按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 重新加载DevKit AI服务并重启。
sudo systemctl daemon-reload sudo systemctl restart devkitai-server sudo systemctl status devkitai-server
父主题: FAQ