django mongodb和mysql_Django+Nginx+MongoDB+Mysql+uWsgi的搭建

搭建目标如下:

cff7d8b6b083b5e2a9872634ae705ef9.png

图:系统架构图

这个系统可以提供web服务及其它查询应用服务,我用其做一个二手房信息搜集、处理及分发的系统,可以通过浏览器访问,也可以通过定制的客户端进行访问。

一、安装篇

1、下载安装python

48304ba5e6f9fe08f3fa1abda7d326ab.png

# wget http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tgz

#

# tar xvfz Python-2.7.3.tgz

# cd Python-2.7.3

#./configure

# make

# sudo make install

48304ba5e6f9fe08f3fa1abda7d326ab.png

下面是一些python安装工具,可以方便的安装所缺模块

python的包管理setuptools安装

# wget http://peak.telecommunity.com/dist/ez_setup.py

# python ez_setup.py

python的包管理pip安装(需要先安装setuptools)

# wget http://python-distribute.org/distribute_setup.py

# python distribute_setup.py

# wget https://github.com/pypa/pip/raw/master/contrib/get-pip.py

# python get-pip.py

下面使用pip 安装readline

# sudo pip install readline

2、下载安装Django

# wget https://www.djangoproject.com/download/1.4.3/tarball/

#

# tar xvfz Django-1.4.3.tar.gz

# cd Django-1.4.3

# sudo python setup.py install

3、下载安装MongoDB

l  先下载安装scons

# wget http://sourceforge.net/projects/scons/files/scons/2.1.0.alpha.20101125/scons-2.1.0.alpha.20101125.tar.gz/download

#

# tar xvfz scons-2.1.0.alpha.20101125.tar.gz

# cd scons-2.1.0.alpha.20101125

# sudo python setup.py install

l  下载安装MongoDB

# wget http://downloads.mongodb.org/src/mongodb-src-r2.2.2.tar.gz

#

# tar xvfz mongodb-src-r2.2.2.tar.gz

# cd mongodb-src-r2.2.2

# scons all

# sudo scons --prefix=/usr/local/mongodb --full install

l  下载安装pyMongo

# wget wget http://pypi.python.org/packages/source/p/pymongo/pymongo-2.4.2.tar.gz

#

# tar xvfz pymongo-2.4.2.tar.gz

# cd pymondo-2.4.2

# sudo python setup.py install

测试pyMongo是否安装成功

# python

> import pymongo

如果没有返回错误,则表明安装成功。

l  下载安装mongoengine【暂时没有用到】

# wget http://github.com/mongoengine/mongoengine/tarball/v0.6.20 --no-check-certificate

#

# tar xvfz v0.6.20

# cd MongoEngine-mongoengine-9cc6164

# sudo python setup.py install

测试mongoengine是否安装成功

# python

> from mongoengine import connect

如果没有返回错误,则表明安装成功。

4、下载安装MySQL

l  先下载安装cmake:

48304ba5e6f9fe08f3fa1abda7d326ab.png

# wget http://www.cmake.org/files/v2.8/cmake-2.8.8.tar.gz

#

# tar xvfz cmake-2.8.8.tar.gz

# cd cmake-2.8.8

#./configure

# make

# sudo make install

48304ba5e6f9fe08f3fa1abda7d326ab.png

l  下载安装mysql

48304ba5e6f9fe08f3fa1abda7d326ab.png

# wget http://cdn.mysql.com/Downloads/MySQL-5.5/mysql-5.5.29.tar.gz

#

# tar xvfz mysql-5.5.29.tar.gz

# cd mysql-5.5.29

# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/localmysql/data/ -DMYSQL_UNIX_ADDR=/usr/localmysql/data/mysqld.sock -DWITH_INNOBASE_STORAGE_ENGINE=1 -DSYSCONFDIR=/etc -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_unicode_ci -DWITH_DEBUG=0

# make

# sudo make install

48304ba5e6f9fe08f3fa1abda7d326ab.png

l  下载安装mysql-python

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

#

# tar xvfz MySQL-python-1.2.3.tar.gz

# cd MySQL-python-1.2.3

在安装前,需要修改site.py中mysql_config的路径(为mysql安装路径下的/bin/mysql_config),

# site.py

mysql_config = /usr/local/mysql/bin/mysql_config

更改完后,可以进行编译和安装了

# python setup.py build

# sudo python setup.py install

通过测试import MySQLdb来判断是否安装成功,这里还需要将mysql安装路径下的lib加入到环境变量LD_LIBRARY_PATH中。

# export LD_LIBRARY_PATH=/usr/local/mysql/lib/:$LD_LIBRARY_PATH

注:cmake选项说明

选项

说明

-DCMAKE_INSTALL_PREFIX

mysql安装的主目录。默认为/usr/local/mysql

-DMYSQL_DATADIR

mysql数据保存的路径自定义

-DMYSQL_UNIX_ADDR

系统Socket文件(.sock)设置基于该文件路径进行Socket连接必要为绝对路径

-DWITH_INNOBASE_STORAGE_ENGINE

存储引擎设置

-DSYSCONFDIR

mysql配置文件my.cnf地址默认/etc下

-DMYSQL_TCP_PORT

数据库服务器TCP/IP连接的监听端口默认为3306

-DEXTRA_CHARSETS

-DDEFAULT_CHARSET

-DDEFAULT_COLLATION

数据库编码设置

-DENABLED_LOCAL_INFILE

默认为关闭这里开启

-DWITH_DEBUG

DEBUG开关,默认为关

5、下载安装uWsgi

# wget http://projects.unbit.it/downloads/uwsgi-1.2.3.tar.gz

#

# tar xvfz uwsgi-1.2.3.tar.gz

# cd uwsgi-1.2.3

# python uwsgiconfig.py --build

二、配置篇

1、配置nginx(配置nginx.conf)

48304ba5e6f9fe08f3fa1abda7d326ab.png

server {

listen 8080;

server_name django;

location / {

root /data/htdocs/django;

include uwsgi_params;

uwsgi_pass 127.0.0.1:8000;

}

access_log /data/htdocs/django/access.log;

}

48304ba5e6f9fe08f3fa1abda7d326ab.png

2、配置uWsgi

可以将uwsgi的配置文件做成ini格式的,也可以直接在命令行进行输入,下面给出了ini文件形式的配置

48304ba5e6f9fe08f3fa1abda7d326ab.png

#uwsgi.ini

[uwsgi]

socket = 127.0.0.1:8000<

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值