搭建一套完整的Linux测试环境
小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
背景
公司项目,搭建性能测试环境,架构比较简单,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目录开始):
``` [[email protected] opt]$ tar zxvf mongodb.tgz
[[email protected] opt]$ mv * /data/mongodb
[[email protected] opt]$ vim /etc/profile
在profile环境配置文件你新增以下配置
MONGODB_HOME="/data/mongodb"
PATH=$PATH:$MONGODB/bin
[[email protected] opt]$ source /etc/profile
[[email protected] opt]$ mkdir -p /data/mongodb/db /data/logs/mongodb
[[email protected] opt]$ vim /etc/mongod.conf #配置mongodb端口,log路径,db路径
logpath=/data/logs/mongodb/mongod.log
[[email protected] bin]$ ./mongod -f /etc/mongod.conf #启动mongodb数据库
[[email protected] opt]$ vim /etc/mongod.conf #开启认证,添加账号密码
authorization: "enabled"
mongodb > db.createUser({user:"root",pwd:"你的密码",roles:["root"]});
mongodb > db.auth("root","你的密码");
以上步骤完成从/opt临时文件解压安装包,mv移到/data/目录下,配置环境变量、MongoDB配置、帐号密码
1. 数据库用户角色:read、readWrite;
2. 数据库管理角色:dbAdmin、dbOwner、userAdmin;
3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
4. 备份恢复角色:backup、restore;
5. 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
// 这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)
```
3、安装mysql痛苦的记忆,想当年在linux系统玩安装mysql,花了一个月时间都没安装成功,各种百度各种资料,实在汗颜,最后尝试安装得到提示:mysql的版本不一致,安装方式也略有不同,点击这里查看不同版本的mysql安装步骤,这步还是贴上:
``` [[email protected] opt]$ tar zxvf mysql5.7
[[email protected] opt]$ mv * /data/mysql
[[email protected] opt]$ groupadd mysql
[[email protected] opt]$ useradd -r -g mysql mysql
[[email protected] mysql]$ mkdir -p /var/lib/mysql
[[email protected] mysql]$ chown -R mysql:mysql /var/lib/mysql
[[email protected] mysql]$ ./bin/mysqld --user=mysql --basedir=/data/mysql --atadir=/var/lib/mysql --initialize
[[email protected] opt]$ vim /etc/my.cnf #[mysqld] 下添加变更mysql默认端口3306为10011
[[email protected] opt]$ service mysqld start #mysql服务启动
[[email protected] opt]$ ./bin/mysql -u root -p
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql> alter user 'root'@'localhost' identified by '你的密码';
mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log', however file don't exists. Create writable for user 'mysql'.
touch /var/log/mariadb/mariadb.log
chown -R mysql:mysql /var/log/mariadb/
/usr/local/mysql/bin/mysqld: Can't create/write to file '/var/run/mariadb/mariadb.pid' (Errcode: 2 - No such file or directory)
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安装步骤:
``` [[email protected] opt ]$ tar zxvf redis2.8 解压
[[email protected] opt ]$ mv redis2.8 /data/redis
[[email protected] opt ]$ yum install gcc cpp binutils glibc glibc-kernheaders glibc-common glibc-devel
fatal error: jemalloc/jemalloc.h: No such file or directory
[[email protected] data]$ yum install tcl
[[email protected] data]$ make && make test
[[email protected] data]$ make install #进入src目录
[[email protected] bin]$ ./redis-server &
[[email protected] bin]$ ./redis-server /data/redis/etc/redis.conf
1.访问redis根目录 cd /usr/local/redis-2.8.19
2.登录redis:redis-cli -h 127.0.0.1 -p 6379
5.清空整个 Redis 服务器的数据:flushall ```
5、JDK安装,解压即可,毋须编译,只需配置环境变量即可:
``` [[email protected] opt/]$ tar zxvf jdk1.8.tgz #解压
[[email protected] opt/]$ mv jdk /usr/local/jdk1.8
[[email protected] 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
[[email protected] opt/]$ source /etc/profile #生效
[[email protected] 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安装
``` [[email protected] opt/]$ yum -y install zlib zlib-devel gcc-c++ libtool openssl openssl-devel pcre*
[[email protected] 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
[[email protected] nginx/]$ make && make install
[[email protected] nginx/]$ ./sbin/nginx -t
[[email protected] opt/]$ vim /etc/profile
PATH=$PATH:$NGINX_HOME/sbin
[[email protected] opt/]$ source /etc/profile ```
7、Tomcat安装如下:
``` [[email protected] opt ]$ tar zxvf tomcat.tgz
[[email protected] opt ]$ mv apache-tomcat /data/tomcat8
[[email protected] opt ]$ cp -p /data/tomcat8/bin/catalina.sh /etc/init.d/tomcat
[[email protected] opt ]$ vim /data/tomcat8/conf/tomcat-user.xml
配置tomcat启动进入manager管理页面帐号密码及角色
[[email protected] opt ]$ vim /etc/init.d/tomcat
如下配置为了能add加入chkconfig服务列表
description: tomcat server init script
Source Function Library
JAVA_HOME=/usr/local/jdk1.8/
CATALINA_HOME=/data/tomcat8
[[email protected] opt ]$ chmod 755 /etc/init.d/tomcat
[[email protected] opt ]$ chkconfig --add tomcat
[[email protected] opt ]$ service tomcat start #启动tomcat服务 ```
8、Linux的jenkins启动的方式与在windows系统一样,java -jar jenkins.war --httpPort=8090,指定端口启动即可:
9、Nodejs首次安装,没想过这么简单粗暴,解压,移动到指定目录,创建软链接:
``` [[email protected] opt]$ tar xf node-v11.5.0-linux-.armv7.tar -C /usr/local/nodejs
[[email protected] opt]$ cd /usr/local/
[[email protected] opt]$ mv node-v5.10.1-linux-x64/ nodejs
[[email protected] opt]$ ln -s /usr/local/nodejs/bin/node /usr/bin
[[email protected] opt]$ ln -s /usr/local/nodejs/bin/npm /usr/bin ```
10、最后Maven部署:
``` [[email protected] opt]$ tar zxvf maven3.5.tgz
[[email protected] opt]$ mv /usr/local/maven
[[email protected] opt]$ vi /etc/profile
MAVEN_HOME=/usr/local/maven
PATH=$PATH:$MAVEN_HOME/bin
[[email protected] opt]$ source /etc/profile ```
11、整个测试环境需要的软件均以顺利安装完成,并没有很难的样子,一次性安装,都不带停歇的。