Heim > Artikel > Betrieb und Instandhaltung > So stellen Sie Centos+Nginx+Uwsgi bereit, um das Django-Projekt zu starten
Mein Django-Projekt heißt yunwei. Die Hauptanwendungen sind rabc und web. Das gesamte Projekt wird wie folgt unter /opt/ abgelegt:
[root@test-code opt]# ls django_virt nginx redis redis-6.2.6 yunwei [root@test-code opt]# ls yunwei/ manage.py rbac static templates uwsgi web yunwei [root@test-code opt]# ls yunwei/uwsgi/ cut_log.sh log uwsgi.ini uwsgi.log uwsgi.pid uwsgi.sock [root@test-code opt]#/opt/yunwei/ ist das Stammverzeichnis meines Django-Projekts und verwaltet .py befindet sich in diesem Verzeichnis, es gibt ein gleichnamiges Unterverzeichnis yunwei unter /opt/yunwei/ und unten befindet sich eine Konfigurationsdatei Setting.pyPython-InstallationWenn die verwendete Python-Version 2 ist, gibt es keine Sie müssen es neu installieren. Wenn es 3 ist, müssen Sie es neu installierenDjango-bezogene Bibliotheksinstallation
#在原项目处导出django项目安装的库存入文件 pip freeze > install.txt
#在待部署的服务器上执行 pip install -r install.txtnginx-Installation und -Konfiguration ( Verarbeiten Sie statische Anfragen und dynamische Proxy-Anfragen an uwsgi Projektverzeichnis zum Speichern von uwsgi-bezogenen Dateien.
[root@test-code opt]# cat /opt/nginx/conf.d/django.conf server { listen 8881; server_name localhost; server_tokens off; location /static { root /opt/yunwei; index index.html index.htm; } location / { include uwsgi_params; #nginx加载uwsgi模块 uwsgi_buffer_size 16k; uwsgi_busy_buffers_size 24k; #如果你后端的需要超过60秒时间处理请求,那么一定要加上下面三个超时时间的设置,不然60s之后nginx断开链接报超时 uwsgi_send_timeout 600; # 指定向uWSGI传送请求的超时时间,完成握手后向uWSGI传送请求的超时时间。 uwsgi_connect_timeout 600; # 指定连接到后端uWSGI的超时时间。 uwsgi_read_timeout 600; # 指定接收uWSGI应答的超时时间,完成握手后接收uWSGI应答的超时时间。 uwsgi_pass unix:/opt/yunwei/uwsgi/uwsgi.sock; #nginx对应的uwsgi socket文件 } }
pip install uwsgiDeaktivieren Sie den DEBUG-Modus von Setting.py im Titel.
cd /opt/yunwei/ && mkdir uwsgi touch uwsgi/uwsgi.iniWenn der Debug-Modus „True“ ist, verarbeitet Django statische statische Anforderungen selbst. Jetzt verarbeitet Nginx diese Anforderungen selbst Fertig mit False Für die oben genannten Schritte müssen Sie nur uwsgi und nginx starten. Greifen Sie über den Nginx-Listen-Port darauf zu. Die Protokolldatei von uwsgi befindet sich unter /opt/yunwei/uwsgi/uwsgi.log. Sie können es beenden über ss -tnulp |. grep uwsgi - 9 Prozess-ID, um den Prozess abzubrechen
[root@test-code yunwei]# cat uwsgi/uwsgi.ini [uwsgi] #django项目的根目录,即manage.py所在的目录 chdir=/opt/yunwei #django项目的wsgi,yuwnei的项目名 module=yunwei.wsgi:application socket=/opt/yunwei/uwsgi/uwsgi.sock #这里是我的python虚拟环境,可以不配置 home=/opt/django_virt #进程数 workers=5 #pid文件路径 pidfile=/opt/yunwei/uwsgi/uwsgi.pid #IP端口 socket = 0.0.0.0:8000 master=true #退出清理文件 vacuum=true #启用线程 enable-threads=true #序列化接受的内容,如果可能的话 thunder-lock=true #设置自中断时间,如果后端处理一些请求时间比较长,这个一定要设置大一点 harakiri=3600 # socket-timeout=3600 #这个是和nginx搭配部署时的设置 http-timeout=3600 #这个是单独部署时的设置 #设置缓冲 post-buffering=65535 buffer-size = 6553600 #后台守护方式运行,日志路径 daemonize=/opt/yunwei/uwsgi/uwsgi.log
Das obige ist der detaillierte Inhalt vonSo stellen Sie Centos+Nginx+Uwsgi bereit, um das Django-Projekt zu starten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!