安装包简介:
1.二进制发布包
软件已经针对具体平台编译打包发布,开发人员拿到安装包之后只要解压,修改配置即可使用
2.源码包
此种安装包软件以源码工程的形式发布,需要程序员自行编译安装,它一般包含四个步骤:解压------>配置------->编译-------->安装
3.RPM包
这种包是redhat已经按照包管理规范对软件进行打包之后发布出来的一类包,对于rpm包的安装,有两种方式:
1 直接下载rpm包,然后使用rpm命令安装[A --> B–> C]
2 采用yum命令联网安装[它会自动联网下载rpm包]
rpm命令安装
语法: rpm 参数 安装包
参数:
-v 显示指令执行过程
-h 表示显示进度
-q 查询包是否已经安装
-a 查看所有安装的软件
-i 安装软件
-U 更新升级
-e 卸载软件
--nodeps 不验证软件的相互关联性
常用命令:
安装:rpm -ivh rpm文件
升级:rpm -Uvh rpm文件
(*)卸载:rpm -e --nodeps 软件名
(*)查看所有安装的软件:rpm -qa | grep 具体名
yum安装
软件已经以RPM规范打包,但发布在了网络上的一些服务器上,可用yum在线安装服务器上的rpm软件,并且会自动解决软件安装过程中的库依赖问题。
yum install 软件名 (yum install ksh)
yum localinstall rpm包 使用yum安装本地rpm包[此过程会自动解决依赖]
安装一个rpm包所需要的所有依赖都在仓库中 使用 yum install a
本地有一个rpm包, 它安装需要的其他包在远程仓库中有的话 可以使用 yum localinstall a.rpm
本地有一个rpm包, 它安装需要的其他包不在远程仓库中有的话 只能使用 rpm -ivh a.rpm
软件部署
软件的安装包文件上传到/usr/local/src/,软件安装位置在/usr/local/
安装JDK
官方提供的是二进制安装包
#1 解压
tar -zxvf /usr/local/src/jdk-8u181-linux-x64.tar.gz -C /usr/local/
#2 测试
/usr/local/jdk1.8.0_181/bin/java -version
#3 配置环境变量
# 如果想在系统的任何位置都能使用到java命令,就需要将其配置到环境变量文件,此文件位置在/etc/profile,
# 使用vim打开配置文件
vim /etc/profile
export JAVA_HOME=/usr/local/jdk1.8.0_181
export PATH=$PATH:$JAVA_HOME/bin
#4 更新配置文件
source /etc/profile
#5 测试
java -version
安装MySQL
官方提供的是rpm包
#1 查看CentOS是否自带的mysql
rpm -qa | grep -i mysql
rpm -qa | grep -i mariadb
#2 卸载mariadb
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
#3 安装依赖包 [复制]
yum install gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel -y
#4 升级包依赖 [复制]
yum install libgcc.i686 -y
#5 安装服务端
yum localinstall /usr/local/src/MySQL-server-5.5.49-1.linux2.6.i386.rpm -y
#6 安装客户端
yum localinstall /usr/local/src/MySQL-client-5.5.49-1.linux2.6.i386.rpm -y
#7 启动mysql服务器
systemctl start mysql
#8 设置root用户密码
/usr/bin/mysqladmin -u root password 'root'
#9 防火墙放行端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
#10 开启mysql的远程登录权限
#使用mysql客户端登录mysql,然后修改远程连接设置[注意修改成自己的密码]
mysql -uroot -proot
> CREATE USER 'root'@'%' IDENTIFIED BY 'root';
> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
> FLUSH PRIVILEGES;
> exit;
默认的root账号 'root'@'localhost'
#11 MySQL编码问题
# Mysql安装完毕后默认的字符集为ISO-8859-1,需要在配置文件中修改成UTF-8,并重启服务
# 查找mysql的配置文件
find / -name 'MySQL*'
# 将文件复制到/etc目录下,并重新命名为my.cnf(这是服务启动时默认读取的位置)
cp /usr/share/doc/MySQL-server-5.5.49/my-medium.cnf /etc/my.cnf
# 编辑/etc/my.cnf,在[mysqld]选项下添加字符集的设置
vim /etc/my.cnf
[mysqld]
character-set-server=utf8
# 重新启动mysql的服务
#12 服务重启
systemctl restart mysql
安装Redis
官方提供的是源码包
#1 安装需要的依赖[复制]
yum install gcc automake autoconf libtool make -y
#2 解压
tar -zxvf /usr/local/src/redis-3.0.7.tar.gz -C /usr/local/src/
#3 编译
cd /usr/local/src/redis-3.0.7/
make
#4 安装
make PREFIX=/usr/local/redis install
#5 添加配置文件, 将redis配置文件复制到redis的安装目录的bin目录下
cp /usr/local/src/redis-3.0.7/redis.conf /usr/local/redis/bin/
#6 修改配置文件, 编辑配置文件,将redis服务修改成后台运行
vim /usr/local/redis/bin/redis.conf
将daemonize no选项修改成daemonize yes
设置bind为 bind 0.0.0.0
#7 启动redis服务
/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf
#8 防火墙放行端口
firewall-cmd --zone=public --add-port=6379/tcp --permanent
firewall-cmd --reload
#9 [非必要操作]关闭Redis
# 查看运行的redis进程
ps -ef | grep redis
# 杀掉redis的进程
kill -9 2738[此处是redis进程号]
自动部署
1.将git 上代码进行开源
2. 安装git
## 1. 安装git软件
yum install git -y
2. 尝试下载reggie代码(注意:这个代码必须是打jar包的版本)
cd /usr/local/
git clone https://****(git仓库的克隆地址)****
2.安装Maven
# 1. 解压软件
tar -zxvf /usr/local/src/apache-maven-3.5.4-bin.tar.gz -C /usr/local
# 2. 修改配置文件,在最后加入如下内容
vim /etc/profile
export MAVEN_HOME=/usr/local/apache-maven-3.5.4
export PATH=$PATH:$MAVEN_HOME/bin
# 3. 更新配置
source /etc/profile
# 4. 修改maven配置文件settings.xml,配置本地仓库和中央仓库镜像
vim /usr/local/apache-maven-3.5.4/conf/settings.xml
<localRepository>/usr/local/apache-maven-3.5.4/repo</localRepository>
添加镜像
<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>
自动化部署脚本
Shell脚本,是一种Linux系统中的脚本程序。
在/usr/local/
下创建bootStart.sh
脚本,内容如下
#!/bin/sh
echo =================================
echo 自动化部署脚本启动
echo =================================
echo 停止原来运行中的工程
APP_NAME=项目名-web-app-1.0-SNAPSHOT
tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
echo 'Kill Process!'
kill -9 $tpid
else
echo 'Stop Success!'
fi
echo 准备从Git仓库拉取最新代码
cd /usr/local/项目名
echo 开始从Git仓库拉取最新代码
git pull
echo 代码拉取完成
echo 开始打包
output=`mvn clean package -Dmaven.test.skip=true`
cd 项目名-web-app/target
echo 启动项目
nohup java -jar 项目名-web-app-1.0-SNAPSHOT.jar > /usr/local/项目名-parent/reggie-web-app/项目名-web-app.log &
echo 项目启动完成
为脚本添加执行权限,然后运行脚本:
# 添加执行权限
chmod +x /usr/local/bootStart.sh
# 执行脚本
/usr/local/bootStart.sh