美文网首页
Linux-部署项目

Linux-部署项目

作者: 石头耳东 | 来源:发表于2022-04-24 00:08 被阅读0次

零、本文纲要

  • 一、手动直接部署
  • 二、优化手动直接部署
  • 三、通过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-4w-2x-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-部署项目的全部内容,感谢阅读。

相关文章

  • Linux-部署项目

    零、本文纲要 一、手动直接部署 二、优化手动直接部署 三、通过Shell脚本自动部署① 在Linux中安装Git③...

  • Linux-部署tomcat

    前言 如何在Linux部署一个tomcat,这里简单写下。 配置JDK 进去下载页面下载https://www.o...

  • Linux-内核源码目录结构

    Linux-内核源码目录结构

  • Django+nginx+uwsgi部署多个项目

    如需使用一个服务器地址部署单个项目,请看文章--> 单个项目部署 以下为在部署了单个项目基础上进行部署多个项目 1...

  • 使用Dockerfile部署项目

    使用Dockerfile部署项目 以Nginx部署项目为例 Docker安装及Docker私有仓库部署流程[htt...

  • docker 常用部署Demo

    在此记录常用Docker 部署项目的几个Demo ,学习总结,同时方便后期提高部署项目速度。 Docker 部署 ...

  • storm集群部署和项目部署

    storm集群部署和项目部署 storm项目部署 使用maven命令把依赖的jar打到target/depende...

  • Django 项目 Linux 远程部署记录

    Django 项目 Linux 远程部署记录 Django 项目部署。该项目名称为 shop-search,配置端...

  • piplin部署

    这里只是讲piplin的部署,部署特别简单,就是首先进入到项目里,点击右上角的“部署计划” 再点击“开始部署”项目...

  • k8s-实际项目部署案例

    实际项目部署案例 容器交付流程 在K8s平台部署项目流程 在K8s平台部署Java网站项目 构建项目镜像 数据库搭...

网友评论

      本文标题:Linux-部署项目

      本文链接:https://www.haomeiwen.com/subject/sjvzertx.html