公司上django已经有一段时间,今天总结一下django部署的过程,给需要的朋友参考一下:
我的环境是centos6,系统默认python是2.6,系统许多脚本都是依赖于原装的python2.6,为不影响系统使用,需要另外编译安装python2.7
安装yum开发组件:
yum groupinstall "Development tools" "Additional Development" "Compatibility libraries" -y
我这边下载的是python-2.7.10.tar.gz
解压并cd进去
../configure --prefix=/usr/local/python27
make && make install
编辑/etc/profile.d/python27.sh
export PATH=/usr/local/python27/bin:$PATH //这步可有可无,有的话执行python就是2.7的了
下载settools
wget https://pypi.python.org/packages/e8/68/f968ebc015c7e0021e76b60b8cfd29f9ffbae4b3b58d96ad20045a99562e/setuptools-32.3.1.zip#md5=efa64884dd41d2b0456e19745bb29fdc
解压并cd进去,安装:
python setup.py install
下载pip
wget https://pypi.python.org/packages/11/b6/abcb525026a4be042b486df43905d6893fb04f05aac21c32c638e939e447/pip-9.0.1.tar.gz.asc
解压并cd进去,安装:
python setup.py install
利用pip安装django最新版本,如果安装很慢的话修改pip源(我的<配置pip国内源>博客)
pip install django
如果需要安装其他版本:
pip instll django=version
创建django工程blog:
django-admin startproject blog
django会在当前目录blog项目
cd blog
执行
python manage.py runserver 0.0.0.0:8000
django会在主机启动一个监听在0.0.0.0:8000的http服务,通过浏览器访问:ip:8000
说明django安装成功。
安装uwsgi,
pip install uwsgi
编辑uwsgi配置文件/etc/uwsgi/blog.ini(没有则手动创建):
http = 0.0.0.0:2222 #开启http协议并且设置监听套接字
socket = 172.168.16.20:7011 #开启uwsgi协议并且设置监听套接字
socket = /tmp/paygatewayweb.sock #设置unix sock
master = true #启用主进程
master-as-root = true #主进程以root用户启动
workers = 4 #子进程个数
chmod-socket = 666 #改变套接字所属主组
pidfile = /var/run/uwsgi/blog.pid #pid文件
daemonize = /var/log/uwsgi/blog.log #日志文件
chdir = /path/to/blog #工程文件路径
module = blog.wsgi #工程入口文件
uid = uwsgi #服务所属用户
gid = uwsgi #服务所属组
启动uwsgi
uwsgi --ini /etc/uwsgi/blog.ini
通过浏览器访问ip:2222,如果出现:
则说明uwsgi已经启动成功。
配置nginx:
server {
listen 7777;
location / {
include uwsgi_params;
uwsgi ip:7011;
}
}
通过浏览器访问ip:7777进行测试。可能会缺少静态页面,以后再慢慢完善。
未完,待续。。。