美文网首页
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-部署项目

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