资源准备:

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. currentStyle与getComputedStyle应用

    getComputedStyle获取的是计算机(浏览器)计算后的样式,但是不兼容IE6.7.8(主要用于非IE浏览器) currentStyle方法兼容IE6.7.8,但是不兼容标准浏览器(主要用于I ...

  2. Solr实战:使用Hue+Solr实现标签查询

    公司最近在研究多条件组合查询方案,Google的一位技术专家Sam和我们讨论了几个备选方案. Sam的信: 我做了进一步研究,目前有这么几种做法: 1) 最直接粗暴,只做一个主index,比如按行业+ ...

  3. Linux 下dns的搭建

    1.软件安装: redhat默认使用bind作为安装软件 使用yum安装 yum install -y bind bind-chroot bind-utils bind提供主程序 bind-chroo ...

  4. Linux下如何查看版本信息

    Linux下如何查看版本信息, 包括位数.版本信息以及CPU内核信息.CPU具体型号等等,整个CPU信息一目了然.   1.# uname -a   (Linux查看版本当前操作系统内核信息)   L ...

  5. python logging colorlog

    import logging LOG_LEVEL = logging.NOTSET LOGFORMAT = "[%(log_color)s%(levelname)s] [%(log_colo ...

  6. 【码在江湖】前端少侠的json故事(上)日月第一击

    日月第一击 这是我前端生涯第一次和后台对接,其经历真是苦不堪言,多次绝处逢生,柳暗花明,可就是迟迟见不到那条村子.当然,最后我还是完成了这次对接.下面来聊一聊我这白痴一般的经历. 序章 话说天下大势, ...

  7. [No000090]C#捕获控制台(console)关闭事件及响应cmd快捷键

    捕获控制台(console)关闭事件: 1.Ctrl+C信号: 2.Ctrl+Break信号: 3.用户系统关闭Console时: 4.用户退出系统时: 5.系统将要关闭时: using System ...

  8. MarkDown+LaTex 数学内容编辑样例收集

    $\color{green}{MarkDown+LaTex 数学内容编辑样例收集}$ 1.大小标题的居中,大小,颜色 [例1] $\color{Blue}{一元二次方程根的分布}$ $\color{R ...

  9. [LeetCode] Unique Paths II 不同的路径之二

    Follow up for "Unique Paths": Now consider if some obstacles are added to the grids. How m ...

  10. 外网访问内网工具ngrok tunnel 使用总结

    需求分析 在软件开发测试过程中,我们会经常遇到需要网站部署测试.给客户演示.APP开发的调试这样的需求.通常的做法是申请一个域名和空间,将网站放到外网上给客户演示. 这种方法确实可行不过会有两点不好, ...