zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Zabbix的前台SQL注射漏洞利用
    LeetCode OJ--Permutation Sequence *
    LeetCode OJ--Next Permutation *
    LeetCode OJ--Permutations II
    LeetCode OJ--Permutations *
    小算法-计算下一个排列
    LeetCode OJ--Gas Station**
    LeetCode OJ--Insert Interval **
    LeetCode OJ--Search Insert Position
    Ruby自动化测试(操作符的坑)
  • 原文地址:https://www.cnblogs.com/yizhenfeng168/p/8529784.html
Copyright © 2011-2022 走看看