一、安装所需工具

yum -y install gcc gcc-c++ rpm-build mysql* libtool-ltdl* libtool automake autoconf libtool make setuptool

二、编译安装python2.7.5

1. 下载python2.7.5,保存到 /data/qtongmon/software

http://www.python.org/ftp/python/

2. 解压文件

tar xvf Python-2.7.5.tar.bz2

3. 创建安装目录

mkdir /usr/local/python27

4. 安装python

./configure --prefix=/usr/local/python27 --enable-shared

make

make install

5. 修改老版本的ln指向(注意:这里修改后,可能会影响yum的使用)

mv /usr/bin/python /usr/bin/python2.4.3

ln -s /usr/local/python27/bin/python /usr/bin/python

6.yum是使用python写的,升级新版本的python后会导致yum不可用,如下为运行yum时的错误提示:

There was a problem importing one of the Python modules

required to run yum. The error leading to this problem was:

No module named yum

解决方法:

查找yum文件,并编辑此py文件

[root@TC-Boss ~]# which yum

/usr/bin/yum

[root@TC-Boss ~]# vi /usr/bin/yum

#!/usr/bin/python

改为:

whereis python出来的结果(老版本的python)

#!/usr/bin/python2.6

然后保存OK.

二、安装uWSGI

下载uWSGI的最新版

wget http://projects.unbit.it/downloads/

因为我最后采用xml配置django app 的部署,所以编译 uWSGI 时候需要把libxml编译进去

yum -y install libxml2-devel

剩下的就简单了

tar zxvf uwsgi-1.9.17.tar.gz

cd uwsgi-1.9.17

make

cp uwsgi /usr/sbin/uwsgi

如果遇到错误:python: error while loading shared libraries: libpython2.7.so.1.0:

cannot open shared object file: No such file

按如下方式解决:

vim /etc/ld.so.conf.d/python2.7.conf

加入以下内容:/usr/local/python27/lib (实际的python安装路径下的lib目录)

保存退出后运行:

ldconfig

即可

至此 uWSGI 就算是安装完成了,下一步安装 Nginx

更多详情见请继续阅读下一页的精彩内容: http://www.linuxidc.com/Linux/2013-10/91063p2.htm

推荐阅读

你应该使用 Nginx + uWSGI  http://www.linuxidc.com/Linux/2013-07/87286.htm

uWSGI + Nginx 部署 Flask Web 应用 http://www.linuxidc.com/Linux/2013-06/85828.htm

Django+Nginx+uWSGI 部署 http://www.linuxidc.com/Linux/2013-02/79862.htm

Linux下Nginx+uWSGI部署Python应用 http://www.linuxidc.com/Linux/2012-10/72443.htm

Ubuntu Server 12.04 安装Nginx+uWSGI+Django环境 http://www.linuxidc.com/Linux/2012-05/60639.htm

CentOS 5.5 + Nginx 0.8.50 + uWSGI + Django 1.2.3 部署Django项目 http://www.linuxidc.com/Linux/2011-05/36399.htm

第 2 页(共 2 页)

三、Nginx 安装

Nginx 的详细介绍请点这里
Nginx 的下载地址请点这里

参考CentOS 6.4安装配置Nginx+Pcre+php-fpm  http://www.linuxidc.com/Linux/2013-08/88984.htm

注意编译的时候要加上参数:--with-cc-opt='-O3' --with-cpu-opt=opteron

[root@htuidc nginx-1.4.2]# ./configure --with-http_stub_status_module --prefix=/usr/local/nginx --with-cc-opt='-O3' --with-cpu-opt=opteron

四、安装MySql-python

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

tar zxvf MySQL-python-1.2.3.tar.gz

cd MySQL-python-1.2.3

python setup.py install

ImportError: No module named setuptools 解决方案 :

wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz

tar zxvf setuptools-0.6c11.tar.gz

cd setuptools-0.6c11

python setup.py build

python setup.py install

/usr/bin/ld: cannot find -lpython2.7错误,解决方案 :

cd /usr/lib

ln -s /usr/local/python27/lib/libpython2.7.so libpython2.7.so

ll -a|grep python

lrwxrwxrwx. 1 root root 39 Oct 1 16:39 libpython2.7.so -> /usr/local/python27/lib/libpython2.7.so

drwxr-xr-x. 3 root root 4096 May 3 15:15 python2.6

出错:error: command 'gcc' failed with exit status 1

处理方法:

yum -y install mysql-devel

安装完成,到你的python安装目录下的site-packages目录里检查以下文件是否存在,如果存在即代表安装成功了

Linux:MySQL_python-1.2.3c1-py2.6-linux-i686.egg

测试方法

1)运行命令python进入python运行环境

2)输入以下python代码进行测试

import MySQLdb

test=MySQLdb.connect(db='mydb',host='localhost',user='root',passwd='p')

cur = test.cursor()

cur.execute('show databases;')

for data in cur.fetchall():

print data

五、安装Django

wget https://www.djangoproject.com/m/releases/1.5/Django-1.5.4.tar.gz

tar xzvf Django-1.5.4.tar.gz

cd Django-1.5.4

python setup.py install

测试Django安装

终端中输入 python,进入python交互模式,输入如下:

>>>import django

django.VERSION

正常情况会显示版本号码。

六、nginx配置

server {

listen 80; ## listen for ipv4; this line is default and implied

#listen [::]:80 default ipv6only=on; ## listen for ipv6

server_name blog.hysia.com;

access_log /var/log/nginx/blog.hysia.com-access.log ;

error_log /var/log/nginx/blog.hysia.com-error.log ;

location / {

uwsgi_pass 127.0.0.1:8630;

include uwsgi_params;

}

}

Nginx+uWSGI+Django+Python+ MySQL 搭建可靠的Python Web服务器的更多相关文章

  1. nginx+uwsgi+django+supervisor+mysql+redis

    目录 1. 概述 3 2. 安装与配置 3 2.1 django项目与应用创建 3 2.2 uwsgi安装与配置 6 2.3 supervisor安装与配置 8 2.4 nginx安装与作为反向代理服 ...

  2. nginx+uwsgi+django开发环境搭建

    Nginx+uWSGI+Djangoi开发环境搭建 Django简介,环境搭建 uWSGI简介,安装与配置 Nginx安装与配置 Nginx+uWSGI+Django原理解析 1.django简介,环 ...

  3. centos7.4+mysql5.6+virtualenv+python3.6+nginx+uwsgi+django生产环境搭建

    一 更新yum # yum update 二 安装gcc  lrzsz软件 # yum install gcc 用来编译python3.6源码 # yum install lrzsz 用来上传文件 三 ...

  4. python部署到服务器(2) 一一 nginx+uwsgi+Django

    参考菜鸟教程,https://blog.csdn.net/qq_42314550/article/details/81805328, 和 https://www.cnblogs.com/chenice ...

  5. Ubuntu Nginx uwsgi django 初试

    /************************************************************************************** * Ubuntu Ngi ...

  6. Nginx+uwsgi+django+vue部署项目

    购买服务器 # 购买阿里云服务器 # 短期或是测试使用,创建 按量收费 服务器,可以随时删除,删除后不再计费,但要保证账户余额100元以上 连接服务器 1)账号 >: ssh root@39.9 ...

  7. 安装Nginx+uWSGI+Django环境

    Ubuntu Server 12.04 安装Nginx+uWSGI+Django环境 今天要介绍的是利用APT源直接apt-get install安装配置我们所需要的环境,首先按惯例先安装MySQL和 ...

  8. debian完整部署 Nginx + uWSGI + Django

    手工部署一个Django服务器真心不容易,需要安装很多东西.从头开始搭建服务器,主要是为了梳理一下后续开发中一般为碰到的平台部署.对后续问题的解决有一定帮助. 通常部署有2中方式: 一种是使用现成提供 ...

  9. Nginx+uWSGI+Django原理

    Python的Web开发中,如果使用Django框架,那么较为成熟稳定的服务器架构一般是Nginx+uWSGI+Django.而为什么一定要三个结合在一起呢?直接使用Django的runserver来 ...

随机推荐

  1. [转载]JMeter源码导入Eclipse

    转载自:http://www.cnblogs.com/taoSir/p/5144274.html 由于JMeter纯Java开发,界面也是基于Swing或AWT搞出来的,所以想更深层次的去了解这款工具 ...

  2. hdu 3038 How Many Answers Are Wrong ( 带 权 并 查 集 )

    How Many Answers Are Wrong Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Ja ...

  3. web基础之Structs(一篇)

           为什么有 struts 框架             Struct 的优点之处: 1.       struct的好处 2.       程序更加规范化 3.       程序的可读性提 ...

  4. 选择列表中的列无效,因为该列没有包含在聚合函数或 GROUP BY 子句中

    选择列表中的列无效,因为该列没有包含在聚合函数或 GROUP BY 子句中 T-SQL核心语句形式: SELECT     --指定要选择的列或行及其限定  [INTO ]      --INTO子句 ...

  5. [转载]SAP BASIS学习手册

    原文地址:SAP BASIS学习手册作者:sapren     1:)要用scc4定义一个新的client,同时定义好类型(T,P,D等) 2:)用user/pasword: (sap*/pass) ...

  6. 【转载】Gambit使用教程

    第一章 Gambit使用 Gambit介绍 网格的划分使用Gambit软件,首先要启动Gambit,在Dos下输入Gambit <filemane>,文件名如果已经存在,要加上参数-old ...

  7. 修改WAMPServer中MySql中文乱码的方法

    修改MySql的配置文件my.ini,在[client]段落增加:default-character-set=utf8;在[mysqld]段落增加:character_set_server=utf8; ...

  8. 337. House Robber III——树的题目几乎都是BFS、DFS,要么递归要么循环

    The thief has found himself a new place for his thievery again. There is only one entrance to this a ...

  9. Tomcat配置虚拟主机的两种方式

    1.基于主机名的虚拟主机配置 在随意盘符下建立一个目录作为虚拟地址的目录.例如:F:\virtualhost1,在其下建立 test1.html,写入内容例如:test 在tomcat/conf/se ...

  10. [转]C#中的Monitor类

    object obj=new object(); Monitor在锁对象obj上会维持两个线程队列R和W以及一个引用T : (1) T是对当前获得了obj锁的线程的引用(设此线程为CurrThread ...