此文安装平台基于:
Ubuntu Server_10.04_LTS版
CentOS Linux release 6.0 (Final)
需要搭建的平台有:
Python
Nginx
uWSGI
Beanstalkd
建议使用阅读模式来浏览此文
注意事项:安装此次环境部分操作需要有root权限、通常操作目录为当前用户的home目录、而且系统需要有gcc、gcc-c++编译器、还有一点、请保留安装文件、万一某天想卸载掉某个软件、可以进入安装目录执行(root权限)、
sudo make uninstall
一、Python
由于大多数Linux平台都已具备了Python环境、所以无需安装、直接使用、此版Ubuntu自带Python2.6版本
二、Nginx
然后是安装Nginx、到目前为止最新的稳定版本为1.0.10、
执行以下命令
wget http://nginx.org/download/nginx-1.0.10.tar.gz
tar –zxf nginx-1.0.10.tar.gz
cd nginx-1.0.10
./configure
make
sudo make install
另外安装过程中./configure的信息是必须要看一下的、如果configure的信息错误了、那么后两步是执行不了的、而且congiure的错误信息也是造成make错误的根源、比如如果系统缺乏了pcre库、make过程中会报错、这时要跑回./configure的错误信息查看是没安装的pcre组件、如果没装这个组件就自行google安装吧、wget下来执行源码安装三步曲就可以了、如果再出错再看看有什么包没安装吧、所以一句话、./configure解决后、后两步都没什么问题、如果是make和make install有问题、那问题肯定就是出在c或者c++的编译器没装好或者设置好
另一种方式是交由Nginx安装程序统一编译源码包、比如缺乏了pcre和zlib的包、迩需要把源码包下回来、然后解压后、在./configure的参数中指定它的解压目录就可以了、注意、不需要自行编译安装pcre和zlib、因为待会Nginx会自行对它们统一进行编译和安装、命令如下
./configure \
--prefix=/www/xres/app/nginx-1.0.10 \
--with-pcre=/www/xres/app/install_files/pcre-8.12 \
--with-zlib=/www/xres/app/install_files/zlib-1.2.5
P.S:“\”反斜线作用为分隔符、可以一条命令写完、是非必要命令
安装nginx过程中、如果迩未使用—prefix=DIR命令自行指定目录、那么默认的安装目录就是/usr/local/nginx、那么要再把运行文件加去系统的环境变量才能使用、执行
sudo ln -s /usr/local/nginx/sbin/nginx /usr/sbin/
这下就OK了、执行sudo nginx就可以启动nginx服务了、注意要使用root权限、而且请确认指定端口未被其它程序占用了、默认nginx的服务端口是80、如果迩还有其它的web服务器如Apache之类的可能会占用80端口导致无法启动、请把这些服务停止或者更改nginx的端口为其它非80端口、
最后验证一下nginx是否已经启动、如果是本地测试打开浏览器输入http://localhost:80出现nginx的欢迎界面就是已经OK咯、如果迩以后想修改nginx的配置文件、请到Nginx的安装目录下去修改、默认的安装目录是/usr/local/nginx/conf/nginx.conf去修改、注意修改前先备份配置文件、以防不测
三、uWSGI
由于Nginx从0.8.40版本开始、就开始支持了uWSGI、如果迩使用的是低于此版本的Nginx、也有补丁uWSGI可用、不过鉴于版本太旧问题比较多、最稳妥的方式是尽快升级您的Nginx版本、如果迩的机器已经安装了python的pip包管理工具、那么简单的执行以下命令便可以完成安装
pip install uwsgi
如果迩没有安装pip先安装一下它吧、注意安装pip需要root权限
sudo apt-get install pip
如果迩不是Ubuntu操作系统、那就麻烦狠多、
首先需要下载pip的源码包
wget \ http://pypi.python.org/packages/source/p/pip/pip-1.0.2.tar.gz#md5=47ec6ff3f6d962696fe08d4c8264ad49
解压后进入目录执行
python setup.py install
P.S.:如果报错不能导入setuptools包、那么就需要先安装一个setuptools包
可以进入这个页面找到迩自己系统对应的python版本
http://pypi.python.org/pypi/setuptools#installation-instructions
比如迩的python版本是2.6、那么对应的下载地址就是
wget \ http://pypi.python.org/packages/2.6/s/setuptools/setuptools-0.6c11-py2.6.egg#md5=bfa92100bd772d5a213eedd356d64086
接着执行以下命令便 完成了setuptools的安装过程了、然后再重试安装pip工具
sudo sh setuptools-0.6c11-py2.6.egg
如果迩的机器没有pip工具又不想安装pip的话、可以使用源码安装的方式、首先下载最新LTS版源码包
wget http://projects.unbit.it/downloads/uwsgi-lts.tar.gz
tar –zxf uwsgi-lts.tar.gz
然后进入目录执行make命令便可以了、如果执行make命令遇到报错、如缺乏Python.h这样的库、那么便需要安装上Python-dev等依赖组件、可以使用yum或者apt-get等软件管理工具来安装、
centerOS:
sudo yum install libxml2* python-dev*
Ubuntu:
sudoapt-get install build-essential python-dev libxml2-dev
最后测试一下迩的uWSGI是否已经正常安装吧、首先建一个python文件test_uwsgi.py、输入
def application(env, start_response):
start_response('200 OK', [('Content-Type','text/html')])
return "Hello World"
然后执行命令
./uwsgi --http :9090 --wsgi-file test_uwsgi.py
P.S.:如果迩是使用pip安装的话、则执行这条命令
uwsgi --http :9090 --wsgi-file test_uwsgi.py
如果成功启动无报错、再启动相应浏览器打开看看是否正常显示”Hello World”、本地浏览的话地址是http://localhost:9090、如果已经正常的显示、那么就是已经成功的安装了uWSGI了
四、beanstalkd
然后是安装Beanstalkd、beanstalk是一个非常简洁高效的queue、安装这个分服务端和客户端、
1、服务端
首先来安装服务端、不过在安装beanstalkd之前需要做些准备工作先
由于beanstalkd需要有libevent库的支持、所以如果环境没有自带还需要先安装libevent、
而且beanstalkd目前还对libevent的支持版本有限制、仅支持1.4.1以上和2.0以下的版本、
不能装得太高也不能太低、然后从官网看来、最新的1.4.x版本是1.4.14b-stable、莪们此次就使用这个版本吧、执行
wget https://github.com/downloads/libevent/libevent/libevent-1.4.14b-stable.tar.gz
然后解压
tar –zxf libevent-1.4.14b-stable.tar.gz
然后进入解压目录执行安装、此处执行make install命令要求root权限
./configure
make
sudo make install
然后再来安装beanstalkd吧、目前最新版本为1.4.6、在终端执行以下命令下载beanstalkd服务器端源码
wget https://github.com/downloads/kr/beanstalkd/beanstalkd-1.4.6.tar.gz
tar –zxf beanstalkd-1.4.6.tar.gz
cd beanstalkd-1.4.6/-
./configure
make
sudo make install
同样make install需要root权限、安装完成后试着启动一下beanstalkd、
beanstalkd -l 127.0.0.1 -p 14711 &
如果是centerOS的话、则需要去到安装目录的bin目录下执行./beanstalkd
./beanstalkd -l 127.0.0.1 -p 14711
(以下在centerOS执行效果同上)
此命令要求beanstalkd在后台启动一个服务、如果无报错、那么成功了一半、不过这样的话只能由本机来连接、如果想要使得其它客户端想连接它的话、应该执行这条命令、
beanstalkd –d –p 14711
2、客户端
然后是安装beanstalkd的客户端、莪们此处选择的是beanstalkc、基本python写的一个beanstalkd的客户端、安装客户端是比较简单的了使用Python的包管理软件pip就可以了、
安装好pip之后再安装beanstalkc就可以了
sudo pip install beanstalkc
同样也是需要root的、 在开始使用beanstalkc客户端执行连接之前、请确保本地Python已经安装了PyYAML组件、如果尚未安装请执行
sudo pip install PyYAML
ok、这么样就大功靠成了、测试一下客户端安装成功没有、
启动python控制台
python
导入beanstalkc的包
>>> import beanstalkc
如果无报错、那么beanstalkc的python客户端就是已经成功安装好了
接着输入
>>> beanstalk = beanstalkc.Connection(host='localhost', port=14711)
此条命令输入之前必须确保刚才启动了beanstalkd服务端、
如果此条命令也无报错、证明客户端已经成功连接上了服务端、如果迩是在其它客户端去连接服务器的话、只需要先知道服务器的ip、比如服务器的ip是192.168.0.142那么把localhost替换掉就可以了、下面可以执行正常的操作或退出python控制台、exit()