centos6.8_64部署django项目

一、用SecureCRT登录云服务器,并输入命令控制云服务器

二、安装python并升级版本(系统默认的是python2.6)

1、安装python2.7

yum install -y update # 更新内置程序

yum groupinstall -y development # 安装所需的development tools

yum install -y zlib-dev openssl-devel sqlite-devel bzip2-devel # 安装附加包

yum install xz-libs # 安装XZ解压库(可选)

wget http://www.python.org/ftp/python/2.7.6/Python-2.7.6.tar.xz # 下载源码包

# 解压源码包,分为两步

xz -d Python-2.7.6.tar.xz

tar -xvf Python-2.7.6.tar

# 编译与安装,先进入源码目录

cd Python-2.7.6

./configure --prefix=/usr/local

make && make install

2、由于系统默认的是python2.6,需要切换到python2.7,修改软连接

执行以下命令,对Python2.6进行备份,然后为Python2.7创建软链接

mv /usr/bin/python /usr/bin/python2.6.6

ln -s /usr/local/bin/python2.7 /usr/bin/python

3、对yum的配置进行修改,如果不进行这一步操作的话,执行yum命令将会提示你Python的版本不对

编辑/usr/bin/yum,将第一行的#!/usr/bin/python修改成#!/usr/bin/python2.6

如果你用命令不熟悉,可以用WinSCP登录云服务器,在usr/bin文件夹下找到yun文件,将它拖到桌面,然后打开编辑,编辑完保存,又将它拖到原来的地方覆盖原文件

4、安装setuptools

   wget https://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz

tar zxf setuptools-0.6c11.tar.gz

cd setuptools-0.6c11/

python setup.py build

python setup.py install

5、安装pip

  wget https://pypi.python.org/packages/source/p/pip/pip-1.3.1.tar.gz --no-check-certificate

tar -xzvf pip-1.3.1.tar.gz

cd pip-1.3.1

python setup.py install

6、安装需要的django库及第三方库

1)安装django

  pip install django

2)安装Pillow5.0(需要特别注意)

  安装依懒库:yum install libjpeg-turbo-devel

  下载源码,运行setup.py,或者pip install Pillow

3)安装M2Crypto

  1.升级swig版本,因为旧版缺少-builtin选项

    先安装PCRE

    yum search pcre

    yum install pcre-devel.x86_64(根据搜索结果自己选)

安装swing

    wget -O swig-3.0.7.tar.gz http://prdownloads.sourceforge.net/swig/swig-3.0.7.tar.gz

    tar zxf swig-3.0.7.tar.gz

    cd swig-3.0.7

.    /configure --prefix=/usr

    make && make install

  2.安装typing: pip install typing

  3.去下载https://pypi.python.org/官网下载最新的M2Crypto(0.27.0或者0.29.0)源码,运行setup.py

7、用nginx和uwsgi部署

  安装nginx:

    wget http://nginx.org/download/nginx-1.5.6.tar.gz

    tar zxf nginx-1.5.6.tar.gz

    cd nginx-1.5.6

    ./configure --prefix=/usr/local/nginx-1.5.6

    make && make install

安装uwsgi:

    pip install uwsgi

    uwsgi --version # 查看 uwsgi 版本

8、在/ect/目录下新建uwsgi9090.ini,添加如下配置:

[uwsgi]

socket = 127.0.0.1:9090 //在nginx保持一致

master = true //主进程

vhost = true //多站模式

no-site = true //多站模式时不设置入口模块和文件

workers = 2 //子进程数

reload-mercy = 10

vacuum = true //退出、重启时清理文件

max-requests = 1000

limit-as = 512

buffer-size = 30000

chdir=/root/mainblog //项目目录

pythonpath=/root/mainblog //项目路径

module=mainblog.wsgi //"."表示上一级,wsgi.py文件路径

9、找到nginx的安装目录(如:/usr/local/nginx-1.5.6/),打开conf/nginx.conf文件,修改server配置:

server {

listen 80;

server_name localhost;

location /static { #访问静态文件

autoindex on;

alias /root/mainblog/static;

}

location / {

include uwsgi_params;

uwsgi_pass 127.0.0.1:9090; #必须和uwsgi中的设置一致

uwsgi_param UWSGI_SCRIPT mainblog.wsgi; #入口文件,即wsgi.py相对于项目根目录的位置,“.”相当于一层目录

uwsgi_param UWSGI_CHDIR /mainblog; #项目根目录

index index.html index.htm;

client_max_body_size 35m;

}

}

10、若你的项目部署在root目录下,必须要修改它的权限以及他下面子目录的权限:

  1)点击root,在弹出的菜单中选择属性,全勾选,修改为最高权限777;

  2)chmod -R 777 项目目录(如:mainblog)

11、运行项目:

  uwsgi --ini /etc/uwsgi9090.ini &/usr/local/nginx-1.5.6/sbin/nginx