资源准备:

wget https://www.python.org/ftp/python/2.7.13/Python-2.7.13.tgz

wget https://www.djangoproject.com/m/releases/1.8/Django-1.8.7.tar.gz

wget https://pypi.python.org/packages/11/b6/abcb525026a4be042b486df43905d6893fb04f05aac21c32c638e939e447/pip-9.0.1.tar.gz

wget https://pypi.python.org/packages/source/s/setuptools/setuptools-19.1.1.tar.gz#md5=792297b8918afa9faf826cb5ec4a447a

以下不是必须安装

wget http://sourceforge.net/projects/mysql-python/files/mysql-python/1.2.3/MySQL-python-1.2.3.tar.gz

wget https://git.oschina.net/cp_m/hk_root/raw/master/uwsgi-2.0.14.tar.gz

wget https://pypi.python.org/packages/11/ef/3d64655693e12f163f659bc3a45837893d7ebbb242e608feb9adc788d2ca/uwsgi-2.0.14.tar.gz#md5

 
 
开始安装:
 
安装python2.7
tar xf Python-2.7.13.tgz
cd Python-2.7.13
./configure --prefix=/usr/local/python2.7
make
make install
 
安装setuptools-19.1.1
tar xf setuptools-19.1.1.tar.gz
cd setuptools-19.1.1
/usr/local/python2.7/bin/python setup.py install
 
 
安装django-1.8.7
tar xf Django-1.8.7.tar.gz
cd Django-1.8.7
/usr/local/python2.7/bin/python setup.py install
 
安装MySQL-python
tar xf MySQL-python-1.2.3.tar.gz
cd MySQL-python-1.2.3
/usr/local/python2.7/bin/python setup.py build
/usr/local/python2.7/bin/python setup.py install
 
安装pip
tar xf pip-9.0.1.tar.gz
cd pip-9.0.1
/usr/local/python2.7/bin/python setup.py install
 
安装uwsgi
/usr/local/python2.7/bin/pip install uwsgi
 
 
测试
cd /data/apps/uptest_svn && uwsgi --http :8000 --module web.wsgi
如果没有/data/apps/uptest_svn/web/wsgi.py 这个文件可以手动添加也可以;
django-admin startproject app1  #创建一个新项目查看wsgi.py文件复制过来.
 
/data/apps/uptest_svn/web/wsgi.py
"""
WSGI config for hello project.
 
It exposes the WSGI callable as a module-level variable named ``application``.
 
For more information on this file, see
https://docs.djangoproject.com/en/1.8/howto/deployment/wsgi/
"""
 
import os
 
from django.core.wsgi import get_wsgi_application
 
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "web.settings")
 
application = get_wsgi_application()
项目部署
uwsgi配置
vim /etc/uwsgi.ini
[uwsgi]
socket = 127.0.0.1:8088
master = true
vhost = true
no-stie = true
workers = 2
reload-mercy = 10
vacuum = true
max-requests = 1000
limit-as = 512
buffer-sizi = 30000
pidfile = /var/run/uwsgi.pid
daemonize = /var/log/uwsgi.log
 

添加进系统服务器
vim /etc/init.d/uwsgi  && chmod +x /etc/init.d/uwsgi

DESC="uwsgi daemon"
NAME=uwsgi
DAEMON=/usr/local/python2.7/bin/uwsgi
CONFIGFILE=/etc/$NAME.ini
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
set -e
[ -x "$DAEMON" ] || exit 0
 
do_start() {
$DAEMON $CONFIGFILE || echo -n "uwsgi running"
}
 
do_stop() {
$DAEMON --stop $PIDFILE || echo -n "uwsgi not running"
rm -f $PIDFILE
echo "$DAEMON STOPED."
}
 
do_reload() {
$DAEMON --reload $PIDFILE || echo -n "uwsgi can't reload"
}
 
do_status() {
ps aux|grep $DAEMON
}
 
case "$1" in
status)
echo -en "Status $NAME: \n"
do_status
;;
start)
echo -en "Starting $NAME: \n"
do_start
;;
stop)
echo -en "Stopping $NAME: \n"
do_stop
;;
reload|graceful)
echo -en "Reloading $NAME: \n"
do_reload
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|reload}" >&2
exit 3
;;
esac
exit 0
 
 
nginx 配置
vim /usr/local/nginx/conf/vhosts/django.conf
server {
        listen 80;
        server_name localsvn.test.com;
        location / {
                root /data/apps/uptest_svn;
                include uwsgi_params;
                uwsgi_pass 127.0.0.1:8088;
                uwsgi_param UWSGI_SCRIPT web.wsgi;
                uwsgi_param UWSGI_CHDIR /data/apps/uptest_svn;
                client_max_body_size 35m;
        }
        location /static/ {    
                root /data/apps/uptest_svn/web; 
#我的静态模板和CSS文件放在这个目录下所以设置成这个/data/apps/uptest_svn/web/static/
#如果有开启admin后台的话,建议可以把admin目录的css和js拷贝过来。
          }
        access_log /data/log/nginx/django_access.log access;
}

service uwsgi reload

service nginx restart

###############END################

python版本随意切换之python2.7+django1.8.7+uwsgi+nginx源码包部署。的更多相关文章

  1. CentOS7保留默认Python版本并安装更新Python2和Python3共存

    CentOS 7 默认的python版本是python2.7.5.因为yum依赖于默认的python版本的缘由,所以要先保留默认版本,并修改yum文件头部后,才能开始安装更新python2和pytho ...

  2. 源码包安装(Python mysql redis)

    一  源码包安装 (1)python3.6源码包安装 ./configure ------> 定制功能 make make install mysql 源码包 cmake make make i ...

  3. openWRT自学---自己编译的第一个 backfire10.03 版本的过程记录 --- 实际是由于下载了错误的backfire源码包导致的

    基于 backfire10.03(从http://downloads.openwrt.org/backfire/10.03/ 中下砸的源码包backfire_10.03_source.tar.bz2: ...

  4. Tomcat各版本及源码包下载

    Tomcat各版本及源码包下载 1.百度 Tomcat 进入官网2.Tomcat 官网地址:http://tomcat.apache.org/3.所有 Tomcat 版本及源码包下载地址:https: ...

  5. 安装python2.7.13-64bit & Pycharm在两个python版本之间切换

    本来已经安装了32位的python27,但在使用轮廓系数评估k-means模型的优良性时,出现了内存溢出的报错.原来32为的python编译器最多只能使用4GB的内存,所以就打算换成64位的pytho ...

  6. Windows下Python版本的切换

    通常在Windows系统下我们可能安装了多个Python版本,那么该如何进行版本的切换呢?下面就Python2.7与Python3.0版本进行简单说明. 1.首先需要在Windows上安装Python ...

  7. windows下安装python、环境设置、多python版本的切换、pyserial与多版本python安装、windows命令行下切换目录

    1.windows下安装python 官网下载安装即可 2.安装后的环境设置 我的电脑--属性--高级--设置path的地方添加python安装目录,如C:\Python27;C:\Python33 ...

  8. linux 多个python版本的切换

    源码安装新的python版本,我的安装路径: /usr/self/Python3.5.2 修改软链接到你所安装的python版本中: 默认python命令是在/usr/bin/目录下 1 sudo m ...

  9. pyenv 让 python 版本完美切换

    前言 我觉得如果使用 python 开发的话,还是在 unix/linux 的环境下吧,shell 工具的效率比 windows 高得多,尽管 windows 下也有 cmder 这种神器,而且现在 ...

随机推荐

  1. mysql select日期格式

    mysql表中datatime类型存储为2016-01-10,C#直接select 后,在datatable里面看,变成01/10/2016,需要还原回去,使用select DATE_FORMAT(列 ...

  2. Java 中一个过时的类,能够很好的统计单个字符串的次数

    //StringTokenizer st1=new StringTokenizer("rirtirtjdlkfjlksadfoiyetryetretrejtlkjdsflkiuetuiojr ...

  3. WPF 自定义搜索框

      控件中的搜索图标下载地址:http://www.easyicon.net/1183666-Search_icon.html 搜索框设计过程比较简单: 1.先定义一个Rectangle作为背景 2. ...

  4. Ubuntu Server 设置PPTP客户端连接

    安装PPTP客户端 apt-get install pptp-linux 设置连接账号信息 sudo vim /etc/ppp/chap-secrets 其中$login_name是登录名:$pass ...

  5. 【FLUENT案例】05:DDPM模型

    本例利用FLUENT的DDPM模型对提升管进行模拟. 1 介绍 本案例演示在FLUENT中利用稠密离散相模型(Dense discrete phase model,DDPM)模拟2D提升管.DDPM模 ...

  6. /var/log/messages

    messages 该日志文件是许多进程日志文件的汇总,从该文件可以看出任何入侵企图或成功的入侵,包括整体系统信息,是系统最核心的日志.它包含了系统启动时的引导消息,以及系统运行时的其他状态消息.IO ...

  7. Linux下的C Socket编程 -- 简介与client端的处理

    Linux下的C Socket编程(一) 介绍 Socket是进程间通信的方式之一,是进程间的通信.这里说的进程并不一定是在同一台机器上也有可能是通过网络连接的不同机器上.只要他们之间建立起了sock ...

  8. NodeJS使用formidable实现文件上传

    最近自学了一下NodeJS,然后做了一个小demo,实现歌曲的添加.修改.播放和删除的功能,其中自然要实现音乐和图片的上传功能.于是上网查找资料,找到了一个formidable插件,该插件可以很好的实 ...

  9. 开发 ASP.NET vNext 初步总结(使用Visual Studio 14 CTP1)

    新特性: vNext又称MVC 6.0,不再需要依赖System.Web,占用的内存大大减少(从前无论是多么简单的一个请求,System.Web本身就要占用31KB内存). 可以self-host模式 ...

  10. 在 sublime 中运行 JavaScript 代码

    安装 Node 环境,参考 Node.js入门 打开 Sublime,选择 Tools > Build System > New Build System... 会打开一个新的文件,粘贴以 ...