这几天有点时间开始学习了一下django。昨天是直接用自带的manage.py启动的。今天简单查了几下几种模式,后来选了uwsgi模式开跑django,主要是nginx自带了这个模块,比较方便。
1.nginx的配置
nginx的配置比较简单的,写个upstream然后写一下uwsgi_pass就OK。
server {
...........
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
# try_files $uri $uri/ /index.html;
# Uncomment to enable naxsi on this location
# include /etc/nginx/naxsi.rules
include uwsgi_params;
uwsgi_pass django;
uwsgi_buffer_size 8k;
uwsgi_intercept_errors on;
}
}
upstream django {
server 127.0.0.1:9000;
keepalive 1;
}
- 配置uwsgi
#/etc/uwsgi/apps-available/django.ini
[uwsgi]
socket = 127.0.0.1:9000
chdir = /home/pm/study/django/pystudy
daemonize=/home/pm/study/django/pystudy/pystudy.log
pidfile= /tmp/uwsgi.pid
module=pystudy.wsgi:application
master=True
uid=pm
gid=pm
plugin = python
processes = 2
threads = 4
stats = 127.0.0.1:9001
在apps-enabled建立链接到apps-available/django.ini 的软链接。
启动直接sudo /etc/init.d/uwsgi start即可
不过这个uwsgi的启动脚本貌似有问题,明明启动好了显示失败,而且uwsgi stop也没有把进程给停掉。