从远程服务器(CentOS-7)退出后,`python3 manage.py runserver`将无效

时间:2018-05-13 13:10:32

标签: python django

我使用python3 manage.py runserver在我的远程服务器(CentOS-7)中运行我的Django-Rest-Framework项目的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作为分发服务器,所以我用这种方式来部署我的项目。

1 个答案:

答案 0 :(得分:0)

在systemd服务中更好地使用uWSGI。

import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import {FormsModule, ReactiveFormsModule} from '@angular/forms';
import { AppComponent } from './app.component';

@NgModule({
  imports:      [ BrowserModule, FormsModule, ReactiveFormsModule ],
  declarations: [ AppComponent ],
  bootstrap:    [ AppComponent ]
})
export class AppModule { }