一文带你快速了解如何在Linux上部署项目

2023-12-12 0 69
目录
  • 一、手工部署项目
    • 1.在IDEA中开发SpringBoot项目并打成jar包
    • 2. 将jar包上传到Linux服务器
    • 3. 输入指令启动SpringBoot程序
    • 4. 检查防火墙,确保80端口(项目端口)对外开放,访问SpringBoot项目
    • 5. 在windows访问项目
    • 6. 改为后台运行SpringBoot程序,并将日志输出到日志文件 目前程序运行的问题 :
    • 7. 停止SpringBoot程序(杀进程)
  • 二、通过Shell脚本自动部署项目
    • 1. 在Linux中安装Git
    • 2. 在Linux中安装maven
    • 3. 编写Shell脚本 (拉取代码、编译、打包、启动
    • 4. 为用户授予执行shell脚本的权限
    • 5. 执行Shell脚本
  • 总结

    后端环境要搭好,如jdk、mysql、tomcat、maven、git等

    一、手工部署项目

    1.在IDEA中开发SpringBoot项目并打成jar包

    一文带你快速了解如何在Linux上部署项目

    2. 将jar包上传到Linux服务器

    mkdir /usr/local/app —- 创建目录,将项目jar包放到此目录

    一文带你快速了解如何在Linux上部署项目

    3. 输入指令启动SpringBoot程序

    一文带你快速了解如何在Linux上部署项目

    4. 检查防火墙,确保80端口(项目端口)对外开放,访问SpringBoot项目

    一文带你快速了解如何在Linux上部署项目

    5. 在windows访问项目

    一文带你快速了解如何在Linux上部署项目

    6. 改为后台运行SpringBoot程序,并将日志输出到日志文件 目前程序运行的问题 :

    线上程序不会采用控制台霸屏的形式运行程序,而是将程序在后台运行
    线上程序不会将日志输出到控制台,而是输出到日志文件,方便运维查阅信息

    • nohup命令

    nohup 命令 :英文全称 no hang up (不挂起),用于不挂断地运行指定命令,退出终端不会影响程序的运行
    语法格式 :nohup Command [ Arg …] [&]
    参数说明 :Command :要执行的命念Arg :一些参数,可以指定输出文件& : 让命令在后台运行
    举例 :nohup java -jar boot工程.jar &> hello.log & —- 后台运行java -jar命令,并将日志输出到reboot.log文件

    一文带你快速了解如何在Linux上部署项目

    7. 停止SpringBoot程序(杀进程)

    一文带你快速了解如何在Linux上部署项目

    一文带你快速了解如何在Linux上部署项目

    二、通过Shell脚本自动部署项目

    一文带你快速了解如何在Linux上部署项目

    1. 在Linux中安装Git

    Git安装指令

    • yum list git —- 列出git安装包
    • yum install git —- 在线安装git

    一文带你快速了解如何在Linux上部署项目

    使用Git克隆远程仓库代码

    • cd /usr/local/
    • git clone https://gitee.com/Dongli_01/re_boot.git

    一文带你快速了解如何在Linux上部署项目

    2. 在Linux中安装maven

    1. 将maven安装包上传到Linux

    一文带你快速了解如何在Linux上部署项目

    2. 解压安装包

    tar -zxvf apache-maven-3.5.4-bin.tar.gz -C /usr/local

    一文带你快速了解如何在Linux上部署项目

    3. 在Linux中安装maven

    • vim /etc/profile —- 修改配置文件,加入如下内容

    export MAVEN_HOME=/usr/local/apache-maven-3.5.4
    export PATH=$ JAVA_HOME/bin:$ MAVEN_HOME/bin:$PATH

    $ JAVA 和 $ MAVEN 中的 $ 和 J、M之间没有空格,此处是由于MD语法显示问题空一格

    一文带你快速了解如何在Linux上部署项目

    加载资源,查看maven版本

    source /etc/profile
    mvn -version

    一文带你快速了解如何在Linux上部署项目

    vim /usr/local/apache-maven-3.5.4/conf/settings.xml —- 设置一下 setting 文件,指定 maven 本地仓库的目录(repo目录需要自己创建),修改配置文件内容如下

    < localRepository>/usr/local/repo</ localRepository>

    注:< localRepository> 中的 < 和 l 以及 </ localRepository> 中的 / 和 l 之间没有空格,此处是由于MD语法问题空一格

    一文带你快速了解如何在Linux上部署项目

    3. 编写Shell脚本 (拉取代码、编译、打包、启动

    • Shell 脚本简介

    Shell脚本 (shell script) ,是一种Linux系统中的脚本程序。使用Shel脚本编程跟Javascript、Java编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了

    • 编写Shell 脚本

    #!/bin/sh
    echo =================================
    echo 自动化部署脚本启动
    echo =================================
    echo 停止原来运行中的工程
    APP_NAME=re_boot
    tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk \'{print $2}\’`
    if [ ${tpid} ]; then
    echo \’Stop Process…\’
    kill -15 $tpid
    fi
    sleep 2
    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/re_boot
    echo 开始从Git仓库拉取最新代码
    git pull
    echo 代码拉取完成
    echo 开始打包
    output=`mvn clean package -Dmaven.test.skip=true`
    cd target
    echo 启动项目
    nohup java -jar re_boot-1.0-SNAPSHOT.jar &> re_boot.log &
    echo 项目启动完成

    一文带你快速了解如何在Linux上部署项目

    4. 为用户授予执行shell脚本的权限

    1. 权限说明

    • chmod (英文全拼: change mode) 命令是控制用户对文件的权限的命令
    • Linux中的权限分为: 读®、写(w)、执行(x)三种权限
    • Linux的文件调用权限分为三级:文件所有者 (wner) 、用户组 (Group) 、其它用户 (Other Users)
    • 只有文件的所有者和超级用户可以修改文件或目录的权限
    • 要执行Shell脚本需要有对此脚本文件的执行权限,如果没有则不能执行

    一文带你快速了解如何在Linux上部署项目

    2. chmod命令简介

    • chmod命令可以使用八进制数来指定权限
    #权限rwx7读 + 写 + 执行rwx6读 + 写rw –5读 + 执行r – w4只读r – –3写 + 执行- wx2只写- w –1只执行- -x0无- – –
    • 举例:
    • chmod 777 bootStart.sh —- 为所有用户授予读、写、执行权限
    • chmod 755 bootstart.sh —- 为文件拥有者授予读、写、执行权限,同组用户和其他用户授予读、执行权限
    • chmod 210 boot5tat.h —- 为文件拥有者授予写权限,同组用户授予执行权限,其他用户没有任何权限
    • 注意 :三位数字分别代表不同用户的权限
    • 第1位表示文件拥有者的权限
    • 第2位表示同组用户的权限
    • 第3位表示其他用户的权限

    5. 执行Shell脚本

    一文带你快速了解如何在Linux上部署项目

    一文带你快速了解如何在Linux上部署项目

    总结

    欢迎各位留言交流以及批评指正,如果文章对您有帮助或者觉得作者写的还不错可以点一下关注,点赞,收藏支持一下。

    以上就是一文带你快速了解如何在Linux上部署项目的详细内容,更多关于在Linux上部署项目的资料请关注悠久资源网其它相关文章!

    收藏 (0) 打赏

    感谢您的支持,我会继续努力的!

    打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
    点赞 (0)

    悠久资源 Linux服务器 一文带你快速了解如何在Linux上部署项目 https://www.u-9.cn/server/linux/155807.html

    常见问题

    相关文章

    发表评论
    暂无评论
    官方客服团队

    为您解决烦忧 - 24小时在线 专业服务