python版本随意切换之python2.7+django1.8.7+uwsgi+nginx源码包部署。
资源准备:
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################
- mac python自带版本2.6与2.7 如何在Python Django 项目里使用新版Python3.x.x
- Linux——Django 开发环境部署(二)python版本控制器pyenv
- ubuntu切换python默认版本从2.7到3.5后 报错 ImportError: No module named 'pip'
- win7 64位+ python2.7 + Apache24 下 django网站采用apache部署
- linux笔记(python2.7与python3.5版本切换)
- Django开发环境配置(Ubuntu16.0.4 + python 2.7 + Django 1.8.7 +Sublime2)
- Django1.4 python2.7 apache mod_python 安装与部署实例
- django 部署在 apache2.4 python3.5(验证) 或 3.x(未验证) 版本出现错误.
- Python2.7 Django1.8 CentOS7 Apache2.4 mod_wsgi4.4.21 环境下部署
- 在anaconda中安装、切换python的版本:2.7~3.6
- apache2.4+python2.7+mod wsgi部署django1.10项目
- ubuntu 环境下python2.7和python3.5分别调用不同版本opencv的配置,及opencv的切换
- MAC上将python版本从2.7切换到3.5
- Nginx + uWSGI + Python + Django部署实例
- python的版本切换
- Ubuntu14.10切换python版本
- ubuntu python版本切换
- entos6.5默认python2.6升级到python2.7,并安装django
- python 使用不同的版本之间的切换
- 在Mopaas上部署WSGI类型的(Django, Tornado, Flask)Python应用