在线客服交流系统主要使用的技术:comet(stomp, rabbitmq)、tornado、python、memcache、mysql
一、程序软件各种安装
sudo apt-get update
先要更新一下下载列表
1. 安装twisted
需要安装的版本是12.0.0,版本太高orbited不适合,版本太低tornado那边也是不适合的。
sudo apt-get install python-dev
sudo pip install https://pypi.python.org/packages/source/T/Twisted/Twisted-12.0.0.tar.bz2
2. 安装tornado(版本是2.4.1)
sudo pip install tornado
3. 配置好comet环境
sudo pip install orbited
sudo pip install stompservice
sudo pip install simplejson
sudo pip install stomp.py
利用下面方式,测试一下是否安装成功:
$ python
>>> import orbited
>>> import stomp
>>> import stompservice
>>> import simplejson
测试一下orbited的可使用性
cd /home/cloud
vim test.cfg,其代码如下:
[global]
session.ping_interval = 300
[listen]
http://:9000
stomp://:61613
[access]
* -> localhost:61613
orbited - -config=test.cfg
http://cloudchat.chinacache.com:9000/static/demos/stomp/
测试一下它的消息传递是否正确。
4. 安装MYSQL
sudo apt-get install mysql-server
sudo apt-get install libmysqlclient-dev
sudo apt-get install python-setuptools python-dev build-essential
sudo easy_install -U distribute
sudo pip install mysql-python
5. 安装memcache
sudo apt-get install memcached
sudo pip install python-memcached
6. 安装nginx
sudo apt-get install nginx
vim /etc/nginx/sites-available/defalut
添加如下代码:
server {
listen 8100;
server_name cloudchat.chinacache.com; # 域名
location / {
proxy_pass http://127.0.0.1:8888; # tornado的端口
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
二、程序软件各种环境配置
1. 配置启动memcached服务器端
$ memcached -l 127.0.0.1 -p 11211 -d -u nobody -P /var/run/memcached.pid -m 64M -c 1024 -vv
2. rabbitmq配置
在配置rabbitmq之前我们应该知道的是stomp结合rabbitmq使用,那么我们还需要配置好stomp-rabbitmq插件。
(1) 创建rabbitmq.config文件,并在文件中输入如下:
[ {mnesia, [{dump_log_write_threshold, 1000}]}, {rabbit, [{tcp_listeners, [5673]}]} ].
(2) 创建一个rabbitmq-env.conf空配置文件
(3) apt-get install rabbitmq-stomp
修改rabbitmq.config文件为:
[
{mnesia, [{dump_log_write_threshold, 1000}]},
{rabbit, [{tcp_listeners, [5673]}]},
{rabbitmq_stomp, [{tcp_listeners, [{"127.0.0.1", 61613}, {"::1", 61613}]},
{default_user, [{login, "cloudchat"},{passcode, "123456"}]}
]}
].
(4) 执行下面的命令,激活插件rabbitmq-stomp
rabbitmq-plugins enable rabbitmq_stomp
(5) 启动rabbitmq:
rabbitmq-server -detached
(6) 添加需要的用户名和密码
rabbitmqctl add_user cloudchat 123456
(7) 给用户添加权限
rabbitmqctl set_user_tags cloudchat administrator
三、启动服务
1. 先启动orbited服务,我们需要把这个服务启动放置在后台
nohup orbited --config=example.cfg &> /var/log/orbited/base.log &
2. 针对mysql数据库进行数据库预创建。
3. tornado程序启动
nohup python init.py start &> /var/log/cloudchat/base.log &