基于Nginx+uWsgi的Django一键部署脚本

 April 16, 2012, 9:19 p.m.   6 comments    Django linux nginx CentOS uWsgi 脚本 web

在Nginx上使用uWsgi代替FastCGI运行Django不仅性能可以提高数倍,而且还可以具有低内存占用,部署简便等诸多优点。

为了方便在服务器上部署Nginx+uWsgi,我写了个一键部署脚本,在CentOS 6.2上已经成功安装,其他平台目前尚未测试。

注意:在使用此脚本之前需要先安装Nginx,Nginx的安装方法可以自行Google,在此不再赘述。

Django+uWsgi一键安装脚本

下载脚本https://github.com/chon219/Code/blob/master/scripts/uwsgi-install.sh

执行 chmod +x uwsgi-install.sh 给该脚本赋予可执行权限

然后以root身份执行脚本 ./uwsgi-install.sh

根据提示输入网站的根目录路径,比如/home/wwwroot 即可开始安装。

安装完成后,uwsgi服务将会自动添加到系统启动项中,毋须手动添加

管理uWsgi服务

启动uWsgi: /etc/init.d/uwsgi start   停止uWsgi: /etc/init.d/uwsgi stop   重启uWsgi: /etc/init.d/uwsgi restart  

注意:每次修改Django应用之后,都需要重启uWsgi服务使新的应用生效。

添加多个Django应用

下载uWsgi-app脚本https://github.com/chon219/Code/blob/master/scripts/uwsgi-app.sh

执行 chmod +x uwsgi-app.sh 给该脚本赋予可执行权限

然后以root身份执行脚本 ./uwsgi-app.sh 根据提示输入域名和Django应用名称,即可自动添加Django应用。

注意:默认情况下,新添加的Django应用位于网站根目录的同名目录。比如网站根目录为/home/wwwroot,Django应用为test,则该应用的目录为/home/wwwroot/test

默认设定

网站根目录默认为/home/wwwroot,由变量$webroot指定;

Nginx的vhost配置文件目录默认为/usr/local/nginx/conf/vhost,由变量$nginxvhost指定。


kevin

kevin April 21, 2012, 2:48 p.m. Reply

好东西,不过我已经转向rails了,不然咱还可以搞基了


Candide

Candide Aug. 7, 2012, 3:50 p.m. Reply

404 Page Not Found


Candide

Candide Aug. 7, 2012, 3:51 p.m. Reply

Please fix this.

Chon

Chon Aug. 7, 2012, 9:55 p.m. Reply

fixed

Candide

Candide Aug. 22, 2012, 10:08 p.m. Reply

Thanks a lot. It requires the EPEL repo.


Chon

Chon Aug. 19, 2012, 4:23 a.m. Reply

测试评论