You need to enable JavaScript to run this app. Ubuntu系统部署Celery守护进程启动失败问题求助
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu系统部署Celery守护进程启动失败问题求助

问题根源

systemd运行服务时使用独立的运行环境,不会继承你在当前登录shell中导出的LC_ALL、LANG变量,因此即使你手动在终端执行过导出命令,服务启动时依然读取不到对应编码配置,触发Click的编码校验报错。而你手动执行启动命令正常,是因为当前shell会话已经加载了你配置的编码变量。

解决方案

任选以下一种方式配置即可:

方案1:在celery服务配置文件中添加环境变量

编辑/etc/systemd/system/celery.service,在[Service]段中添加两行编码配置:

[Service]
# 原有配置保持不变,新增以下两行
Environment=LC_ALL=C.UTF-8
Environment=LANG=C.UTF-8

修改完成后执行命令生效:

sudo systemctl daemon-reload
sudo systemctl restart celery.service

方案2:在celery环境变量文件中添加配置

你已经在服务中配置了加载/etc/default/celeryd作为环境变量文件,直接在该文件末尾添加两行配置即可:

LC_ALL=C.UTF-8
LANG=C.UTF-8

修改完成后执行命令生效:

sudo systemctl daemon-reload
sudo systemctl restart celery.service

验证

执行sudo systemctl status celery.service查看服务状态,正常配置后会显示active (running)。

内容的提问来源于stack exchange,提问作者Stack

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 03:12:01