一、基于 nginx + uwsgi + virtualenv
主要参考该文:Virtualenv+Django+uWSGI+Nginx部署方式备忘录
系统环境:CentOS 6.4、Python 2.7.3、Django 1.5.1、MySQL 5.1、nginx、uwsgi、virtualenv
-
创建数据库、账号,并授权该账号
-
安装所需 Python 版本并基于该版本创建虚拟环境
CentOS 6.4 自带的 Python 版本是 2.6,不用它,另外装个 2.7 的。
install python 2.7.3 to /usr/local/python273
install Virtualenv
创建虚拟环境并激活
virtualenv --python=/usr/local/python273/bin/python /var/www/env-py273
source /var/www/env-py273/bin/activate
-
安装 Django 及其它所需的 Python 第三方库
pip install django==1.5.1
pip install MySQL-python==1.2.4
pip install PyYAML==3.10
......
-
把项目放上服务器
项目的目录结构:
项目名称:build
项目的路径:/var/www/build,项目的日志放在:/var/log/build
mkdir -p /var/log/build && cd /var/www
git clone git@192.168.66.77:scm/build.git
-
配置 uwsgi、nginx
uwsgi 的配置文件:build/build_uwsgi,nginx 的配置文件:build/appdata/nginx-uwsgi.conf
cd build
touch build_uwsgi.sock
ln -s appdata/nginx-uwsgi.conf /etc/nginx/conf.d/
-
启动 uwsgi、nginx
nohup uwsgi --ini build_uwsgi.ini&
service nginx restart
大功告成,可以在浏览器访问你的应用了,比如我的是 http://192.168.66.77:8000