开发者
资源
文档评分
获取效率
正确性
完整性
易理解
在线提单
论坛求助

后台启动后代理连接异常的解决方法

现象描述

在交互终端里已配置代理,例如: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=”,因此服务进程里没有代理。

处理步骤

  1. 打开/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
  2. 按“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”保存并退出编辑。

  3. 重新加载DevKit AI服务并重启。
    sudo systemctl daemon-reload
    sudo systemctl restart devkitai-server
    sudo systemctl status devkitai-server