之前做过的测试环境-笔记

环境部署

  • 主机地址:192.168.0.219
  • 部署服务:mysql5.7,redis3.2.11,elasticsearch-5.6.10
  • mysql服务安装目录:/usr/local/mysql
  • redis服务安装目录:/data/redis-3.2.11
  • tomcat(xxl-job): yum 安装 :/usr/share/tomcat/
  • java (JDK1.8)

安装 JDK

  • 解压创建软链接
[root@app-test sowft]# tar zxf jdk-8u161-linux-x64.tar.gz -C /usr/local/src/

[root@app-test sowft]# ln -s /usr/local/src/jdk1.8.0_161/ /usr/local/jdk

  • 添加环境变量
[root@app-test ~]# vim /etc/profile.d/java.sh

export JAVA_HOME=/usr/local/jdk
export JAVA_BIN=$JAVA_HOME/bin:$JAVA_HOME/jre/bin
export JAVA_CLASS=$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME:$JAVA_BIN:$JAVA_CLASS

部署mysql

  • 创建mysql用户
[root@app-test ~]# useradd mysql -s /sbin/nologin 
[root@app-test ~]# id mysql
uid=1000(mysql) gid=1000(mysql) groups=1000(mysql)
  • 解压至指定目录
[root@app-test sowft]# tar zxf mysql-5.7.12-linux-glibc2.5-x86_64.tar.gz

[root@app-test sowft]# mv mysql-5.7.12-linux-glibc2.5-x86_64 /usr/local/mysql

[root@app-test sowft]# cd /usr/local/mysql/
  • 复制启动文件和配置文件
[root@app-test mysql]# cp support-files/mysql.server /etc/init.d/mysqld

[root@app-test mysql]# chmod +x /etc/init.d/mysqld 

[root@app-test mysql]# cp support-files/my-default.cnf /etc/my.cnf

  • 创建数据目录 /data/mysqldb
[root@app-test ~]# mkdir /data/mysqldb
  • 修改配置文件 my.cnf
[root@app-test ~]# vim /etc/my.cnf 

[mysqld]

basedir = /usr/local/mysql
datadir = /data/mysqldb
port = 3306
server_id = 1
socket = /tmp/mysql.sock

  • 初始化数据库
[root@app-test ~]# cd /usr/local/mysql/bin/

注意:初始化时数据存放目录下不要有任何文件或者目录,否则会导致初始化失败,后面的安装使用将binlog目录放在mysql数据目录下导致初始化失败

初始化报错

[root@app-test bin]# ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysqldb
./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

解决:安装 libaio库

yum install libaio -y
  • 再次初始化
#记住最后一行生成的账号信息

2018-09-20T03:02:31.348170Z 1 [Note] A temporary password is generated for root@localhost: yb7Vqhai33_l
  • 安装证书
[root@app-test bin]# ./mysql_ssl_rsa_setup --datadir=/data/mysqldb
  • 启动mysql
[root@app-test bin]# /etc/init.d/mysqld start

将mysql指令创建软链接

[root@app-test ~]# ln -s /usr/local/mysql/bin/mysql /usr/bin/
[root@app-test ~]# ln -s /usr/local/mysql/bin/mysqladmin /usr/bin/
[root@app-test ~]# ln -s /usr/local/mysql/bin/mysqldump /usr/bin/
  • 使用上面给的初始密码登录后修改密码
mysql> set password = password('hehuo123');

部署redis

  • 解压
[root@app-test software]# tar zxf redis-3.2.11.tar.gz -C /data/

[root@app-test software]# cd /data/redis-3.2.11/src/
  • 编译
[root@app-test src]# make
  • 设置redis环境变量

[root@app-test ~]# vim /etc/profile.d/redis.sh export PATH=$PATH:/data/redis-3.2.11/src/
[root@app-test ~]# source /etc/profile.d/redis.sh 
  • 修改配置文件

将 bind 项改为 0.0.0.0 其他基本不用改

  • 启动redis
    [root@app-test ~]# redis-server /data/redis-3.2.11/redis.conf

部署tomcat (yum安装)

yum install  tomcat -y

配置文件目录:/etc/tomcat/,程序存放目录:/usr/share/tomcat, 执行rpm -ql tomcat查看详情

部署 elasticsearch

  • 下载地址:https://www.elastic.co/downloads/past-releases

elasticsearch 服务使用二进制包安装,解压后配置即可,elasticsearch启动方式需要使用普通用户身份启动,使用root启动可能导致异常错误。

  • 创建普通用户
[root@app-test ~]# useradd es
  • 解压安装
[root@app-test sowft]# tar zxf elasticsearch-5.6.10.tar.gz

[root@app-test sowft]# mv elasticsearch-5.6.10 /usr/local/elasticsearch

[root@app-test sowft]# cd /usr/local/elasticsearch/

  • 配置es文件
[root@app-test elasticsearch]# vim config/elasticsearch.yml 

cluster.name: my-application
node.name: node-1
path.data: /data/es/data
path.logs: /data/es/logs
network.host: 192.168.160.133
http.port: 9200

  • 创建数据目录和日志目录
[root@app-test ~]# mkdir -p /data/es/{data,logs}

将/usr/local/elasticsearch目录和/data/es 目录属主属组改为 es 用户,(不修改启动会报错)

[root@app-test ~]# chown -R es.es /data/es/
[root@app-test ~]# chown -R es.es /usr/local/elasticsearch/
  • 切换到es用户启动
[root@app-test ~]# su es
  • 启动服务
[es@app-test ~]$ cd /usr/local/elasticsearch/bin/

[es@app-test ~]$ ./elasticsearch -d

其他相关

上面的部署中tomcat使用yum安装,通常环境下是使用源码安装的,使用源码安装的过程如下:

  • 解压
[root@app-test opt]# tar zxf apache-tomcat-7.0.90.tar.gz 

[root@app-test opt]# mv apache-tomcat-7.0.90 /usr/local/tomcat

  • 启动
[root@app-test ~]# /usr/local/tomcat/bin
catalina-tasks.xml  configtest.sh                 setclasspath.bat  startup.bat      tool-wrapper.bat
[root@app-test bin]# ./catalina.sh start
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.

#8080默认8080端口监听即可

tomcat多实例部署

将二进制包解压后复制一份并重命名为tomcat2,修改server.xml的端口信息,两个实例监听的端口不能相同。

  • 复制实例目录
[root@app-test]# cp -ar /usr/local/tomcat/ /usr/local/tomcat2
  • 修改实例2 监听端口
[root@app-test ~]# vim /usr/local/tomcat2/conf/server.xml 
  • 启动
[root@app-test ~]# /usr/local/tomcat2/bin/catalina.sh start

Using CATALINA_BASE:   /usr/local/tomcat2
Using CATALINA_HOME:   /usr/local/tomcat2
Using CATALINA_TMPDIR: /usr/local/tomcat2/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat2/bin/bootstrap.jar:/usr/local/tomcat2/bin/tomcat-juli.jar
Tomcat started.

  • 查看端口监听
[root@app-test ~]# ss -tnl
State      Recv-Q Send-Q                        Local Address:Port                                       Peer Address:Port              
LISTEN     0      128                                       *:22                                                    *:*                  
LISTEN     0      100                                      :::8080                                                 :::*                  
LISTEN     0      100                                      :::8081                                                 :::*                  
LISTEN     0      128                                      :::22                                                   :::*                  
LISTEN     0      1                          ::ffff:127.0.0.1:8005                                                 :::*                  
LISTEN     0      1                          ::ffff:127.0.0.1:8006                                                 :::*                  
LISTEN     0      100                                      :::8009                                                 :::*                  
LISTEN     0      100                                      :::8010  

现在使用docker容器部署就很方便了,以后有时间再写写docker的内容

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注