零、本文纲要
- 一、手动直接部署
- 二、优化手动直接部署
- 三、通过Shell脚本自动部署
① 在Linux中安装Git
③ 在Linux中安装Maven3.5.4
⑤ 为用户授权 - 四、设置静态IP
一、手动直接部署
1. IDEA中package项目
将Spring Boot项目打包为jar包
2. 上传jar包至Linux
3. 运行程序
命令:java -jar 文件名
4. 停止运行的程序
命令:ps -ef | grep "java -jar"
命令:kill -9 进程ID
- 手动直接部署存在的问题:
① 过程繁琐,一步步操作都是手动完成;
② 程序在前台运行,日志输出在控制台,不合理。
二、优化手动直接部署
1. 改后台运行Spring Boot程序,并将日志输出到日志文件
nohup:英文全称 no hang up (不挂起),用于不挂断的运行指定命令,退出终端不会影响程序的运行
命令:nohup Command [Arg...][&]
Command:要执行的命令
Arg:一些参数,可以指定输出文件
&:让命令在后台运行
命令:nohup java -jar 工程.jar &> hello.log &
:在后台运行java -jar命令,并将日志输出到hello.log文件
命令:nohup java -jar hello_shell-0.0.1-SNAPSHOT.jar &> hello.log &
三、通过Shell脚本自动部署
本地开发环境 → push → Git仓库 → pull → Linux服务器(编译、打包、启动)
1. 操作步骤
① 在Linux中安装Git
② 在Linux中安装Maven
③ 编写Shell脚本(拉取代码、编译、打包、启动)
④ 为用户授予执行Shell脚本的权限
⑤ 执行Shell脚本
2. 通过Shell脚本自动部署
- ① 在Linux中安装Git
命令:yum list git
:列出Git安装包
命令:yum install git
:在线安装Git
- ② 使用Git克隆代码
命令:cd /usr/local/
命令:git clone https://gitee.com/stone/hello_shell.git
- ③ 在Linux中安装Maven3.5.4
命令:tar -zxvf apache-maven-3.5.4-bin.tar.gz -C /usr/local
:解压解包
命令:vim /etc/profile
:修改配置文件,添加如下内容:
export MAVEN_HOME=/usr/local/apache-maven-3.5.4
export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH
命令:source /etc/profile
:重加载使之生效
命令:mvn -version
:查看maven版本,验证安装且配置成功
命令:vim /usr/local/apache-maven-3.5.4/conf/settings.xml
:修改配置文件内容,如下:
<localRepository>/usr/local/repo</localRepository>
- ④ 将编写的Shell脚本文件复制到Linux
命令:mkdir sh
命令:vim hello_shell_start.sh
复制Shell脚本文件内容进此文件
-rw-r--r--. 1 root root 835 4月 23 21:59 hello_shell_start.sh
- ⑤ 为用户授权
chmod(change mode):控制用户对文件的权限的命令
Linux中权限分为:读(r)
、写(w)
、执行(x)
三种
Linux的文件调用权限分为:文件所有者(Owner)
、用户组(Group)
、其他用户(Other Users)
只有文件的所有者和超级用户可以修改文件或者目录的权限
只要执行Shell脚本需要有此脚本的执行权限,否则不能执行
chmod命令可以使用八进制来指定权限:r-4
,w-2
,x-1
# | 权限 | rwx |
---|---|---|
7 | 读 + 写 + 执行 | rwx |
6 | 读 + 写 | rw- |
5 | 读 + 执行 | r-x |
4 | 读 | r-- |
3 | 写 + 执行 | -wx |
2 | 写 | -w- |
1 | 执行 | --x |
0 | 无权限 | --- |
举例:
命令:chmod 777 hello_shell_start.sh
为所有用户授予读、写、执行的权限
命令:chmod 755 hello_shell_start.sh
为文件拥有者授予读、写、执行权限,同组和其他用户授予读、执行权限
命令:chmod 210 hello_shell_start.sh
为文件拥有者授予写权限,同组授予执行权限,其他用户无权限
注意:三位数字分别代表不同用户的权限,第一位表示文件拥有者,第二位表示同组用户,第三位表示其他用户
四、设置静态IP
1. 修改ifcfg-ens33文件
修改文件ifcfg-ens33
命令:vim /etc/sysconfig/network-scripts/ifcfg-ens33
注意:不同系统的ifcfg-ens33这个文件名可能不同
修改&添加如下内容:
BOOTPROTO="static" # 使用静态IP地址,默认为dhcp
IPADDR="192.168.138.100" # 设置的静态IP地址
NETMASH="255.255.255.0" # 子网掩码
GATEWAY="192.168.138.2" # 网关地址
DNS1="192.168.138.2" # DNS服务器
ONBOOT="yes" # 开启启用
注意:修改后的静态IP、网关、DNS服务器的网段,需要与虚拟机网络编辑器-VMnet8-子网IP(I)\子网掩码(M)保持一致
2. 重启网络生效
命令:systemctl restart network
五、结尾
以上即为Linux-部署项目的全部内容,感谢阅读。
网友评论