uWSGI配置启动Django

1. 不使用ini配置文件,直接命令行启动

首先进入网站的根目录,这里假设我的项目是在/home/mysite

//进入根目录
cd /home/mysite
//启动web服务,qpp为一个目录,wsgi.py文件放在里面。
/python37/bin/uwsgi --http :8000 --file app/wsgi.py --static-map=/static=static    

2.使用ini配置文件启动uWSGI

写一个ini配置文件,名称自定义,我这定义一个wsgi.ini的配置文件,此文件放在项目的根目录下(在我的项目中放在/home/mysite目录下),即跟manage.py放一个目录下。

//配置好了进入web根目录启动
./python37/bin/uwsgi --ini ./uwsgi.ini

uwsig内容如何:

[uwsgi]
http=0.0.0.0:8000
socket=app.sock
master=true

#我的项目DjangoLi放在此目录下
chdir = /home/cc/

#DjangoLi是我的项目目录名
wsgi-file = DjangoLi/wsgi.py
# maximum number of worker processes
processes=4
threads=2
# Django's wsgi file

#下面这句是旧版的需要配,我用的是最新的所以注释了
#module=DjangoLicense.wsgi:application

# chmod-socket=664
# uid=www-data
# gid=www-data

# clear environment on exit
vacuum = true

注意:这样配置后,用/uwsgi --ini ./uwsgi.ini启动正常django,但是页面是没法出来的,会提示 Resource interpreted as Stylesheet but transferred with MIME type text/plain 还有js错误之类的

解决办法:
urls.py加入:

from django.views.static import serve
from DjangoLicense.settings import STATIC_ROOT
urlpatterns = [
    # url(r'e/', views.hello),
    url(r'^static/(?P<path>.*)$', serve, {'document_root': STATIC_ROOT}),
]

在settings.py中加入

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
STATIC_ROOT = os.path.join(BASE_DIR, 'static/')

然后启动后就正常了

uWSGI配置启动DjangouWSGI配置启动Django yjl2055 发布了30 篇原创文章 · 获赞 2 · 访问量 3516 私信 关注
上一篇:如何在Airflow中设置DAG之间的依赖关系?


下一篇:django--各个文件的含义