二、运行环境搭建

    技术2022-07-13  75

    1. 首先安装jdk

    查看可安装java版本 :

    yum -y list java* 

     

    java版本要选择-devel的安装,因为这个安装的是jdk,而那个不带-devel的安装完了其实是jre

    安装:

    yum install -y java-1.8.0-openjdk-devel.x86_64  

     

    验证安装:

    java -version

    安装的位置在/usr/lib/jvm目录下

     

    2. Jenkins安装和初始化

    yum的repos中默认是没有Jenkins的,需要先将Jenkins存储库添加到yum repos

    安装wget:

    yum -y install wget

    下载依赖:

    sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo 

    导入秘钥:

    sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

    安装Jenkins(等待安装时间较长,约25min):

    yum install jenkins

     

    将启动用户修改为root(默认是使用“Jenkins”这个用户启动的)

    修改默认端口号(默认端口是8080,这个跟tomcat的默认端口冲突) 

    输入命令进入配置文件:

    vim /etc/sysconfig/jenkins

    输入“i”  可以编辑文件:修改用户名和端口号

    改好之后按“ESC”键退出编辑模式

    输入“:”符号切换到底线命令模式,在最底一行输入退出命令(wq是保存并退出;    q!是不保存并退出)

     

    配置文件改好之后,输入命令启动Jenkins服务:

    service jenkins start

    启动之后在web端输入服务器ip地址和端口号(冒号要用英文的)

    实际发现无法访问,排查之后发现是因为端口8088没有打开,需要将端口号打开

    firewall-cmd --query-port=8088/tcp firewall-cmd --add-port=8088/tcp

    再次尝试,成功

    根据页面提示,我们可以在/var/lib/jenkins/secrets/initialAdminPassword文件里找到密码

    输入命令:

    tail /var/lib/jenkins/secrets/initialAdminPassword

    复制并粘贴密码,点击继续。短暂的等待后,进入插件安装页面。

    选择左边的推荐安装之后开始自动安装(你也可以点击另一个按钮安装指定的插件)

    如果安装插件失败,则需要修改默认的URL更新站点

    在服务器中输入命令打开配置文件:

    vim /var/lib/jenkins/hudson.model.UpdateCenter.xml

    将链接改为:http://mirror.xmission.com/jenkins/updates/update-center.json

    上面的链接有时效性,后期需要去网上查找新的镜像源

    然后输入命令重启jenkins:

    systemctl restart jenkins

    在web端重新输入密码,安装插件,有时需要重试几次,需要耐心等待

     

    全部安装完成后,页面自动进入了管理员账户注册页面

    输入完信息点击 Save and Finish,完成

    点击Start using Jenkins,进入Jenkins主页面

     

    2.1 安装jenkins时遇到的问题:

    插件无法安装:手动下载后上传,耗时巨长,注意插件的依赖关系(有先后顺序)

    插件镜像源(qing华的):https://mirrors.tuna.tsinghua.edu.cn/jenkins/plugins/

    注意:点击插件名称后需要在跳转页面取ID名称去搜索

    需要安装对应的版本,在【可选插件】中搜索后有显示

     

    3.安装docker

    (也可以直接安装,不使用docker)

    检查内核版本,返回的值大于3.10即可。

    uname -r

    确保yum是最新的

    yum update

    添加 yum 仓库

    tee /etc/yum.repos.d/docker.repo <<-'EOF' [dockerrepo] name=Docker Repository baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/ enabled=1 gpgcheck=1 gpgkey=https://yum.dockerproject.org/gpg EOF

    安装 Docker

    yum -y install docker

    报错

    错误原因:无法链接到镜像

    修复:修改/etc/yum.repos.d 目录下的docker.repo文件配置

    vim /etc/yum.repos.d/docker.repo

     

    把url替换成阿里或其它国内可用的镜像源

    保存并退出

     

    再次安装,成功

    yum -y install docker

    启动docker,报错

    经过网上查询发现是/etc/docker下的文件daemon.json配置不对(中文符号问题)

    {"registry-mirrors":["https://lqvkpe1s.mirror.aliyuncs.com","http://hub-mirror.c.163.com"]}

    修改保存后,重启docker

    systemctl restart docker.service

    查看版本号验证下是否正常

    docker version

     

    4.用docker 安装mysql

    (数据库建议与应用服务器分开)

    拉取MySQL镜像

    docker pull mysql

    查看本地镜像

    docker images

    创建并启动一个MySQL容器,imageid替换成上图中查询到的id

    docker run --name mysql -p 3306:3306 -v /etc/docker/mysql/data:/var/lib/mysql -v /etc/docker/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 -d imageid

    命令说明:

    --name:给新创建的容器命名-p 3306:3306:端口映射,将容器中的3306端口(第二个)映射到主机的3306端口-v /etc/docker/mysql/data:/var/lib/mysql:将主机/etc/docker/mysql/data目录挂载到容器的/var/lib/mysql-v /etc/docker/mysql/conf:/etc/mysql/conf.d:将主机的/etc/docker/mysql/conf目录挂载到容器的/etc/mysql/conf.d-e MYSQL_ROOT_PASSWORD=123456:配置信息,此处为初始化root用户的密码-d: 后台运行容器,并返回容器IDimageID: mysql镜像ID

    查看容器运行状态:

    docker ps -a #-a :显示所有的容器,包括未运行的。这个也可以不加

    打开3306端口:

    firewall-cmd --query-port=3306/tcp firewall-cmd --add-port=3306/tcp

    测试连接MySQL:(使用navicat远程连接),报错

    排查:连接不上的原因是客户端不支持caching_sha2_password的密码加密方式。修改用户密码加密方式为经典方式即可。

    进入mysql容器(直接进入不行,必须从容器进入)

    docker exec -it mysql bash

    输入mysql账号密码(Enter password:后面直接输入密码然后回车键就行,界面不会显示密码)

    mysql -uroot -p

    修改用户密码加密方式:(注意sql语句必须以;结尾)

    ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #修改加密规则 ,'password'改成你的密码 ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password'; #更新一下用户的密码 ,'password'是你的密码 FLUSH PRIVILEGES; #刷新权限

    再次尝试链接数据库,成功

     

    5.用docker 安装redis

    (数据库建议与应用服务器分开)

    拉取最新版的 Redis 镜像:

    docker pull redis:latest

    查看本地镜像,看是否已安装了 redis:

    在上图中可以看到我们已经安装了最新版本(latest)的 redis 镜像。

     

    创建并运行一个名为 myredis 的容器(这里我是用的第2种,公司要求)

    1.docker run -itd --name redis-test -p 6379:6379 redis 2.docker run -p 6379:6379 -v $PWD/data:/data -v $PWD/conf/redis.conf:/etc/redis/redis.conf --privileged=true --name myredis -d redis redis-server /etc/redis/redis.conf

    安装成功之后,查看运行信息

    连接测试使用 redis 服务:

    docker exec -it myredis /bin/bash #myredis替换成你的redis名称

    也可以用桌面工具RedisDesktopManager链接测试,查看刚刚添加的测试数据

     

    6.安装maven

    下载maven安装包(我是在/usr/local文件夹下)

    wget https://mirrors.aliyun.com/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz

    解压缩maven

    tar -zvxf apache-maven-3.6.3-bin.tar.gz

    配置maven环境变量

    打开配置文件并添加环境变量

    vim /etc/profile

    使改动生效:

    source /etc/profile

    验证结果,在任意路径下执行mvn -version验证命令是否有效:

     

    7.安装Git

    yum -y install git

    输入 git --version验证是否成功安装:

    git被安装在/usr/libexec/git-core目录下

    8. 安装Node js

    下载安装包(我是在/usr/local文件夹下)

    解压

    tar -xf node-v14.9.0-linux-x64.tar.xz

    改个名字,改为nodejs

    mv node-v14.9.0-linux-x64 nodejs

    打开文件vim /etc/profile

    配置环境变量,在文件最后添加一下两行代码(路径填你自己的)

    export NODE_HOME=/usr/local/nodejs export PATH=${NODE_HOME}/bin:$PATH

    验证下是否成功安装:

    ./bin/node -v #在nodejs文件夹下输入此命令

    建立软连接,变为全局:(类似于快捷方式,如果安装的路径在/usr/local/bin/下不需要这一步操作)

    命令格式为:ln    -s   源文件   目标路径

    ln -s /usr/local/nodejs/bin/node /usr/local/bin/ ln -s /usr/local/nodejs/bin/npm /usr/local/bin/

    执行node -v 命令,检验nodejs是否已变为全局:

    9.安装tomcat

    下载tomcat安装包(后缀为.tar.gz格式的),官网:https://tomcat.apache.org/

    将安装包解压到/usr/local文件夹下

    tar -zxvf apache-tomcat-9.0.37.tar.gz

    进入bin目录,启动服务(记得打开端口号)

    cd bin ./start.sh ./shutdown.sh #这个是关闭服务

    也可以通过yum安装tomcat

    yum -y install tomcat cd /usr/share/tomcat #默认安装在这个目录下 systemctl start tomcat #启动服务 systemctl stop tomcat #停止服务

    启动后在浏览器用ip+端口号访问:

     

    10. 安装Solr

    solr是基于Lucene的全文搜索服务器。Solr提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展,并对索引、搜索性能进行了优化。Solr可以独立运行,运行在Jetty、Tomcat等这些Servlet容器中。需要先安装jdk和tomcat

    下载solr安装包(关于jdk、tomcat、solr的对应版本由于时效性建议自行上网搜索)

    http://archive.apache.org/dist/lucene/solr/

    在/usr/local文件夹下解压solr安装包

    tar -zxvf solr-7.7.0.tgz

    进入安装文件的bin目录下,启动服务

    ./solr start -force

    在浏览器输入ip+端口号验证:

     

    10.1把solr部署在tomcat服务器中(没有这个需求可以忽略此步骤)

    把solr-7.7.0/server/solr-webapp/webapp 文件夹复制到tomcat的webapps下,并重命名为solr

    cp -r /usr/local/solr-7.7.0/server/solr-webapp/webapp /usr/local/apache-tomcat-9.0.37/webapps

     

    把solr-7.7.0/server/lib/ext 下的jar 复制到tomcat的webapps/solr/WEB-INF/lib下

    cp -r /usr/local/solr-7.7.0/server/lib/ext /usr/local/apache-tomcat-9.0.37/webapps/solr/WEB-INF/lib

    把solr-7.7.0/server/lib/ 目录下的gmetric4j-1.0.7.jar,以及以metrics开头的jar包  复制到tomcat的webapps/solr/WEB-INF/lib下,

    cp -r /usr/local/solr-7.7.0/server/lib/gmetric4j-1.0.7.jar /usr/local/apache-tomcat-9.0.37/webapps/solr/WEB-INF/lib cp -r /usr/local/solr-7.7.0/server/lib/metrics-*.* /usr/local/apache-tomcat-9.0.37/webapps/solr/WEB-INF/lib

    还要把solr-7.7.0/dist目录下的,以solr-dataimporthandler-*.*开关的jar包 复制到 tomcat的webapps/solr/WEB-INF/lib下,

    cp -r /usr/local/solr-7.7.0/dist/solr-dataimporthandler-*.* /usr/local/apache-tomcat-9.0.37/webapps/solr/WEB-INF/lib

    在tomcat目录下建立solrhome目录(也可以放在其它目录中,创建solr的core时使用)

    把solr-7.7.0/server/solr/* 文件复制到tomcat/solrhome目录下

    cp -r /usr/local/solr-7.7.0/server/solr/* /usr/local/apache-tomcat-9.0.37/solrhome

    配置tomcat的webapps/solr/WEB-INF/web.xml这个文件,关联tomcat/solrhome文件夹

    <!-- 配置solr下core路径,将路径指向我们创建的solrhome目录 --> <env-entry> <env-entry-name>solr/home</env-entry-name> <env-entry-value>/usr/local/apache-tomcat-9.0.37/solrhome</env-entry-value> <env-entry-type>java.lang.String</env-entry-type> </env-entry>

    配置访问权限:

    配置tomcat里的solr的日志:

    在tomcat的/webapps/solr/WEB-INF/目录下,新建一个classes文件夹

    把solr-7.7.0/server/resources/下的log4j2.xml文件 复制 到tomcat-8.5/webapps/solr/WEB-INF/classes/目录下

    cp -r /usr/local/solr-7.7.0/server/resources/log4j2.xml /usr/local/apache-tomcat-9.0.37/webapps/solr/WEB-INF/classes/

    所有配置完成之后,在页面输入ip+端口号/solr/index.html验证

     

    10.安装rocketMQ

    下载安装包:

    wget https://github.com/apache/rocketmq/archive/rocketmq-all-4.2.0.tar.gz

     

    解压文件(我是放到了/usr/local下):

    tar -zxvf rocketmq-all-4.2.0.tar.gz

    进入解压文件,使用maven编译:

    mvn -Prelease-all -DskipTests clean install -U

    进入启动目录:

    cd /usr/local/rocketmq-4.2.0/distribution/target/apache-rocketmq/bin

    通过后台启动方式启动Name Server

    nohup sh mqnamesrv &

    启动Broker

    nohup sh mqbroker -n localhost:9876 &

    可视化服务配置:

    下载:

    cd /usr/local/rocketmq-4.2.0 git clone https://github.com/apache/rocketmq-externals

    修改配置文件:

    cd /usr/local/rocketmq-4.2.0/rocketmq-externals/rocketmq-console/src/main/resources vim application.properties

    使用maven打包:

    cd /usr/local/rocketmq-4.2.0/rocketmq-externals/rocketmq-console mvn clean package -Dmaven.test.skip=true

    提示打包失败:

    解决办法:下载这个jar包并上传到maven的lib目录下

    然后重新编译一次,成功:

    查看打包的文件,运行:

    #打包后会存放到默认的target文件夹下 cd /usr/local/rocketmq-4.2.0/rocketmq-externals/rocketmq-console/target java -jar rocketmq-console-ng-2.0.0.jar --server.port=8081 --rocketmq.config.namesrvAddr=127.0.0.1:9876

    页面打开失败,防火墙打开端口,重启服务:

    firewall-cmd --query-port=8081/tcp firewall-cmd --add-port=8081/tcp

    成功:

    右上角可以切换成中文:

    11.安装nginx

    下载安装包:  

    wget http://nginx.org/download/nginx-1.12.2.tar.gz

    安装依赖:

    yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

    解压文件:

    tar -zxvf nginx-1.12.2.tar.gz

    执行配置:

    cd nginx-1.12.2/ ./configure

    编译后安装(默认安装在/usr/local/nginx):

    make make install

    防火墙配置:nginx默认监听80端口,打开80端口:

    启动:

    cd /usr/local/nginx/sbin ./nginx

    验证:浏览器输入ip地址直接访问

     

     

     

     

     

     

     

     

     

    Processed: 0.009, SQL: 9