django+nginx+uwsgi配置

来源:互联网 发布:游戏制作软件有哪些 编辑:程序博客网 时间:2024/05/21 22:53


安装uwsgi时报错
you need a C compiler to build uwsgi
yum install -y gcc gcc-c++ 
pluging/python/uwsgi_python.h : fatal error : No such file
在安装uwsgi 以前,请确保libxml2,gcc,python-devel正确安装
最后 uwsgi --http :8001 --wsgi-file test.py来测试一下 127.0.0.1:8001

安装django
直接pip install django
django-admin startproject demo
python manage.py migrate
然后修改下ALLOWED_HOSTS = ['*']

安装nginx
yum install nginx


开始配置nginx+uwdgi


配置nginx.conf
server {
listen 80;
server_name localhost;
location / { 
include uwsgi_params;
uwsgi_pass 127.0.0.1:9090; 
uwsgi_param UWSGI_SCRIPT demosite.wsgi; 
uwsgi_param UWSGI_CHDIR /demosite; //项目的根目录
index index.html index.htm;
client_max_body_size 35m;
}
}

配置uwsgi
新建/etc/uwsgi9090.ini
[uwsgi]
socket = 127.0.0.1:9090
master = true //主进程
vhost = true //多站模式
no-site = true //多站模式时不设置入口模块和文件
workers = 2 //子进程数
reload-mercy = 10 
vacuum = true //退出、重启时清理文件
max-requests = 1000 
limit-as = 512
buffer-size = 30000
pidfile = /var/run/uwsgi9090.pid //pid文件,用于下面的脚本启动、停止该进程
daemonize = /website/uwsgi9090.log //可能需要自己去新建
然后
uwsgi --ini /etc/uwsgi9090.ini &
在重启下nginx服务器就可以
我随便也弄了个svn库,方便在本地写代码
但是最后本地修改代码提交上去是无反应的,最后发现原来每修改一次代码就要重启下uwsgi服务器,我用了
killall uwsgi
uwsgi --ini /etc/uwsgi9090.ini &

参考菜鸟教程