gitlab-ci自动化部署-服务端(linux·centos·redhat)
服务端自动化部署需要的环境依赖
- git:自动化部署拉取代码
- gitlab-runner:gitlab CI/CD需要程序
- maven:服务端打包需要
- redis、mysql、java:服务端运行必要环境
1、安装java 1.8.0
java安装主要位java v1.8.0版本,使用压缩包安装方式。
- 1.下载jdk wget下载或直接下载ftps上传到服务器,此处直接下载后上传到服务器
没有安装wget直接使用
yum install -y wget 安装确保服务器有网 wget 软件下载路径- 2.解压jdk压缩包
创建一个目录存放jdk
mkdir /usr/local/java
将jdk解压到该目录
tar -zxvf jdk-8u202-linux-x64.tar.gz -C /usr/local/java/
tar -zxvf jdk-17_linux-x64_bin.tar.gz -C /usr/local/java/
进入jdk解压目录
cd /usr/local/java/
ll 指令查看当前目录下文件- 3.配置环境变量,此处配置jdk8
vim /etc/profile
进入文件按 i 进入编辑模式
文件末尾添加以下内容
export JAVA_HOME=/usr/local/java/jdk1.8.0_202
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
编辑完按 esc 退出编辑模式 按 : 输入 wq 保存退出- 4.从新读取profile文件
source /etc/profile
2、安装maven
- 1.下载maven
wget https://dlcdn.apache.org/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz --no-check-certificate
该路径无效情况下可以直接去官网下载,或者拿到下载地址在服务器使用wget下载,目前我这个是有效的地址
--no-check-certificate用于去掉证书验证 因为https所以需要去掉- 2.解压
创建目录
mkdir /usr/local/maven 存放maven
mkdir /usr/local/maven/repo 用于存放maven下载的依赖包
解压指定文件夹
tar -zxvf apache-maven-3.6.3-bin.tar.gz -C /usr/local/maven/- 3.修改配置文件 设置本地仓库以及阿里云仓库以及指定jdk版本
vim /usr/local/maven/apache-maven-3.6.3/conf/settings.xml
<localRepository>/usr/local/maven/repo</localRepository>
<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
</mirror>
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
- 4.配置maven环境变量
vim /etc/profile
文件最后添加如下内容
export MAVEN_HOME=/usr/local/maven/apache-maven-3.6.3
export PATH=$MAVEN_HOME/bin:$PATH- 5.刷新配置文件
source /etc/profile
查看maven版本,成功输出信息则maven环境变量配置成功
mvn --version
3、安装redis
本文主要介绍如果在Centos7下安装Redis。
1.安装依赖
redis是由C语言开发,因此安装之前必须要确保服务器已经安装了gcc,可以通过如下命令查看机器是否安装:
gcc -v
如果没有安装则通过以下命令安装:
yum install -y gcc
2.下载redis安装包并解压
# 下载,我是在root下执行的下载,所以我的下载目录为:/root/redis-6.2.6,这里按照自己的实际情况调整
wget https://download.redis.io/releases/redis-6.2.6.tar.gz
# 解压
tar -zxvf redis-6.2.6.tar.gz
3.进入解压目录并编译
# 进入解压目录
cd redis-6.2.6
# 编译
make
4.指定安装目录并进行安装
make install PREFIX=/usr/local/redis
5.启动redis服务
5.1 直接启动(不建议使用)
# 进入redis安装目录
cd /usr/local/redis/bin/
# 启动服务
./redis-server
5.2 通过守护进程方式启动
# 第一步:从 redis 的源码目录中复制 redis.conf 到 redis 的安装目录
cp /root/redis-6.2.6/redis.conf /usr/local/redis/bin/
# 第二步:修改redis.conf配置文件
cd /usr/local/redis/bin/
vi redis.conf
# 修改内容如下:
#daemonize 的值从 no 修改成 yes
# 第三步:启动服务
./redis-server redis.conf
# 第四步:查看进程来确定redis是否启动成功,非必须
ps -ef |grep redis
6.设置开机自动启动
切换到/lib/systemd/system/目录,创建redis.service文件。命令如下:
cd /lib/systemd/system/
vim redis.service
文件内容如下:
[Unit]
Description=redis-server
After=network.target
[Service]
Type=forking
# ExecStart需要按照实际情况修改成自己的地址
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
设置开启自动启动
# 开机自动启动
systemctl enable redis.service
# 启动redis服务
systemctl start redis.service
# 查看服务状态
systemctl status redis.service
# 停止服务
systemctl stop redis.service
# 取消开机自动启动(卸载服务)
systemctl disabled redis.service
4、安装mysql 8.0
1、上传或者下载mysql安装包
下载:推荐使用清华的镜像,下载速度非常的快
wget https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-8.0/mysql-8.0.21-el7-x86_64.tar.gz
当然,如果没有我也提供了下载包 链接:https://pan.baidu.com/s/14-_LlXPpMB10ray3iYPoQQ
提取码:idea使用xftp上传tar包至/opt目录下面
2、检查是否安装过mysql
ps:因为以前用yum安装过,所以先用yum卸载。如果不是此方式或者没安装过则跳过
[root@centos7 opt]# yum remove mysql
查看是否有mysql依赖
[root@service /]# rpm -qa | grep mysql
//普通删除模式
rpm -e xxx(mysql_libs)
//强力删除模式,如果上述命令删除时,提示有依赖其他文件,则可以用该命令对其进行强力删除
rpm -e --nodeps xxx(mysql_libs)
3、检查是否有mariadb
[root@centos7 opt]# rpm -qa | grep mariadb
如果有则卸载
[root@centos7 opt]# rpm -e --nodeps mariadb-libs
[root@centos7 opt]# rpm -e --nodeps mariadb-devel-5.5.65-1.el7.x86_64
4、安装mysql依赖包
[root@centos7 opt]#yum install libaio
5、解压
进入/opt目录下将mysql文件解压
[root@centos7 opt]# cd /opt
[root@centos7 opt]# tar -zxvf mysql-8.0.21-el7-x86_64.tar.gz
6、更名并移动
为了方便操作以及配置文件的更改我们将文件名重命名为mysql
[root@centos7 opt]# mv mysql-8.0.21-el7-x86_64 mysql
按照习惯,我们将文件移动到/usr/local目录下
[root@centos7 opt]# mv /opt/mysql/ /usr/local/
我们切换到usr/local/目录下查看mysql是否存在
[root@centos7 opt]# cd /usr/local/
[root@centos7 local]# ls
7、mysql安装目录赋予权限
[root@centos7 mysql]# chmod -R 777 /usr/local/mysql/
8、创建mysql组和用户
- 创建组
[root@centos7 mysql]# groupadd mysql- 创建用户(-s /bin/false参数指定mysql用户仅拥有所有权,而没有登录权限)
[root@centos7 mysql]# useradd -r -g mysql -s /bin/false mysql- 将用户添加到组中
[root@centos7 mysql]# chown -R mysql:mysql ./
9、修改mysql配置文件
[root@centos7 mysql]# vi /etc/my.cnf
将里面的命令都删除掉,然后添加以下命令,保存并退出(如果有一定经验,可以在里面添加一些其他的配置)
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/mysqldb
# 允许最大连接数
max_connections=10000
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8
10、安装mysql
进入mysql 安装目录下:
[root@centos7 mysql]# cd /usr/local/mysql/bin/
安装mysql,并记住初始化随机密码
11、启动mysql服务
进入mysql.server服务目录下并启动服务
[root@centos7 bin]# cd /usr/local/mysql/support-files
[root@centos7 support-files]# ./mysql.server start
如果第一次启动,当初始化执行会有报错
此时不要担心,重新给mysql安装目录赋予一下权限后,再次执行
[root@centos7 support-files]# chmod -R 777 /usr/local/mysql
[root@centos7 support-files]# ./mysql.server start
12、将mysql添加到系统进程中
[root@centos7 bin]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
13、设置mysql自启动
[root@centos7 bin]# chmod +x /etc/init.d/mysqld
[root@centos7 bin]# systemctl enable mysqld
14、修改root用户登录密码
登录mysql
[root@centos7 bin]# cd /usr/local/mysql/bin/
[root@centos7 bin]# ./mysql -u root -p
mysql> alter user 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '1234';
15、设置允许远程登录
mysql> use mysql
mysql> update user set user.Host='%'where user.User='root';
mysql> flush privileges;
mysql> quit
16、重启服务且测试
[root@centos7 bin]# systemctl restart mysql
[root@centos7 bin]# service mysql restart
[root@centos7 bin]# systemctl status mysql