搭建目标如下:
图:系统架构图
这个系统可以提供web服务及其它查询应用服务,我用其做一个二手房信息搜集、处理及分发的系统,可以通过浏览器访问,也可以通过定制的客户端进行访问。
一、安装篇
1、下载安装python
# 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
下面是一些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:
# 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
l 下载安装mysql
# 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
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)
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;
}
2、配置uWsgi
可以将uwsgi的配置文件做成ini格式的,也可以直接在命令行进行输入,下面给出了ini文件形式的配置
#uws