我很难尝试从 UWSGI 运行模块。这是我的部署代码的一部分:
# ENVIRONMENT
/usr/bin/pip install virtualenv
mkdir -p /srv/www/test
/usr/local/bin/virtualenv /srv/www/test/venv
source /srv/www/test/venv/bin/activate
/srv/www/test/venv/bin/pip install --force-reinstall -e [email protected]:xyz/project.git#egg=project
这是模块根目录中 run.py 的代码
from project import app
def main():
"""docstring for main"""
app.run(debug=True)
if __name__ == '__main__':
main()
这是我试图用来运行它的命令:
/usr/local/bin/uwsgi --virtualenv $ENV --module project --chdir $APP --master
这是我运行此命令后收到的消息:
uWSGI 以 root 身份运行,您可以使用 --uid/--gid/--chroot 选项
* 警告:你正在以 root 身份运行 uWSGI !!!(使用 --uid 标志)
警告:您在没有主进程管理器的情况下运行 uWSGI * 您的进程数限制为 7890 您的内存页面大小为 4096 字节
检测到最大文件描述符数:1024
锁定引擎:pthread 强大的互斥
锁:禁用(您可以使用 -- Thunder-lock)
缺少 -s/--socket 选项并且 stdin 不是套接字。
错误是它似乎没有正确运行或找到我的模块。谁能告诉我应该如何启动 UWSGI 才能找到我的应用程序?
您可以在命令行中添加一个 sock 文件:
您可以尝试 --module 而不是 -w (可以做同样的事情)。否则,请确保您的名称正确;IE。传递 wsgi_module_name 或 wsgi_module_name:application_callable_name
虽然,您的错误消息实际上并没有说明存在与此相关的问题。你还有没有引用的消息吗?