首先要装一些东西
之前先搞一下ppa
个人是用的Ubuntu 12.04.4
有些软件还ppa之后再装比较好,具体ppa是个啥东西 不知道的问谷歌
add-apt-repository ppa:nginx/stable
apt-get update`
安装一些依赖的包
apt-get install mysql-server libxml2 libxml2-dev python-dev libpcre3 libpcre3-dev python-MySQLdb
直接pip装uwsgi 我装的是lts版本的
pip install http://projects.unbit.it/downloads/uwsgi-lts.tar.gz
apt-get
也是可以的(不然ppa就没意义了)
然后安装nginx
apt-get install nginx
安装django
我这是1.5.4版本的django
然后就是配置了
先搞一搞django的项目,我的项目地址是在/var/www/
下
django-admin.py startproject blog
然后1.5.4会生成一个blog的app,下面有一个uwsgi.py的文件,不要动就行了
然后在这个下面新建一个xml文件,什么名字都可以,我这是uwsg.xml(ini也可以,而且貌似比较方便)
xml文件里面的配置如下:
nginx配置文件:
server {
listen 80;
access_log /var/log/nginx/dashboard.access.log;
location /static/ {
root /var/www/idashboard/;
autoindex off;
}
location /{
root /var/www/idashboard/;
uwsgi_pass 127.0.0.1:9090;
include uwsgi_params;
}
}
uwsgi配置文件:
<uwsgi>
<socket>127.0.0.1:9090</socket>
<master>true</master>
<processes>3</processes>
<uid>knownsec</uid>
<gid>knownsec</gid>
<pythonpath>/var/www/idashboard/</pythonpath>
<module>idashboard.wsgi:application</module>
<env>DJANGO_SETTINGS_MODULE=idashboard.settings</env>
<!-- daemonize>/var/www/dashoboard.log</dae monize -->
</uwsgi>
uwsgi自启动脚本:
/etc/init
# ssh - OpenBSD Secure Shell server
#
# The OpenSSH server provides secure shell access to the system.
description " myblog server"
start on runlevel [2345]
stop on runlevel [!2345]
respawn
respawn limit 10 5
umask 022
console none
# if you used to set SSHD_OPTS in /etc/default/ssh, you can change the
# 'exec' line here instead
exec /usr/local/bin/uwsgi --xml /var/www/idashboard/idashboard/wsgi.xml
调用upstart脚本
sudo initctl start update
之后如果不可以的话记得 uwsgi -s reload
一下,相当于重启uwsgi
然后就是重启uwsgi和nginx
源码编译的就/etc/init.d/xxx restart
我这边是apt或者pip装的服务 直接service nginx/uwsgi restart
就可以了 比较方便 : )
其实整个流程就是 浏览器访问nginx的80端口 然后nginx会在配置中下发任务(描述可能不当),之后找到9090端口的uwsgi
就是两个配置文件中统一的端口号,之后uwsgi就会启动django 之后就巴拉巴拉巴拉 就可以了- -