RabbitMQ+Zookeeper+Dubbo+Nginx+Mysql+Redis搭建
一、RabbitMQ
Rabbitmq 是用 erlang 语言写的,所以我们需要安装 Erlang,安装 erlang 又需要安装 python 与 simplejson,所以我们从python开始:
1、安装 python:
[php] view plaincopy
#wget http://www.python.org/ftp/python/2.5.2/Python-2.5.2.tar.bz2
#tar -jxvf Python-2.5.2.tar.bz2
#cd Python-2.5.2
#./configure
#make && make install
测试:在命令行下输入python,出现python解释器即表示已经正确安装。
2、安装 simplejson:
[html] view plaincopy
#wget http://pypi.python.org/packages/source/s/simplejson/simplejson-2.0.9.tar.gz
#tar zxvf simplejson-2.0.9.tar.gz
#cd simplejson-2.0.9
#python setup.py build
#python setup.py install
3、安装 erlang
[html] view plaincopy
先安装以下依赖包 ,别问为什么按行执行安装不然有你苦吃
#yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel
#yum install libX* java* tk unixODBC unixODBC-devel
#yum -y install ncurses-devel
#yum install ncurses-devel
#yum -y install xmlto
#wget http://www.erlang.org/download/otp_src_R13B04.tar.gz
#mv otp_src_R16B02 erlang_R16B #重命名解压厚的文件
#cd erlang_R16B/
#./configure --prefix=/usr/local/erlang --with-ssl --enable-threads --enable-smp-support --enable-kernel-poll --enable-hipe --without-javac
#make && make install
#vi /etc/profile
ERL_HOME=/usr/local/erlang
PATH=$ERL_HOME/bin:$PATH
export ERL_HOME PATH
#source /etc/profile
更新环境变量
执行erl,进入erlang的shell成功安装 测试一下是否安装成功,在控制台输入命令erl
4、安装 RabbitMQ
[php] view plaincopy
#yum install nc (nc.x86_64)
cd /usr/local
#wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.1.1/rabbitmq-server-3.1.1.tar.gz
#cd rabbitmq-server-3.1.1
#make
#make install TARGET_DIR=/opt/mq/rabbitmq SBIN_DIR=/opt/mq/rabbitmq/sbin MAN_DIR=/opt/mq/rabbitmq/man
//最新的包要加入其它目录,忘记是什么目录了。make install 看错误提示。将rabbitmq编译到/opt/mq/rabbitmq目录
5、安装web插件管理界面
[php] view plaincopy
#cd /opt/mq/rabbitmq/sbin
#mkdir /etc/rabbitmq/
#rabbitmq-plugins enable rabbitmq_management
[php] view plaincopy
#./rabbitmq-server start &
[php] view plaincopy
启动rabbitmq服务:
前台运行:rabbitmq-server start (用户关闭连接后,自动结束进程)
[php] view plaincopy
后台运行:rabbitmq-server -detached
6、好了,到这里rabbitmq已经配置好了,可以启动了:
[html] view plaincopy
我们再来查看看一下rabbitmq的默认监听端口5672:
#netstat -tnlp|grep 5672
最好我们就可以在浏览器上输入http://ip:15672/登录管理界面了:
使用登录的名户名和密码默认都算guest,登录后的页面如下:
另一台机器访问rabbitmq(就是本机之外),需要打开15672端口
#vi /etc/sysconfig/iptables 把15672端口加进去。然后重启service iptables restart
二、Zookeeper
下载安装包,下载地址http://zookeeper.apache.org/releases.html,我下载的版本是zookeeper-3.4.6.tar.gz.
$ tar xvzf zookeeper-3.4.6.tar.gz
解压后进入conf创建zoo.cfg文件,zoo.cfg内容如下:
zookeeper中使用的基本时间单位, 毫秒值.
tickTime=2000
#初始通信时限
initLimit=10
#同步通信时限
syncLimit=5
#数据目录
dataDir=/home/rongyi/zookeeper/data
#监听client连接的端口号
clientPort=2181
至此,配置完成,直接启动服务:
bin/zkServer.sh start
三、Dubbo
Dubbo的安装很简单,直接下载dubbo.war包部署到tomcat目录下即可,修改下/WEB-INF/dubbo.properties配置文件:
#zookeeper服务提供地址
dubbo.registry.address=zookeeper://192.168.1.164:2181
启动脚本:./bin/startup.sh
停止脚本:/bin/shutdown.sh
四、Nginx
安装nginx之前需要安装相关依赖库。
1:pcre安装:
pcre下载:下载地址:http://www.pcre.org/ ,下载完成后解压缩安装包进入解压文件目录,执行:
./configure
make
make install
2:openssl 安装:
Openssl下载地址:http://www.openssl.org/source ,下载完成后解压缩安装包进入文件目录,执行:
./configure
make
make install
3: zlib安装
Zbib下载地址:http://prdownloads.sourceforge.net,下载完成后解压缩安装包进入文件目录,执行:
/configure
make
make install
4:安装nginx
Nginx 下载地址: http://nginx.org/download/,下载完成后解压缩安装包进入文件目录,执行:
/configure -with > http_stub_status_module --prefix=/usr/local/nginx
make
make install
至此安装完成。
启动命令:./nginx
重启命令:./nginx –s reload
五、Mysql
安装server和client,中间会提示输入root密码
root@1-164-dev-ubt14-server:~# apt-get install mysql-server mysql-client
修改默认的datadir;
1、/etc/init.d/mysql stop
2、mkdir /data/mysqldata/
3、chown mysql:mysql /data/mysqldata/
4、cp -r /var/lib/mysql/* /data/mysqldata/
5、修改my.cnf配置文件:datadir=/data/mysqldata/
6、修改ubuntu中的安全设置/etc/apparmor.d/usr.sbin.mysqld
/var/lib/mysql/ r, 改成:/data/mysqldata/ r,
/var/lib/mysql/** rwk, 改成:/data/mysqldata/** rwk,
7、reload安全设置:/etc/init.d/apparmor reload
端口被占用的问题:
1、查看所有的服务端口:netstat -ap
2、查看某一个端口:netstat -ap | grep 3306 或者:lsof -i:3306 netstat -tl | grep mysql
3、若要停止使用这个端口的程序,使用kill +对应的pid即可
六、Mongo
1、添加Mongo密钥到本地: apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
2、添加源到apt-get
vi /etc/apt/sources.list 最后新增一行:deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen
2、apt-get update
3、apt-get install mongodb-10gen
4、查看进程是否已经启动: pgrep mongo -l
5、修复:mongod --dbpath=/data/mongodb --logpath=/var/log/mongodb/mongodb.log --repair
6、建用户:
#添加一个用户account,pwd
db.addUser("wangming","1234")
#查看当前库中的用户
db.system.users.find()
#连接时候通过auth命令进行连接(account,pwd)
db.auth("wangming","1234")
登录某个DB:use admin;db.auth('root','123456')
服务关闭: mongod --shutdown --dbpath /data/mongodb/
db.shutdownServer()
强制关闭:
> db.adminCommand({shutdown : 1, force : true})
> //or
> db.shutdownServer({force : true})
服务开启:$ ./mongod --fork --logpath /var/log/mongodb/mongodb.log --logappend
mongod --fork --dbpath=/data/mongodb --logpath=/var/log/mongodb/mongodb.log --logappend
开机自启动:在/etc/rc.local文件末尾添加下面的代码
#add mongodb service
rm -rf /data/mongodb_data/* && /usr/local/mongodb/bin/mongod --dbpath=/data/mongdb_data/ --logpath=/data/mongdb_log/mongodb.log --logappend &
七、Redis
1、下载Redis的安装包:wget http://download.redis.io/releases/redis-2.8.9.tar.gz
2、tar xvfz redis-2.8.9.tar.gz
3、cd redis-2.8.9
4、make
5、sudo make install
6、在安装成功之后,可以运行测试,确认Redis的功能是否正常:sudo make test
7、root@slavenode1:/home/grid/redis# cp redis.conf /etc/
root@slavenode1:/home/grid/redis# cd src
root@slavenode1:/home/grid/redis/src# cp redis-benchmark redis-cli redis-server /usr/bin/
root@slavenode1:/home/grid/redis/src#
8、/etc/sysctl.conf 追加记录:vm.overcommit_memory=1
9、执行:sysctl vm.overcommit_memory=1
10、后台启动配置:vim /etc/redis.conf 把daemonize no 改成 daemonize yes
11、启动:redis-server /etc/redis.conf
12、查看进程:ps -efww |grep redis
13、使用telnet简单连接测试:telnet localhost 6379
14、通过命令redis-cli shutdown可以关闭redis server服务