You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

nginx、uwsgi开机自启问题:自定义conf文件未执行原因咨询

排查uWSGI Upstart配置未生效的问题

首先得指出你配置里最显眼的问题:respawn和exec指令写在了同一行,这不符合Upstart的语法规则——每个指令必须单独占一行,这大概率是配置失效的核心原因之一。

下面我们一步步拆解排查方向:

1. 先修复Upstart配置的语法错误

你的/etc/init/uwsgi.conf应该调整成这样:

# simple uWSGI script
description "uwsgi tiny instance"
start on runlevel [2345]
stop on runlevel [06]
respawn
exec uwsgi --ini /home/iiits/Mahimusic/mahimusic.ini

注意respawn单独一行,exec单独一行,Upstart对指令格式和换行的要求很严格。

2. 给uWSGI使用绝对路径

系统开机时的PATH环境变量和你登录后的环境不一样,直接写uwsgi可能找不到可执行文件。先手动执行which uwsgi拿到绝对路径(比如/usr/local/bin/uwsgi),然后把exec行改成:

exec /usr/local/bin/uwsgi --ini /home/iiits/Mahimusic/mahimusic.ini

3. 添加日志输出,方便定位问题

Upstart默认不会把启动日志放到易查看的位置,建议在配置里加日志相关指令:

# 添加这两行,日志会存在/var/log/uwsgi/目录下
console log
logdir /var/log/uwsgi

记得先创建日志目录并设置对应权限:

sudo mkdir /var/log/uwsgi
sudo chown iiits:iiits /var/log/uwsgi  # 换成你运行uWSGI的用户

4. 手动测试服务启动,验证配置

先跳过开机启动,手动启动服务看看有没有报错:

sudo start uwsgi

如果启动失败,执行status uwsgi查看状态信息,或者去刚才配置的日志目录看具体错误。

5. 确认uWSGI配置文件本身没问题

先抛开Upstart,直接手动运行uWSGI指令,验证你的ini文件是否正常:

uwsgi --ini /home/iiits/Mahimusic/mahimusic.ini

如果这一步运行失败,说明是ini文件的问题(比如端口被占用、路径不存在、权限不足等),先修复ini文件的问题,再回到Upstart配置。

6. 检查文件与权限

确保运行uWSGI的用户(如果ini里指定了uid/gid)对/home/iiits/Mahimusic/目录和ini文件有读写权限;如果uWSGI要绑定80/443这类特权端口,要么用root启动,要么给uWSGI设置对应的capabilities权限。

按照这些步骤排查,应该能快速找到问题所在。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 08:13:19