Nginx+uWSGI+Django+Python环境安装配置详解

一、安装PYTHON2.7.7:

[root@hz tools]# pwd
/byrd/tools
[root@hz tools]# wget https://www.python.org/ftp/python/2.7.7/Python-2.7.7.tgz
[root@hz tools]# tar zxf Python-2.7.7.tgz
[root@hz tools]# cd Python-2.7.7
[root@hz Python-2.7.7]# ./configure --prefix=/byrd/server/Python-2.7.7
[root@hz Python-2.7.7]# make && make install
[root@hz Python-2.7.7]# mv /usr/bin/python /usr/bin/python_2.6.6
[root@hz Python-2.7.7]# ln -s /byrd/server/Python-2.7.7/bin/python2.7 /usr/bin/python
########################################################################
注意:vim /usr/bin/yum    #将!/usr/bin/python改成!/usr/bin/python2.6。
########################################################################

二、安装uWSGI:

方式1:pip方式

[root@hz tools]# wget https://bootstrap.pypa.io/get-pip.py
[root@hz tools]# python get-pip.py
[root@hz tools]# sed -i "s#PATH=\$PATH:\$HOME\/bin#PATH=\$PATH:\$HOME\/bin:\/byrd\/server\/Python-2.7.7\/bin#g" ~/.bash_profile
[root@hz tools]# source ~/.bash_profile
[root@hz tools]# pip install uwsgi

方式2:编译安装

[root@hz tools]# wget https://pypi.python.org/packages/source/s/setuptools/setuptools-5.2.tar.gz
[root@hz setuptools-5.2]# python setup.py build
[root@hz setuptools-5.2]# python setup.py install
[root@hz tools]# wget http://projects.unbit.it/downloads/uwsgi-2.0.5.tar.gz    #安装uwsgi必须安装setuptools
[root@hz tools]# tar zxf uwsgi-2.0.5.tar.gz
[root@hz tools]# cd uwsgi-2.0.5    
[root@hz uwsgi-2.0.5]# python setup.py build
[root@hz uwsgi-2.0.5]# python setup.py install    #make也可以
Copying uWSGI.egg-info to /byrd/server/Python-2.7.7/lib/python2.7/site-packages/uWSGI-2.0.5-py2.7.egg-info
running install_scripts
[root@hz uwsgi-2.0.5]# make
[root@hz uwsgi-2.0.5]# cp uwsgi /usr/bin
[root@hz uwsgi-2.0.5]# chmod +x /usr/bin/uwsgi

三、安装Django:

其他:

[root@hz tools]# wget https://pypi.python.org/packages/source/M/MySQL-python/MySQL-python-1.2.5.zip#md5=654f75b302db6ed8dc5a898c625e030c
[root@hz tools]# unzip MySQL-python-1.2.5.zip
[root@hz tools]# cd MySQL-python-1.2.5
[root@hz MySQL-python-1.2.5]# sed -i 's#\#mysql_config = /usr/local/bin/mysql_config#mysql_config = /usr/local/mysql/bin/mysql_config#g' site.cfg      #改成/usr/local/mysql/bin/mysql_config
[root@hz MySQL-python-1.2.5]# python setup.py build
[root@hz MySQL-python-1.2.5]# python setup.py install
方式1:

[root@hz tools]# pip install Django==1.6.5

方式2:

[root@hz tools]# wget https://www.djangoproject.com/m/releases/1.6/Django-1.6.5.tar.gz
[root@hz tools]# tar zxf Django-1.6.5.tar.gz
[root@hz tools]# cd Django-1.6.5
[root@hz Django-1.6.5]# python setup.py build
[root@hz Django-1.6.5]# python setup.py install

四、建立项目

[root@hz tools]# cd /web/site/
[root@hz site]# sed -i 's#\$HOME/bin#\$HOME/bin:/byrd/tools/Django-1.6.8/django/bin#g' ~/.bash_profile
[root@hz site]# source ~/.bash_profile
[root@hz site]# django-admin.py startproject Byrd
[root@hz site]# cd Byrd/
[root@hz Byrd]# /usr/local/mysql/bin/mysql -uroot -p
mysql> create database django default character set utf8 collate utf8_general_ci;
mysql> create user 'django'@'localhost' identified by 'admin';
mysql> grant all on django.* to 'django'@'localhost' identified by 'admin';
mysql> flush privileges;
[root@hz Byrd]# vim Byrd/settings.py
####58-63行修改为####
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME':'django',
        'USER': 'django',
        'PASSWORD': 'admin',
        'HOST': '127.0.0.1',
        'PORT': '3306',
    }
}
####58-63行修改为####
[root@hz Byrd]# python manage.py runserver 0.0.0.0:8080    #It worked!证明django配置成功

五、Django+uWSGI:

[root@hz ~]# cat /usr/local/nginx/conf/uwsgi.ini
[uwsgi]
socket = 127.0.0.1:9001
chdir = /web/site/Byrd
pythonpath = ..
env = DJANGO_SETTINGS_MODULE=Byrd.settings
module = django.core.handlers.wsgi:WSGIHandler()
processes = 4
threads = 2
stats = 127.0.0.1:9191

六、Nginx:

    server {
        listen       80;
        server_name  localhost;
        location / {
            root   /web/site/Byrd;
            include     uwsgi_params;
            uwsgi_pass   127.0.0.1:9001;
            #uwsgi_param UWSGI_CHDIR  /;
            #uwsgi_param UWSGI_SCRIPT  /;
            index  index.py index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
}

七、开机启动

[root@hz conf]# echo "uwsgi /usr/local/nginx/conf/uwsgi.ini >/dev/null 2>&1 &" >> /etc/rc.local

八、uWSGI启动脚本:

#!/bin/bash
# uwsgi script
# it is v.0.0.1 version.
# chkconfig: - 89 19
# description: uwsgi script
# processname: uwsgi
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
     
uwsgi_config=/usr/local/nginx/conf/uwsgi.ini
uwsgi_pn=`ps aux|grep -v "grep"|grep -c "uwsgi"`
uwsgi_pid=`ps -eo pid,comm|grep uwsgi|sed -n 1p|awk '{print $1}'`
uwsgi_PID=/usr/local/nginx/logs/uwsgi.pid
uwsgi=/usr/bin/uwsgi
RETVAL=0
prog="uwsgi"
# Source function library.
.  /etc/rc.d/init.d/functions
     
     
if [ $(id -u) != "0" ]; then
    printf "Error: You must be root to run this script!\n"
    exit 1
fi
     
     
# Start nginx daemons functions.
start() {
if [ $uwsgi_pn -gt 5 ];then
        action "uwsgi is running!" /bin/true
    exit 0
fi
    daemon $uwsgi -x ${uwsgi_config}
        action "uwsgi start ..." /bin/true
}
# Stop nginx daemons functions.
stop() {
if [ $uwsgi_pn -gt 5 ]
then
        kill -9 `ps -eo pid,comm|grep uwsgi|sed -n 1p|awk '{print $1}'`
    RETVAL=$?
        action "uwsgi stopping ..." /bin/true
else
        action "uwsgi not running!" /bin/false
fi
}
     
# See how we were called.
case "$1" in
start)
        start
        ;;
stop)
        stop
        ;;
reload)
        reload
        ;;
restart)
        stop
        start
        ;;
*)
        echo $"Usage: $prog {start|stop|restart}"
        exit 1
esac
exit $RETVAL

时间: 2024-09-19 06:19:35

Nginx+uWSGI+Django+Python环境安装配置详解的相关文章

Linux下 nginx + 最新版php5.5 安装配置详解

1.nginx的安装: 首先nginx的安装需要依赖最基础的三个包,这里面我们不设计更多的扩展模块,只是安装最基础的三个包, zlib 此包主要是对http内容进行gzip压缩,减少网络传输流量 PCRE 此包主要是让nginx支持正则表达式,这个是必须装的,就连nginx的conf文件中都有正则表达式 openssl 此包主要是nginx支持https的请求 首先下载下来nginx的安装包:nginx-1.4.2.tar.gz 然后执行命令:tar -xzvf nginx-1.4.2.tar.

nginx + fastcgi + c/c++环境的配置详解

使用php写后端程序的例子很多,用c/c++的比较少. 本文采用nginx,spawn,fastcgi++来构建一个基于cgi的web程序. 由于fastcgi++依赖于boost库,我们先来装boost库 Linux下编译boost 1.编译前的准备工作 sudo yum install  bzip2 bzip2-devel bzip2-libs python-devel -y 2.下载安装包并解压 #wget http://netcologne.dl.sourceforge.net/proj

深入分析redis cluster 集群安装配置详解

Redis 集群是一个提供在多个Redis间节点间共享数据的程序集.redis3.0以前,只支持主从同步的,如果主的挂了,写入就成问题了.3.0出来后就可以很好帮我们解决这个问题. 目前redis 3.0还不稳定,如果要用在生产环境中,要慎重. 一,redis服务器说明 192.168.10.219 6379  192.168.10.219 6380  192.168.10.219 6381    192.168.10.220 6382  192.168.10.220 6383  192.168

Redis 对比 Memcached 并在 CentOS 下进行安装配置详解_Redis

Redis 是一个开源.支持网络.基于内存.键值对的 Key-Value 数据库,本篇文章主要介绍了Redis 对比 Memcached 并在 CentOS 下进行安装配置详解,有兴趣的可以了解一下. 了解一下 Redis Redis 是一个开源.支持网络.基于内存.键值对的 Key-Value 数据库,使用 ANSI C 编写,并提供多种语言的 API ,它几乎没有上手难度,只需要几分钟我们就能完成安装工作,并让它开始与应用程序顺畅协作.换句话来说,只需投入一小部分时间与精力,大家就能获得立竿

nginx环境openfire xmpp 集群安装配置详解

openfire 采用Java开发,开源的实时协作(RTC)服务器基于XMPP(Jabber)协议.openfire安装和使用都非常简单,并利用Web进行管理.openfire集群,还比较容易配置的,但是没有连接池,这一缺点,我们可以用nginx来弥补. 一,服务器说明 192.168.10.235    //openfire  192.168.10.203    //openfire  192.168.10.208    //openfire    192.168.10.208    //ng

Winodws2003中IIS6配置PHP环境FastCGI的安装配置详解

我们知道php配置有几种: 1.CGI方式加载PHP环境,通常就是IIS里面配置解释器为php.exe,早期比较常见,目前使用较少. 特点是:稳定,但效率太低. 2.ISAPI方式加载PHP环境,通常就是IIS里面配置解释器为php5isapi.dll,目前使用最多,应用最广. 特点是:多线程,效率较高,但不够稳定. 3.FastCGI方式加载PHP环境,在IIS环境里并不常见,但其它系统环境应用还是有的,不过IIS7.0开始内置FastCGI了. 特点是:高效率,高稳定性,属于将来发展趋势.

Git 教程之安装配置详解_相关技巧

Git 安装配置 在使用Git前我们需要先安装 Git.Git 目前支持 Linux/Unix.Solaris.Mac和 Windows 平台上运行. Git 各平台安装包下载地址为:http://git-scm.com/downloads Linux 平台上安装 Git 的工作需要调用 curl,zlib,openssl,expat,libiconv 等库的代码,所以需要先安装这些依赖工具. 在有 yum 的系统上(比如 Fedora)或者有 apt-get 的系统上(比如 Debian 体系

Hive on Spark安装配置详解

可进入我的博客查看原文. 简介 本文主要记录如何安装配置Hive on Spark,在执行以下步骤之前,请先确保已经安装Hadoop集群,Hive,MySQL,JDK,Scala,具体安装步骤不再赘述. 背景 Hive默认使用MapReduce作为执行引擎,即Hive on mr.实际上,Hive还可以使用Tez和Spark作为其执行引擎,分别为Hive on Tez和Hive on Spark.由于MapReduce中间计算均需要写入磁盘,而Spark是放在内存中,所以总体来讲Spark比Ma

PHP Opcache(ZendOptimizerPlus)的安装配置详解

配置 编辑 php.ini #以下是开发组推荐配置 zend_extension=opcache.so opcache.enable_cli=1 opcache.memory_consumption=128 //共享内存大小, 这个根据你们的需求可调 opcache.interned_strings_buffer=8 //interned string的内存大小, 也可调 opcache.max_accelerated_files=4000 //最大缓存的文件数目 opcache.revalid