环境:
CentOS X64 6.4
nginx 1.5.6
Python 2.7.5
一:安装需要的类库及Python2.7.5
安装必要的开发包
yum groupinstall Development tools yum install zlib-devel bzip2-devel pcre-devel openssl-devel ncurses-devel sqlite-devel read LINE -devel tk-devel
CentOS 自带Python2.6.6,但我们可以再安装Python2.7.5:
cd ~ wget http://python.org/ftp/python/2.7.5/Python-2.7.5.tar.bz2 tar xvf Python-2.7.5.tar.bz2 cd Python-2.7.5 ./configure --prefix=/usr/local make && make altinstall
安装完毕后,可是使用”python2.7”命令进入python2.7的环境。
二:安装Python包管理
easy_install包 https://pypi.python.org/pypi/distribute
方便安装Python的开发包
cd ~ wget https://pypi.python.org/packages/source/d/distribute/distribute-0.6.49.tar.gz tar xf distribute-0.6.49.tar.gz cd distribute-0.6.49 python2.7 setup.py install easy_install --version
红色部分必须是“python2.7”,否则将安装到默认的2.6环境内。
pip包 https://pypi.python.org/pypi/pip
安装pip的好处是可以pip list、pip uninstall 管理Python包, easy_install没有这个功能,只有uninstall
easy_install pip pip --version
三:安装uwsgi
uwsgi:https://pypi.python.org/pypi/uWSGI
uwsgi参数详解:http://uwsgi-docs.readthedocs.org/en/latest/Options.html
pip install uwsgi uwsgi --version
测试uwsgi是否正常:
新建test.py文件,内容如下:
def application(env, start_response): start_response(200 OK, [(Content-Type,text/html)]) return Hello World
然后在终端运行:
uwsgi --http :8001 --wsgi-file test.py
在浏览器内输入:http://127.0.0.1:8001,看是否有“Hello World”输出,若没有输出,请检查你的安装过程。
四:安装django
pip install django
测试django是否正常,运行:
django-admin.py startproject demosite cd demosite python2.7 manage.py runserver 0.0.0.0:8002
在浏览器内输入:http://127.0.0.1:8002,检查django是否运行正常。
五:安装nginx
cd ~ wget http://nginx.org/download/nginx-1.5.6.tar.gz tar xf nginx-1.5.6.tar.gz cd nginx-1.5.6 ./configure --prefix=/usr/local/nginx-1.5.6 --with-http_stub_status_module --with-http_gzip_static_module make && make install
六:配置uwsgi
uwsgi支持ini、xml等多种配置方式,但个人感觉ini更方便:
在/ect/目录下新建uwsgi9090.ini,添加如下配置:
[uwsgi] socket = 127.0.0.1:9090 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/uwsgi9090.pid /pid文件,用于下面的脚本启动、停止该进程 daemonize = /website/uwsgi9090.log
设置uwsgi开机启动,在/ect/init.d/目录下新建uwsgi9090文件,内容如下:
#! /bin/sh # chkconfig: 2345 55 25 # Description: Startup script for uwsgi webserver on Debian. Place in /etc/init.d and # run update-rc.d -f uwsgi defaults, or use the appropriate command on your # distro. For CentOS/Redhat run: chkconfig --add uwsgi ### BEGIN INIT INFO # Provides: uwsgi # Required-Start: $all # Required-Stop: $all # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: starts the uwsgi web server # Description: starts uwsgi using start-stop-daemon ### END INIT INFO # Author: licess # website: http://lnmp.org PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DESC=uwsgi daemon NAME=uwsgi9090 DAEMON=/usr/local/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 already 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 cant reload } do_status() { ps aux|grep $DAEMON } case $1 in status) echo -en Status $NAME: do_status ;; start) echo -en Starting $NAME: do_start ;; stop) echo -en Stopping $NAME: do_stop ;; reload|graceful) echo -en Reloading $NAME: do_reload ;; *) echo Usage: $SCRIPTNAME {start|stop|reload} >&2 exit 3 ;; esac exit 0然后在终端执行:
-- 添加服务 chkconfig --add uwsgi9090 -- 设置开机启动 chkconfig uwsgi9090 on
七:设置nginx
找到nginx的安装目录,打开conf/nginx.conf文件,修改server配置
server { listen 80; server_name localhost; location / { include uwsgi_params; uwsgi_pass 127.0.0.1:9090; /必须和uwsgi中的设置一致 uwsgi_param UWSGI_SCRIPT demosite.wsgi; /入口文件,即wsgi.py相对于项目根目录的位置,“.”相当于一层目录 uwsgi_param UWSGI_CHDIR /demosite; /项目根目录 index index.html index.htm; client_max_body_size 35m; } }设置nginx开机启动,在/ect/init.d/目录下新建nginx文件,内容如下:
#!/bin/sh # # nginx - this script starts and stops the nginx daemon # # chkconfig: - 85 15 # description: Nginx is an HTTP(S) server, HTTP(S) reverse # proxy and IMAP/POP3 proxy server # processname: nginx # config: /usr/local/nginx/conf/nginx.conf # pidfile: /var/run/nginx.pid # Source function library. . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network # Check that networking is up. [ $NETWORKING = no ] && exit 0 nginx=/opt/nginx-1.5.6/sbin/nginx prog=$(basename $nginx) NGINX_CONF_FILE=/opt/nginx-1.5.6/conf/nginx.conf [ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx lockfile=/var/lock/subsys/nginx start() { [ -x $nginx ] || exit 5 [ -f $NGINX_CONF_FILE ] || exit 6 echo -n $Starting $prog: daemon $nginx -c $NGINX_CONF_FILE retval=$? echo [ $retval -eq 0 ] && touch $lockfile return $retval } stop() { echo -n $Stopping $prog: killproc $prog -QUIT retval=$? echo [ $retval -eq 0 ] && rm -f $lockfile return $retval } restart() { configtest || return $? stop sleep 1 start } reload() { configtest || return $? echo -n $Reloading $prog: killproc $nginx -HUP RETVAL=$? echo } force_reload() { restart } configtest() { $nginx -t -c $NGINX_CONF_FILE } rh_status() { status $prog } rh_status_q() { rh_status >/dev/null 2>&1 } case $1 in start) rh_status_q && exit 0 $1 ;; stop) rh_status_q || exit 0 $1 ;; restart|configtest) $1 ;; reload) rh_status_q || exit 7 $1 ;; force-reload) force_reload ;; status) rh_status ;; condrestart|try-restart) rh_status_q || exit 0 ;; *) echo $Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|f
猫咪破坏王-变身猫咪模拟器免费下载
开间小店免费下载
汉家江湖免费下载
颜色大作战 - 红蓝大作战 给你点颜色免费下载
真正的飞机飞行员飞行模拟免费下载
美国刑事运输免费下载
时空召唤-巅峰竞技新赛季免费下载
疯狂客运城-经营自己的客运王国免费下载
难倒大侦探免费下载
农场 农业 拖拉机 卡车 收割机 汽车 游戏 洗车游戏免费下载
逃生路线:越狱免费下载
瓶射击3D:枪手专家免费下载
扫雷_经典版本免费下载
暖厨免费下载
65wan诛仙手机游戏下载v2.928.1 安卓版
我的现充计划汉化版下载v1.1.1 安卓中文版
华为恋与练习生官方版下载v2.12.2382 安卓版
松总动员国际版下载v2.6.656 安卓外国版
熊猫博士巴士司机游戏下载v1.0.1 安卓版
空间节奏传奇游戏下载v1.1.2 安卓版
诛仙手游奇趣客户端下载v2.928.1 官方安卓最新版
宝宝从哪来宝宝巴士下载v9.89.99.01 安卓免费版
手机跳棋游戏下载v1.2.0 安卓版
果盘天珠传奇手游下载v1.1.29630 官方安卓版
魔幻单职业游戏下载v1.3.0.1 安卓版
全城封锁末日求生正式版下载v1.0.0 安卓最新版
新网球王子手游繁中版下载v4.0.0 安卓官方版
我要当掌柜最新版下载v3.3.8 安卓版




dts ac3音频解码器(AC3/DTS CODEC)下载v2.0 中文免费版
会声会影9简体中文正式版下载32/64位永久免费版
太D太清梵文天城体字体输入法下载v10.02.03 官方最新版
里诺仓库管理下载v6.96 官方最新版
p硬pqmagic(硬盘分区魔术师)下载V9.0 中文版
时光序官方版下载v3.13.2 最新版