我使用python3 manage.py runserver,在我的远程服务器(CentOS-7)中运行我的Django- remote项目的API。
但是,当我退出远程服务器(CentOS-7)后,API将无法提供服务。
如果我再次登录到远程服务器,API仍然不能工作,但是我列出了runserver命令,它就在那里。
[root@www ~]# ps aux | grep runserver
lll 26439 0.0 0.5 275884 41704 ? S 07:29 0:00 python3 manage.py runserver
lll 26443 3.1 1.0 380044 83264 ? S 07:29 10:22 /home/lll/repo/Qit/venv_dist/bin/python3 manage.py runserver
root 32575 0.0 0.0 112680 972 pts/1 S+ 12:56 0:00 grep --color=auto runserver我的问题是,当我登录远程服务器运行服务器的django时,API可以工作,但我注销了远程服务器,API现在无法访问。
我的wsgi.py设置
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "Qn.settings")
import django
print("django.setup()")
django.setup()
from socketio import Middleware
from qn_admin_website_chat.views import sio
django_app = get_wsgi_application()
application = Middleware(sio, django_app)
import eventlet
import eventlet.wsgi
eventlet.wsgi.server(eventlet.listen(('', 8000)), application) 一些朋友说可以使用eventlet.wsgi.server作为分发服务器,所以我用这种方式部署我的项目。
发布于 2018-05-13 14:06:47
最好在systemd服务中使用uWSGI。
# /etc/systemd/system/app.service
[Service]
Type=simple
ExecStart=/blabla/virtualenv/bin/uwsgi --ini /path/to/config.ini
[Install]
WantedBy=multi-user.target
% sudo systemctl enable --now app.servicehttps://stackoverflow.com/questions/50316488
复制相似问题