我很难从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项目–chdir $ APP – 主
这是运行此命令后得到的消息:
uWSGI以root身份运行,可以使用–uid / – gid / – chroot选项
*警告:你正在运行uWSGI作为根! (使用–uid标志)
警告:您正在运行没有其主进程pipe理器的uWSGI *您的进程号限制是7890您的内存页大小是4096字节
检测到最大文件描述符编号:1024
锁引擎:pthread强大的互斥锁
雷霆锁:禁用(你可以使用–thunder-lock来启用它)
-s / – socket选项丢失,stdin不是套接字。
错误是,它似乎不运行或正确地find我的模块。 任何人都可以告诉我,我应该如何启动UWSGI为了find我的应用程序?
你可以尝试 – 模块而不是-w(可以做同样的事情)。 否则只要确保你的名字是正确的; 即。 传递wsgi_module_name或wsgi_module_name:application_callable_name
虽然,您的错误信息实际上并没有说与此有关的问题。 还有没有引用另一个消息?
你可以添加一个袜子文件到命令行:
/usr/local/bin/uwsgi --virtualenv $ENV --module project --chdir $APP --master -s myapp.sock