Django_uwsgi_nginx_centos_笔记

Django_uwsgi_nginx_centos_笔记

转载注明来源: 本文链接 来自osnosn的博客,写于 2020-05-19.

我用的版本:

  • Django-2.1
  • uWSGI-2.0.18

通过 pip3 安装 Django, uwsgi

  • 用的python3.6,装好虚拟环境。
  • 创建虚拟环境。
  • 启动虚拟环境。
  • pip3 install Django
  • pip3 install uwsgi

Django 本地运行测试

  • 如果修改了程序,暂时不使用 uwsgi 启动。可以直接用python3运行。
python3 manage.py runserver
python3 manage.py runserver 5000  #指定端口
# 按 CTRL-C 就退出了。

配置参考

  • uwsgi-config.xml
<uwsgi>
   <socket>127.0.0.1:8228</socket><!-- 内部端口,自定义 -->
   <chdir>/mydata/py3/proj/</chdir><!-- 项目路径 -->
   <pidfile>/mydata/py3/proj/airport.pid</pidfile>
   <module>PROJNAME.wsgi</module> <!-- 指向PROJNAME/wsgi.py -->
   <master>1</master>
   <processes>3</processes> <!-- 进程数 -->
   <daemonize>uwsgi.log</daemonize><!-- 日志文件 -->
</uwsgi>

  • nginx.conf, location{ },
# 需要 path('/djg/hello',hello.main)
location ^~ /djg/ {
        include uwsgi_params;
        uwsgi_pass 127.0.0.1:8081;
}

关于 ALLOWED_HOSTS

  • ALLOWED_HOSTS = ['localhost','127.0.0.1','mydomain.com'] 这样,本地运行,部署上站,都OK。

关于静态目录 STATIC_URL=

  • 在 settings.py 中,这个变量可以随便设置,但最好两头都带 '/' 号,否则会有说不清的问题(我没搞明白)。
    • STATIC_URL='/mystatic/'
    • STATIC_URL='/mydir/mystatic/'
    • 以上两种设置,本地运行runserver 都没有问题。
    • 但以 uwsgi 执行时 (DEBUG=True), 有可能不行。就需要在 urls.py 中加入两行。
urlpatterns = [ .... ]  #在这句之后添加两行
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
urlpatterns += staticfiles_urlpatterns()

在 templates目录内 html 模板文件中使用 static 目录

{% load static %}
<img src="{% static "img.jpg" %}">

在 py 程序中使用 STATIC_URL 变量

from django.conf import settings
def xxxxx(self):
   html='<img src="{static}img.jpg">'.format(static=settings.STATIC_URL)

转载注明来源: 本文链接 来自osnosn的博客.

猜你喜欢

转载自www.cnblogs.com/osnosn/p/12916395.html
今日推荐