我使用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
作为分发服务器,所以我用这种方式来部署我的项目。
答案 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 { }