开发测试环境搭建 您所在的位置:网站首页 Google镜像站搭建避免验证码 开发测试环境搭建

开发测试环境搭建

2023-06-12 22:05| 来源: 网络整理| 查看: 265

「这是我参与11月更文挑战的第3天,活动详情查看:2021最后一次更文挑战」。

前言

行内流传着一句话,没有删过库的程序员不是一个合格的程序员,在下有幸体验过一次删服务器,日常开发的一天,我登上服务器,查看日志文件,发现一大堆历史日志文件,想着留着也没有用,直接一个rm -rf /*,回车!!!控制台一顿输出,然后提示有些目录无法删除。我敲了个ll,日志全没了,然后cd到根目录,查看,果然所有的文件都没了。当时脑子嗡的一下,我意识到,我可能闯大祸了。我直接把服务器给删除了。后来上报给老板,幸运的是只是测试环境,并没有造成严重后果,让我尝试恢复,不行就重新搭建一套就好了。

执行完rm -rf /*后,系统并不会立马崩溃掉,已经运行的程序依然可以正常运行。所以我可以将所有的数据立马导出来

1. linux系统安装 1.1 下载镜像文件

isoredirect.centos.org/centos/7/is…

选择合适的国内代理地址,下载对应版本的ISO镜像文件

1.2 U盘启动盘制作 1.3 操作系统安装 将启动项改成USB为第一启动项,根据自己电脑型号在BIOS界面修改。进入安装界面,根据指引完成安装。具体可参考视频: www.bilibili.com/video/BV1Lz… 2. Docker安装

官网地址:www.docker.com/

2.1 卸载老版本 sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine 2.2 安装一些必要的系统工具 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 2.3 添加软件源信息 sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 2.4 更新yum缓存 sudo yum makecache fast 2.5 安装Docker-ce sudo yum -y install docker-ce 2.6 启动Docker服务 sudo systemctl start docker 2.7 配置阿里云镜像 打开配置文件 daemon.json vi /etc/docker/daemon.json 输入镜像地址 { "registry-mirrors":["https://6kx4zyno.mirror.aliyuncs.com"] } 重启docker服务 sudo systemctl restart docker 3. JDK安装 3.1 卸载自带的OpenJDK

查看当前java版本

java -version [root@localhost ~]# java -version openjdk version "1.8.0_242" OpenJDK Runtime Environment (build 1.8.0_242-b08) OpenJDK 64-Bit Server VM (build 25.242-b08, mixed mode)

查看安装了多少java软件包

rpm -qa | grep java [root@localhost ~]# rpm -qa | grep java javassist-3.16.1-10.el7.noarch nuxwdog-client-java-1.0.5-1.el7.x86_64 tzdata-java-2019c-1.el7.noarch python-javapackages-3.4.1-11.el7.noarch java-1.8.0-openjdk-headless-1.8.0.242.b08-1.el7.x86_64 javapackages-tools-3.4.1-11.el7.noarch pki-base-java-10.5.17-6.el7.noarch java-1.8.0-openjdk-1.8.0.242.b08-1.el7.x86_64 javamail-1.4.6-8.el7.noarch

把所有带openjdk的程序包卸载了

rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.242.b08-1.el7.x86_64 rpm -e --nodeps java-1.8.0-openjdk-1.8.0.242.b08-1.el7.x86_64

检查是否卸载完全

[root@localhost ~]# java -version -bash: /usr/bin/java: 没有那个文件或目录 3.2 安装jdk1.8 linux版本

下载地址 www.oracle.com/java/techno…

上传解压安装包

tar -zxvf jdk-8u301-linux-x64.tar.gz

根据自己安装路径修改环境变量

vim /etc/profile export JAVA_HOME=/usr/java/jdk1.8.0_301 # 注意此处修改为自己的安装位置 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin export PATH=$PATH:${JAVA_PATH}

重新加载配置文件

source /etc/profile

验证是否安装成功

java -version

显示如下则安装成功

[root@iZ8vbeak6j8zpan8owflsyZ mydata]# java -version java version "1.8.0_301" Java(TM) SE Runtime Environment (build 1.8.0_301-b09) Java HotSpot(TM) 64-Bit Server VM (build 25.301-b09, mixed mode) 4. Nginx 安装

下载安装好linux下的安装包 nginx.org/en/download…

Nginx依赖于gcc的编译环境,所以,需要安装编译环境来使Nginx能够编译起来。

yum install gcc-c++

Nginx的http模块需要使用pcre来解析正则表达式,需要安装pcre

yum install -y pcre pcre-devel

安装依赖的解压包

yum install -y zlib zlib-devel

ssl 功能需要openssl 库,安装 openssl

yum install -y openssl openssl-devel

编译安装

进入nginx目录

cd /mydata/nginx

执行命令

./configure

执行make命令

make

执行make install命令

make install

默认安装在了/usr/local/nginx

启动

./usr/local/nginx/sbin/nginx

访问IP可以看到欢迎页面表示安装成功

如果访问不成功,检查并关闭防火墙

查看防火墙状态 systemctl status firewalld.service 关闭防火墙 systemctl stop firewalld.service 永久关闭防火墙 systemctl disable firewalld.service 5. 安装tomcat

下载安装好linux下的安装包

解压

tar -zxvf apache-tomcat-9.0.50.tar.gz

启动

./mydata/tomcat9/bin/startup.sh

查看是否安装成功,默认启动8080端口,看到欢迎页表示启动安装成功

6. 安装MySQL 6.1 手动安装5.7版本

为了快速搭建,我采用了使用Docker安装,后面会介绍。

安装5.7版本

wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm yum -y install mysql57-community-release-el7-10.noarch.rpm yum -y install mysql-community-server systemctl start mysqld.service

查看默认密码

grep "password" /var/log/mysqld.log mysql -uroot -p (备注:输入刚刚默认的密码) set global validate_password_policy=0; set global validate_password_length=1; ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码'; (备注:这里修改你的新密码)

mysql配置文件默认放在/etc/my.cnf

建议修改默认端口号

配置文件中修改 port=3666

卸载MySQL

查看有哪些文件

rpm -qa|grep -i mysql

一个一个卸载

yum remove 文件名

删除一些遗留文件

find / -name mysql

一个一个删除

rm -rf 文件 6.2 Docker安装8.0版本

网上有很多人分享了,但也只是简单安装一下,后续有很多坑并未提及,一定要按我的顺序操作,可有效避坑。

下载镜像文件(默认下载latest版本8.0版本) docker pull mysql 运行容器 docker run -itd --name mysql8.0 \ -p 3306:3306 \ -e MYSQL_ROOT_PASSWORD=123456 mysql 将需要挂载的文件全部复制到本地 mkdir -p /mydata/mysql/conf mkdir -p /mydata/mysql/logs mkdir -p /mydata/mysql/data mkdir -p /mydata/mysql/mysql-files docker cp mysql8.0:/etc/mysql/my.cnf /mydata/mysql/conf/my.cnf docker cp mysql8.0:/etc/mysql/conf.d /mydata/mysql/conf/conf.d

这里有个小坑,一定不要随便修改配置文件的权限,否则会导致配置不生效。我当时就是 chmod 777 ,然后怎么弄都没生效,然后看日志提示一点点解决的。

删除容器 docker stop mysql8.0 docker rm mysql8.0 重新运行容器并挂载 docker run -itd --name mysql8.0 \ -p 3306:3306 \ -v /mydata/mysql/conf:/etc/mysql \ -v /mydata/mysql/logs:/logs \ -v /mydata/mysql/data:/var/lib/mysql \ -v /mydata/mysql/mysql-files:/var/lib/mysql-files \ -e MYSQL_ROOT_PASSWORD=root@123456 mysql 重新启动 docker restart mysql8.0 7. 安装Redis

juejin.cn/post/700111…

## 后台运行 daemonize yes ## 外网连接 protected-mode no ## 注释掉只允许本地连接 # bind 127.0.0.1 ## 端口号 port 6666 ## 连接密码 requirepass 123456 ## 设置数据库总量 databases 256 ## 日志文件 logfile ./redislog.log ## 设置数据文件存储目录 dir /usr/local/redis-6.0.6 8. GitLab安装

下载镜像文件

docker pull docker.io/gitlab/gitlab-ce

创建挂载目录

mkdir -p /var/gitlab/etc mkdir -p /var/gitlab/log mkdir -p /var/gitlab/data

启动容器

docker run \ --detach \ --publish 2222:22 \ --publish 7777:7777 \ --publish 8443:443 \ --hostname 192.168.10.59 \ -v /var/gitlab/etc:/etc/gitlab \ -v /var/gitlab/log:/var/log/gitlab \ -v /var/gitlab/data:/var/opt/gitlab \ -v /etc/localtime:/etc/localtime:ro \ --name gitlab \ --restart always \ --privileged=true gitlab/gitlab-ce:latest

修改/var/gitlab/etc/gitlab.rb

vi /var/gitlab/etc/gitlab.rb # 修改http clone时显示的端口 # external_url 'GENERATED_EXTERNAL_URL' external_url 'http://192.168.0.106:7777' # 修改ssh clone时显示的端口 gitlab_rails['gitlab_shell_ssh_port'] = 2222

修改/var/gitlab/data/gitlab-rails/etc/gitlab.yml将端口改为正确端口

vi /var/gitlab/data/gitlab-rails/etc/gitlab.yml

重启gitlab

docker restart gitlab

初始化管理员密码

docker exec -it gitlab /bin/bash gitlab-rails console user = User.where(username: 'root').first user.password='root@123' user.save

访问地址 http://192.168.0.106:7777 登录账号,创建好仓库,配置好账号。

代码同步

将本地代码同步到gitLab上

# 本地同步到远程仓库 git push -u origin master # 切换分支 git checkout uat 9. 安装node

下载安装包

wget https://cdn.npm.taobao.org/dist/node/v14.16.0/node-v14.16.0-linux-x64.tar.xz

解压

xz -d node-v14.16.0-linux-x64.tar.xz tar -xvf node-v14.16.0-linux-x64.tar

在/usr/bin目录下建立软连接,变为全局

ln -s /usr/local/node/node-v14.16.0-linux-x64/bin/node /usr/local/bin/node ln -s /usr/local/node/node-v14.16.0-linux-x64/bin/npm /usr/local/bin/npm

验证是否安装成功

node -v

安装cnpm

npm install -g cnpm --registry=https://registry.npm.taobao.org

创建软连接

ln -s /usr/local/node/node-v14.16.0-linux-x64/bin/cnpm /usr/local/bin/cnpm

验证安装成功

cnpm -v

切换淘宝源镜像

npm install yarn -g # 创建软连接 ln -s /usr/local/node/node-v14.16.0-linux-x64/bin/yarn /usr/local/bin/yarn # 查看当前的源地址 yarn config get registry # 切换淘宝源 yarn config set registry https://registry.npm.taobao.org/ # 检查是否切换成功 yarn config get registry 10. 安装Jenkins

下载镜像文件

docker pull jenkins/jenkins

创建挂载文件夹,便于后期修改查看配置、数据等信息

mkdir -p /var/jenkins_mount chmod 777 /var/jenkins_mount

启动容器

docker run -d -p 8080:8080 \ -p 50000:50000 \ -v /var/jenkins_mount:/var/jenkins_home \ -v /mydata/jdk1.8.0_301:/var/jdk1.8.0_301 \ -v /usr/share/maven:/var/maven \ -v /etc/localtime:/etc/localtime \ --name jenkins jenkins/jenkins

修改Jenkins软件下载镜像

vi /var/jenkins_mount/hudson.model.UpdateCenter.xml default https://updates.jenkins.io/update-center.json

将url修改为清华大学官方镜像地址:mirrors.tuna.tsinghua.edu.cn/jenkins/upd…

default https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

重启一下Jenkins

docker restart jenkins

访问Jenkins,查看密码

cat /var/jenkins_mount/secrets/initialAdminPassword

根据提示操作完成账号设置

相关应用安装

maven yum install maven git yum install git maven自动安装jdk自带 [root@localhost jenkins_mount]# docker exec -it jenkins /bin/bash jenkins@d9218f4c506e:/$ echo $JAVA_HOME /opt/java/openjdk JDK也可以使用自动安装

避免踩坑 maven 使用自动下载,jdk使用挂载方式

安装插件nodejs 在全局配置中设置安装cnpm在job配置中 构建环境 勾选 Provide Node & npm bin/ folder to PATH,并指定自动安装的版本

配置ssh 远程连接

配置服务器的连接

Jenkins时间不准修改 System.setProperty('org.apache.commons.jelly.tags.fmt.timeZone', 'Asia/Shanghai') 11. nginx安装配置 下载解压(篇幅有限,操作简单,这里不做详细介绍)地址拼接去除前缀api location ^~/api/ { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-NginX-Proxy true; proxy_pass http://192.168.0.106:8090/; } 重写去除前缀api(注意后面没有/) location ^~/api/ { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-NginX-Proxy true; rewrite ^/order/(.*)$ /$1 break; proxy_pass http://192.168.0.106:8090/api; } server { listen 1111; server_name localhost; location / { root html/erp-web-uat; index index.html index.htm; } location ^~/api/ { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-NginX-Proxy true; proxy_pass http://192.168.0.106:8091/; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } 12. 禅道安装

下载镜像文件

docker pull easysoft/zentao

创建docker网络驱动

docker network create --subnet=172.172.172.0/24 zentaonet

创建挂载目录

mkdir -p /mydata/chandao/zentaopms mkdir -p /mydata/chandao/mysqldata

启动禅道容器

docker run --name zentao \ -p 9000:80 \ -v /mydata/chandao/zentaopms:/www/zentaopms \ -v /mydata/chandao/mysqldata:/var/lib/mysql \ -d easysoft/zentao

查看容器内ip地址

目的是不使用禅道自己内部数据库,而使用我们自己的服务

docker network inspect bridge

一般为 172.172.172.***

设置数据库连接使用密码方式

[mysqld] default-authentication-plugin=mysql_native_password

可能出现地址解析出错

[mysqld] skip-name-resolve

如果还是不行,修改数据库连接

select host,user,plugin,authentication_string from mysql.user % root mysql_native_password *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 localhost mysql.infoschema caching_sha2_password $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED localhost mysql.session caching_sha2_password $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED localhost mysql.sys caching_sha2_password $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED localhost root caching_sha2_password $A$005$tOo""SB y@fnlVu3WzwZGqrggMqgcCWpJ3Ru16Cnc/mUdtceS/SStUCea3 ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

注意修改完配置后重启一下,再尝试连接

13. 多环境配置 13.1 Tomcat配置 总结

到这里基本算完全恢复了,万幸的是删除的只是测试环境,吸取教训,以后在操作删除命令的时候一定要多留心眼。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有