背景:公司项目,搭建性能测试环境,架构比较简单,nginx负载均衡,采用权重轮询,redis缓存、MongoDB热库、Mysql、tomcat部署方式,jenkins集成打包部署环境、Nodejs、maven环境,应用软件比较多,但是没有采用dubbo或spring boot微服务架构或采用mq消息队列等中间件,所以纯粹的安装这些软件只消半天功夫,剩下的就是服务部署调试了。
1、首先准备需要的软件包(为了和预发布、现网环境,软件版本尽量保持一致),把所有安装包放在opt目录里,包是怎么放到linux系统的?介绍3种方式:一是wget 下载地址,会download到当前目录,二是先download本地,再通过xftp连接服务器工具上传到linux指定目录data下,三是仍旧是先download本地,在使用rz -bye 选择上传包文件到指定目录即可(yum -y install lrzsz):
JDK1.8,Nginx1.9,Tomcat8.0,Jenkins2.156,Nodejs11.5,Maven3.5,Redis2.8,MySQL5.7,MongoDB3.2.1
2、安装软件不分先后,MongoDB第一个安装,也是第一次安装(往后所有动作默认从opt目录开始):
[root@localhost opt]$ tar zxvf mongodb.tgz
[root@localhost opt]$ mv * /data/mongodb
[root@localhost opt]$ vim /etc/profile
# 在profile环境配置文件你新增以下配置
MONGODB_HOME="/data/mongodb"
PATH=$PATH:$MONGODB/bin
[root@localhost opt]$ source /etc/profile
[root@localhost opt]$ mkdir -p /data/mongodb/db /data/logs/mongodb
[root@localhost opt]$ vim /etc/mongod.conf #配置mongodb端口,log路径,db路径
# 在mongod.conf新增如下配置:
port=10012
dbpath=/data/db
logpath=/data/logs/mongodb/mongod.log
fork = true
[root@localhost bin]$ ./mongod -f /etc/mongod.conf #启动mongodb数据库
[root@localhost opt]$ vim /etc/mongod.conf #开启认证,添加账号密码
security:
authorization: "enabled"
mongodb > use admin;
mongodb > db.createUser({user:"root",pwd:"你的密码",roles:["root"]});
mongodb > db.auth("root","你的密码");
#以上步骤完成从/opt临时文件解压安装包,mv移到/data/目录下,配置环境变量、MongoDB配置、帐号密码
Tips:
Built-In Roles(内置角色):
1. 数据库用户角色:read、readWrite;
2. 数据库管理角色:dbAdmin、dbOwner、userAdmin;
3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
4. 备份恢复角色:backup、restore;
5. 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
6. 超级用户角色:root
// 这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)
7. 内部角色:__system
3、安装mysql痛苦的记忆,想当年在linux系统玩安装mysql,花了一个月时间都没安装成功,各种百度各种资料,实在汗颜,最后尝试安装得到提示:mysql的版本不一致,安装方式也略有不同,点击这里查看不同版本的mysql安装步骤,这步还是贴上:
[root@localhost opt]$ tar zxvf mysql5.7
[root@localhost opt]$ mv * /data/mysql
[root@localhost opt]$ groupadd mysql
[root@localhost opt]$ useradd -r -g mysql mysql
[root@localhost mysql]$ mkdir -p /var/lib/mysql
[root@localhost mysql]$ chown -R mysql:mysql /var/lib/mysql
[root@localhost mysql]$ ./bin/mysqld --user=mysql --basedir=/data/mysql --atadir=/var/lib/mysql --initialize
[root@localhost opt]$ vim /etc/my.cnf #[mysqld] 下添加变更mysql默认端口3306为10011
[mysqld]
port=10011
[root@localhost opt]$ service mysqld start #mysql服务启动
[root@localhost opt]$ ./bin/mysql -u root -p
mysql>show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql> alter user 'root'@'localhost' identified by '你的密码';
mysql> flush privileges;
Tips:mysql安装过程中遇到的问题:
文件权限问题(1)
mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log', however file don't exists. Create writable for user 'mysql'.
mkdir /var/log/mariadb
touch /var/log/mariadb/mariadb.log
chown -R mysql:mysql /var/log/mariadb/
文件权限问题(2)
/usr/local/mysql/bin/mysqld: Can't create/write to file '/var/run/mariadb/mariadb.pid' (Errcode: 2 - No such file or directory)
mkdir /var/run/mariadb/
chown -R mysql:mysql /var/run/mariadb/
mysql.sock问题(3):Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
4、除去自己常部署的jdk、tomcat、nginx、apache、mysql、php、maven、ant、jmeter、jenkins等环境,redis、MongoDB、nodejs都是首次安装,安装测试环境,安装得多了也就熟悉了,唯手熟尔,在贴出redis安装步骤:
[root@localhost opt ]$ tar zxvf redis2.8 解压
[root@localhost opt ]$ mv redis2.8 /data/redis
[root@localhost opt ]$ yum install gcc cpp binutils glibc glibc-kernheaders glibc-common glibc-devel
错误:
fatal error: jemalloc/jemalloc.h: No such file or directory
解决:make MALLOC=libc
[root@localhost data]$ yum install tcl
[root@localhost data]$ make && make test
[root@localhost data]$ make install #进入src目录
[root@localhost bin]$ ./redis-server &
[root@localhost bin]$ ./redis-server /data/redis/etc/redis.conf
Redis清理缓存:
1.访问redis根目录 cd /usr/local/redis-2.8.19
2.登录redis:redis-cli -h 127.0.0.1 -p 6379
3.查看所有key值:keys *
4.删除指定索引的值:del key
5.清空整个 Redis 服务器的数据:flushall
6.清空当前库中的所有 key:flushdb
5、JDK安装,解压即可,毋须编译,只需配置环境变量即可:
[root@localhost opt/]$ tar zxvf jdk1.8.tgz #解压
[root@localhost opt/]$ mv jdk /usr/local/jdk1.8
[root@localhost opt/]$ vim /etc/profile #配置环境变量
#追加:
JAVA_HOME=/usr/local/jdk1.8
JAVA_BIN=/usr/local/jdk1.8/bin
JRE_HOME=/usr/local/jdk1.8/jre
PATH=$PATH:$JAVA_BIN:$JRE_HOME/bin
CLASSPATH=$JRE_HOME/lib:$JAVA_HOME/lib:$JRE_HOME/lib/charsets.jar
export JAVA_HOME JRE_HOME JAVA_BIN PATH CLASSPATH
:x #保存
[root@localhost opt/]$ source /etc/profile #生效
[root@localhost opt/]$ java -version #查看版本
#这是windows系统的版本系统,凑合在linux用一下,查看正常显示
java version "1.8.0_20"
Java(TM) SE Runtime Environment (build 1.8.0_20-b26)
Java HotSpot(TM) 64-Bit Server VM (build 25.20-b23, mixed mode)
6、Nginx安装
[root@localhost opt/]$ yum -y install zlib zlib-devel gcc-c++ libtool openssl openssl-devel pcre*
[root@localhost nginx/]$ ./configure --prefix=/usr/local/nginx_test --conf-path=/usr/local/nginx/conf/nginx.conf --with-http_ssl_module --with-http_stub_status_module --with-pcre
[root@localhost nginx/]$ make && make install
[root@localhost nginx/]$ ./sbin/nginx -t
[root@localhost opt/]$ vim /etc/profile
#配置nginx变量
NGINX_HOME=安装目录
PATH=$PATH:$NGINX_HOME/sbin
[root@localhost opt/]$ source /etc/profile
7、Tomcat安装如下:
[root@localhost opt ]$ tar zxvf tomcat.tgz
[root@localhost opt ]$ mv apache-tomcat /data/tomcat8
[root@localhost opt ]$ cp -p /data/tomcat8/bin/catalina.sh /etc/init.d/tomcat
[root@localhost opt ]$ vim /data/tomcat8/conf/tomcat-user.xml
#配置tomcat启动进入manager管理页面帐号密码及角色
[root@localhost opt ]$ vim /etc/init.d/tomcat
#如下配置为了能add加入chkconfig服务列表
# chkconfig: 112 63 37
# description: tomcat server init script
# Source Function Library
JAVA_HOME=/usr/local/jdk1.8/
CATALINA_HOME=/data/tomcat8
[root@localhost opt ]$ chmod 755 /etc/init.d/tomcat
[root@localhost opt ]$ chkconfig --add tomcat
[root@localhost opt ]$ service tomcat start #启动tomcat服务
8、Linux的jenkins启动的方式与在windows系统一样,java -jar jenkins.war --httpPort=8090,指定端口启动即可:
9、Nodejs首次安装,没想过这么简单粗暴,解压,移动到指定目录,创建软链接:
[root@localhost opt]$ tar xf node-v11.5.0-linux-.armv7.tar -C /usr/local/nodejs
[root@localhost opt]$ cd /usr/local/
[root@localhost opt]$ mv node-v5.10.1-linux-x64/ nodejs
[root@localhost opt]$ ln -s /usr/local/nodejs/bin/node /usr/bin
[root@localhost opt]$ ln -s /usr/local/nodejs/bin/npm /usr/bin
10、最后Maven部署:
[root@localhost opt]$ tar zxvf maven3.5.tgz
[root@localhost opt]$ mv /usr/local/maven
[root@localhost opt]$ vi /etc/profile
#配置环境变量
MAVEN_HOME=/usr/local/maven
PATH=$PATH:$MAVEN_HOME/bin
[root@localhost opt]$ source /etc/profile
11、整个测试环境需要的软件均以顺利安装完成,并没有很难的样子,一次性安装,都不带停歇的。