一、jdk安装
建议rpm方式安装,简单快捷
jdk-7u75-linux-x64.rpm安装包获取地址:链接:https://pan.baidu.com/s/1_loorArexoodUih5CcH6Pw 密码:vtgr
1、rpm -ivh jdk-7u3-linux-x64.rpm
2、vi /etc/profile 添加如下参数:
JAVA_HOME=/usr/java/jdk1.7.0_75
JAVA_BIN=/usr/java/jdk1.7.0_75/bin
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME JAVA_BIN PATH CLASSPATH
3、source /etc/profile 使配置生效。
4、通过java -version 和 echo $JAVA_HOME查看java是否安装成功。
**********************************************************************
二、mysql安装
mysql安装包 mysql-5.6.25-linux-glibc2.5-x86_64.tar.gz 获取地址:链接:https://pan.baidu.com/s/1FketRwq78MUFsFB6FKNeyg 密码:72gh
1、已安装mysql 版本检查: rpm -qa|grep mysql ,如果有显示内容,则需要考虑卸载原先的版本
2、旧版本mysql卸载: rpm -ev mysql-libs-5.1.71-1.el6.x86_64 ,若出现错误则执行以下命令
停止服务: service postfix stop ,使用 yum -y remove postfix 卸载直至“Complete!”显示
然后再执行卸载命令: rpm -ev mysql-libs-5.1.71-1.el6.x86_64
3、开始安装mysql,解压: tar -zxvf mysql-5.6.25-linux-glibc2.5-x86_64.tar.gz
4、移动解压后的目录到本地软件安装目录: sudo mv mysql-5.6.25-linux-glibc2.5-x86_64 /usr/local/mysql
5、增加用户组: sudo groupadd mysql
6、在用户组下增加用户: sudo useradd -r -g mysql mysql
7、检查用户组、用户是否存在: groups mysql ,正常则显示mysql : mysql
若不存在,则显示groups: mysql: No such user
8、进入安装包目录:cd /usr/local/mysql
9、执行安装命令:
./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
10、复制 support-files/my-default.cnf 到 /etc/my.cnf
cp support-files/my-default.cnf /etc/my.cnf
11、将mysql添加到service中,以后可以用 service mysql start 启动:
cp support-files/mysql.server /etc/init.d/mysql
12、修改当前data目录拥有者为mysql用户: chown -R mysql:mysql data
13、配置环境变量: sudo vim /etc/profile ,添加:
export MYSQL_HOME="/usr/local/mysql"
export PATH="$PATH:$MYSQL_HOME/bin"
14、让修改的profile文件立即生效: source /etc/profile
15、启动mysql : service mysql start
16、修改mysql的密码: mysqladmin -uroot -p password 'root'
17、登录验证:/usr/local/mysql/bin/mysql -u root -p
18、允许使用用户名root密码123456从任何主机连接到mysql服务器:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
19、刷新权限: FLUSH PRIVILEGES;
20、修改my.cnf: vim /etc/my.cnf,添加编码格式及忽略大小写:
[mysql]
default-character-set=utf8
[mysqld]
character-set-server=utf8
lower-case-table-names=1
21、重启: service mysql restart
22、下面是设置mysql开机自动启动:
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig --list
如果看到mysql的服务,并且3,4,5都是on的话则成功,如果是off,则键入:chkconfig --level 345 mysql on
重启电脑验证:reboot
查看3306端口是否启动:netstat -nap | grep 3306
****************************************************************************************
三、aerospike安装:
aerospike安装包 aerospike-server-community-3.5.9-el6.zip 获取地址:链接:https://pan.baidu.com/s/1QJ-cRZ2f_tqir7pBPusE6A 密码:0uye
1、解压:unzip aerospike-server-community-3.5.9-el6.zip
2、进入目录:cd aerospike-server-community-3.5.9
3、赋予asinstall执行权限:chmod 777 asinstall
4、./asinstall 安装
5、将aerospike.conf替换/etc/aerospike/aerospike.conf
6、修改aerospike.conf的配置:
mesh模式,红框内改为本机IP,如要集群,将第二个红框所在行复制添加到改行之下,ip为另外一台机器的IP,端口均为3002
配置文件最下方 memory-size 2G 内存改为自己想要的大小。
7、 启动:service aerospike start
8、查看状态:service aerospike status
**************************************************************************
四、nginx安装:
nginx安装包及依赖包下载地址:链接:https://pan.baidu.com/s/1FR9YKIdgKXQxy1ZTm2PfeA 密码:4824
1、解压安装pcre-8.34.tar.gz
tar -zxvf pcre-8.34.tar.gz
2、进入目录
cd pcre-8.34
3、./configure【如果有报错:configure: error: You need a C++ compiler for C++ support. 则运行
yum install -y gcc gcc-c++安装gcc,然后再执行./configure】
4、make && make install
5、cd .. 进入上级目录,解压安装zlib-1.2.8.tar.gz
tar -zxvf zlib-1.2.8.tar.gz
6、进入目录
cd zlib-1.2.8
7、./configure
8、make && make install
9、cd ..进入上级目录,解压安装openssl-1.0.1p.tar.gz
tar -zxvf openssl-1.0.1p.tar.gz
10、进入目录:
cd openssl-1.0.1p
11、./config
12、make && make install
13、cd .. 进入上级目录,解压安装nginx-1.6.2.tar.gz
tar -zxvf nginx-1.6.2.tar.gz
14、进入目录:cd nginx-1.6.215、安装: ./configure --prefix=/usr/local/nginx 【如果在编译nginx时,找不到pcre 、zlib、openssl安装路径,执行:
./configure --prefix=/usr/local/nginx --with-pcre=../pcre-8.34 --with-zlib=../zlib-1.2.8 --with-openssl=../openssl-1.0.1p --with-http_sub_module】
16、make && make install
17、版本检查:/usr/local/nginx/sbin/nginx -v【如果出现报错:/usr/local/nginx/sbin/nginx: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory。则64位系统执行ln -s /usr/local/lib/libpcre.so.1 /lib64;32位系统执行:ln -s /usr/local/lib/libpcre.so.1 /lib】
18、安装完成后,开始修改配置文件:
配置文件为/usr/local/nginx/conf/nginx.conf,百度云中已经含有例子,替换后稍微修改即可。
19、nginx.conf中配置的绝对路径需要提前创建,mkdir -p ***
20、启动
进入目录cd /usr/local/nginx
检查配置文件是否正确: ./sbin/nginx -t -c ./conf/nginx.conf【若是少某些文件目录,创建之】
启动: ./sbin/nginx -c ./conf/nginx.conf
注:不可直接kill掉nginx进程,修改配置后,可以使用 sbin/nginx -c conf/nginx.conf -s reload 【或在安装目录使用:sudo objs/nginx -p ./ -s reload 命令重载】命令重新加载配置文件。
*****************************************************************************
五、hornetq安装(单机版):
hornetq是绿色版的,解压即可使用,程序包下载地址:链接:https://pan.baidu.com/s/1rc-lceRTwWUp7uuw0eFDbA 密码:ur06
1、解压:unzip hornetq-2.4.0.Final.zip
2、进入目录:cd hornetq-2.4.0.Final
3、vim bin/run.sh,修改最后一行的ip为本机ip
4、cd config/stand-alone/non-clustered/
5、修改hornetq-beans.xml、hornetq-configuration.xml中的IP为本机IP
6、在hornetq-jms.xml中添加队列名称(按照需要添加)
例如:
</queue>
<queue name="TestQueue">
<entry name="/queue/TestQueue" />
</queue>
7、进入bin目录:cd ../../../bin
8、启动:nohup ./run.sh &
9、停止命令:./stop.sh
10、在windows下可以使用jconsole工具监控队列,ip:4000端口
**********************************************************
六、hornetq安装(主备版):
主备采用广播模式,主备分别在两台机器上,安装包下载地址:链接:https://pan.baidu.com/s/1DkaQJynZfAHp4q9fGPoFHw 密码:g0qm
主备采用jgroup模式主备,在广播模式的基础上更改下tcp.xml文件的配置即可,安装包下载地址:链接:https://pan.baidu.com/s/1fGphWRG42iCLfaGw6YIV3A 密码:520e
1、解压:unzip hornetq-2.4.0.Final-master.zip
2、进入目录:cd hornetq-2.4.0.Final-master
3、vim bin/run.sh,修改最后一行的ip为本机ip
4、cd config/stand-alone/clustered/
5、修改hornetq-beans.xml、hornetq-configuration.xml中的IP为本机IP
6、在hornetq-jms.xml中添加队列名称(按照需要添加)
例如:
</queue>
<queue name="TestQueue">
<entry name="/queue/TestQueue" />
</queue>
7、进入bin目录:cd ../../../bin
8、启动:nohup ./run.sh &
9、停止命令:./stop.sh
10、在windows下可以使用jconsole工具监控队列,ip:4000端口
备机部署与主机一样
*********************************************************************************
七、kafka集群安装:
kafka也是一种消息中间件,优于hornetq,现在大多采用kafka,kafka基于zookeeper实现集群,kafka及zookeeper安装包下载地址:链接:https://pan.baidu.com/s/1YUCzBu7XlUi-1O2dYMUMJA 密码:reb9
1、安装zookeeper,解压:unzip zookeeper-3.4.6.zip
2、进入配置目录:cd zookeeper-3.4.6/conf/
3、修改配置文件:vim zoo.cfg
dataDir存储快照文件的目录、dataLogDir日志目录、server.0【0是与data/myid中的值相对应的,集群中该值不可重复,ip为本机IP,多台情况下应该是server.0=,然后另起一行,server.1=......】
4、进入启动目录,cd ../bin
5、启动zookeeper: ./zkServer.sh start
6、查看zookeeper启动状态: ./zkServer.sh status
7、使用jps可以查看zk的进程
其他几台的zookeeper的安装与此类似,安装完启动。
8、kafka安装:
解压:unzip kafka_2.11-0.10.1.1.zip
9、进入配置目录:
cd kafka_2.11-0.10.1.1/config/
10、修改配置文件:vim server.properties
broker.id=0 #当前机器在集群中的唯一标识,和zookeeper的myid性质一样,集群每个broker.Id必须不同
listeners=PLAINTEXT://server11:9092 #当前kafka对外提供服务的端口默认是9092,server11改为本机IP
num.network.threads=3 #这个是borker进行网络处理的线程数
num.io.threads=8 #这个是borker进行I/O处理的线程数
log.dirs=/opt/kafka/kafkalogs/ #消息存放的目录,这个目录可以配置为“,”逗号分割的表达式,上面的num.io.threads要大于这个目录的个数这个目录,如果配置多个目录,新创建的topic把消息持久化的地方是,当前以逗号分割的目录中,那个分区数最少就放那一个
socket.send.buffer.bytes=1048576 #发送缓冲区buffer大小,数据不是一下子就发送的,先回存储到缓冲区了到达一定的大小后在发送,能提高性能
socket.receive.buffer.bytes=1048576 #kafka接收缓冲区大小,当数据到达一定大小后在序列化到磁盘
socket.request.max.bytes=104857600 #这个参数是向kafka请求消息或者向kafka发送消息的请请求的最大数,这个值不能超过java的堆栈大小
num.partitions=2 #默认的分区数,一个topic默认1个分区数
log.roll.hours=2 #日志滚动周期
log.retention.hours=6 #默认消息的最大持久化时间,168小时,7天
message.max.byte=33554432 #消息保存的最大值5M
default.replication.factor=2 #kafka保存消息的副本数,如果一个副本失效了,另一个还可以继续提供服务
replica.fetch.max.bytes=5242880 #取消息的最大直接数
log.segment.bytes=1073741824 #这个参数是:因为kafka的消息是以追加的形式落地到文件,当超过这个值的时候,kafka会新起一个文件
log.retention.check.interval.ms=300000 #每隔300000毫秒去检查上面配置的log失效时间(log.retention.hours=168 ),到目录查看是否有过期的消息如果有,删除
log.cleaner.enable=false #是否启用log压缩,一般不用启用,启用的话可以提高性能
zookeeper.connect=server11:2181,server12:2181,server13:2181 #设置zookeeper的连接端口
11、进入kafka目录:cd ..
12、分别启动多台kafka,启动命令: bin/kafka-server-start.sh config/server.properties &
13、使用 jps 命令确认kafka是否启动成功
14、创建topic命令【在bin目录下】:./kafka-topics.sh --create --zookeeper 192.168.174.140:2181 --replication-factor 1 --partitions 1 --topic topicName【replication-factor复制份数,参数要小于等于kafka集群的数量。partitions :分区数】
15、查看topic命令:./kafka-topics.sh --list --zookeeper 192.168.174.140:2181
16、查看某个topic的状态命令:./kafka-topics.sh --describe --zookeeper 192.168.174.140:2181 --topic topicName
kafka对外提供服务的端口是9092
***************************************************************
八、redis安装:
redis安装包下载地址:链接:https://pan.baidu.com/s/1W-NZJX0c6V7RoTiMJYnmwg 密码:mzbn
1、解压:tar -zxvf redis-3.2.11.tar.gz
2、进入目录:cd redis-3.2.11
3、make test【若出现You need tcl 8.5 or newer in order to run the Redis test报错,则先安装或更新tcl
tar -zxvf tcl8.6.1-src.tar.gz
cd /usr/local/tcl8.6.1/unix/
sudo ./configure
sudo make
sudo make install】
4、cd src
5、make && make install
6、配置redis.conf,参数含义如下:
daemonize yes #默认为no不以后台守护进程的形式运行,关于linux守护进程自行查阅
pidfile /var/run/redis.pid #如daemonize yes,则生效默认redis的PID文件存储地址,一般默认
port 6379 #端口默认为6379,如该端口被占用可以修改为未被占用的其它端口如6380
# TCP 监听的最大容纳数量
# 在高并发的环境下,你需要把这个值调高以避免客户端连接缓慢的问题。
# Linux 内核会一声不响的把这个值缩小成 /proc/sys/net/core/somaxconn 对应的值,
# 所以你要修改这两个值才能达到你的预期。
tcp-backlog 511 #该值暂未使用,但在高并发下可以参考,一般默认
# bind 127.0.0.1 #默认被注释表示监听所有网络连接,若有客户端有特殊要求,可以指定客户端地址以空格隔开
timeout 0 #客户端空闲等待时间超过该时间,则关闭连接;0表示禁用
tcp-keepalive 0 #服务端是否开启长连接,0表示禁用;启用户增加服务端的开支,client端socket也可以通过配置 keepalived选项开启'长连接'
loglevel notice #debug适合开发环境,客户端操作信息都会输出日志;verbose输出一些相对有用的信息,目前效果不明;notice适合生产环境,默认;warning异常信息
logfile "~/frms/redis-2.8.20/log/notice.log" #配置日志路径和日志文件名,默认为空
#save 900 1 #默认开启save,这里如果建议一般的项目做主从master关闭save,减少对master性能的影响
#save 300 10 #'save p1 p2' 表示在p1秒内,至少有p2个key发生改变才会做一次save操作
#save 60 10000
dbfilename dump.rdb #save的持久化文件名,注意即使不做持久化redis初始化数据任然会检查装载该文件的数据
dir ./ #save的持久化文件路径名
# slaveof <masterip> <masterport> #主从配置,slave服务需要配置主服务的IP PORT,如slaveof 10.192.1.10 6379
# masterauth <master-password> #主从数据同步密码,如果主服务配置了密码,salve服务器需要配置
slave-read-only yes #在slave服务器中生效,如果slave服务器做了热备,应注意修改成no,防止故障切换后无法写入数据
# requirepass foobared #默认客户端连接不需要密码验证,最近发生比较多的redis泄密比较多,最好考虑下
# rename-command CONFIG "" #重名命令,常用的默认flushdb、flushall、keys、config都是默认的
#通过重命名来禁用或修改命令名称,如rename-command CONFIG "" 禁用config命令,rename-command keys keys_123456我们把keys命令修改成keys_123456
#那么keys命令就失效了,keys_123456将替代keys的功能
# maxclients 10000 #服务端默认客户端连接数上线10000个,一般不需要修改
maxmemory 500MB #设置redis最大内存,防止缓存大于服务内存而导致异常,另外如果做了持久化或从机做了持久化,最大内存最好不要超过服务器内存的一般,主从保持一致
maxmemory-policy volatile-lru #内存不足是key的淘汰策略,默认volatile-lru在设置了过期时间的key中按照LRU算法剔除
client-output-buffer-limit slave 256mb 64mb 60 #slave的缓存配置,如果一开始配置了主从,则不用考虑该参数;如果master服务中已经有大量数据这些要修改
#因为redis主从第一次是全量同步;三个参数的意思第一个参数表示缓存最大不能超过256mb,如果超过就会同步异常;
#第二个参数和第三个参数表示60秒内,缓存的大小一直大于64mb,则同步异常;该配置需要在master服务配置有效
注:从服务配置和主服务大致相同,主要是配置slaveof、masterauth和slave-read-only三个参数。
7、启动: src/redis-server redis.conf