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

这篇具有很好参考价值的文章主要介绍了一文带你快速了解如何在Linux上部署项目。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言

为了巩固所学的知识,作者尝试着开始发布一些学习笔记类的博客,方便日后回顾。当然,如果能帮到一些萌新进行新技术的学习那也是极好的。作者菜菜一枚,文章中如果有记录错误,欢迎读者朋友们批评指正。
(博客的参考源码可以在我主页的资源里找到,如果在学习的过程中有什么疑问欢迎大家在评论区向我提出)

发现宝藏

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。【宝藏入口】。

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

一、手工部署项目

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

一文带你快速了解如何在Linux上部署项目,操作系统,linux,运维,服务器,后端

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

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

一文带你快速了解如何在Linux上部署项目,操作系统,linux,运维,服务器,后端

3. 输入指令启动SpringBoot程序

一文带你快速了解如何在Linux上部署项目,操作系统,linux,运维,服务器,后端

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

一文带你快速了解如何在Linux上部署项目,操作系统,linux,运维,服务器,后端

5. 在windows访问项目

一文带你快速了解如何在Linux上部署项目,操作系统,linux,运维,服务器,后端

6. 改为后台运行SpringBoot程序,并将日志输出到日志文件

  • 目前程序运行的问题 :
  1. 线上程序不会采用控制台霸屏的形式运行程序,而是将程序在后台运行
  2. 线上程序不会将日志输出到控制台,而是输出到日志文件,方便运维查阅信息
  • nohup命令
  1. nohup 命令 :
    英文全称 no hang up (不挂起),用于不挂断地运行指定命令,退出终端不会影响程序的运行
  2. 语法格式 :
    nohup Command [ Arg …] [&]
  3. 参数说明 :
    Command :要执行的命念
    Arg :一些参数,可以指定输出文件
    & : 让命令在后台运行
  4. 举例 :
    nohup java -jar boot工程.jar &> hello.log & ---- 后台运行java -jar命令,并将日志输出到reboot.log文件

一文带你快速了解如何在Linux上部署项目,操作系统,linux,运维,服务器,后端

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

一文带你快速了解如何在Linux上部署项目,操作系统,linux,运维,服务器,后端

一文带你快速了解如何在Linux上部署项目,操作系统,linux,运维,服务器,后端

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

一文带你快速了解如何在Linux上部署项目,操作系统,linux,运维,服务器,后端

1. 在Linux中安装Git

  • Git安装指令
  1. yum list git ---- 列出git安装包
  2. yum install git ---- 在线安装git

一文带你快速了解如何在Linux上部署项目,操作系统,linux,运维,服务器,后端

  • 使用Git克隆远程仓库代码
  1. cd /usr/local/
  2. git clone https://gitee.com/Dongli_01/re_boot.git

一文带你快速了解如何在Linux上部署项目,操作系统,linux,运维,服务器,后端

2. 在Linux中安装maven

1. 将maven安装包上传到Linux

一文带你快速了解如何在Linux上部署项目,操作系统,linux,运维,服务器,后端

2. 解压安装包

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

一文带你快速了解如何在Linux上部署项目,操作系统,linux,运维,服务器,后端

3. 在Linux中安装maven

  • vim /etc/profile ---- 修改配置文件,加入如下内容
  1. export MAVEN_HOME=/usr/local/apache-maven-3.5.4
  2. export PATH=$ JAVA_HOME/bin:$ MAVEN_HOME/bin:$PATH

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

一文带你快速了解如何在Linux上部署项目,操作系统,linux,运维,服务器,后端

  • 加载资源,查看maven版本
  1. source /etc/profile
  2. mvn -version

一文带你快速了解如何在Linux上部署项目,操作系统,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上部署项目,操作系统,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上部署项目,操作系统,linux,运维,服务器,后端

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

1. 权限说明

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

一文带你快速了解如何在Linux上部署项目,操作系统,linux,运维,服务器,后端
2. chmod命令简介

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

5. 执行Shell脚本

一文带你快速了解如何在Linux上部署项目,操作系统,linux,运维,服务器,后端
一文带你快速了解如何在Linux上部署项目,操作系统,linux,运维,服务器,后端

总结

欢迎各位留言交流以及批评指正,如果文章对您有帮助或者觉得作者写的还不错可以点一下关注,点赞,收藏支持一下。
(博客的参考源码可以在我主页的资源里找到,如果在学习的过程中有什么疑问欢迎大家在评论区向我提出)文章来源地址https://www.toymoban.com/news/detail-557977.html

到了这里,关于一文带你快速了解如何在Linux上部署项目的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【MySQL】一文带你了解如何使用MySQL

    🎬 博客主页:博主链接 🎥 本文由 M malloc 原创,首发于 CSDN🙉 🎄 学习专栏推荐:LeetCode刷题集! 🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 📆 未来很长,值得我们全力奔赴更美好的生活✨ ------------------❤️分割线❤️------------------------- —————————

    2024年02月09日
    浏览(57)
  • 一文带你了解IP被封,如何进行解封

    当你的IP地址被封锁时,可能会导致无法正常访问特定网站或服务。本文将为你提供一些有用的步骤和建议,帮助你解封被封锁的IP地址,恢复正常的网络访问。 第一步:确认IP被封的原因 1.检查错误信息:当你尝试访问被封锁的网站或服务时,注意是否出现特定的错误信息。

    2024年02月07日
    浏览(42)
  • 一文带你了解11个Linux最常用的命令

    Linux的命令有很多,但是有些命令在实际开发中使用的频率是很高的,本文为大家介绍11个Linux最常用的命令. ls 命令是列出目录中的文件和子目录的命令,它的基本语法如下: 在Linux中, ls 命令使最常用的命令了. ls命令的常用选项如下: -a:显示所有文件,包括隐藏文件。 -l:以

    2024年02月08日
    浏览(31)
  • 一文带你了解如何在Java中操作Redis

    为了巩固所学的知识,作者尝试着开始发布一些学习笔记类的博客,方便日后回顾。当然,如果能帮到一些萌新进行新技术的学习那也是极好的。作者菜菜一枚,文章中如果有记录错误,欢迎读者朋友们批评指正。 (博客的参考源码可以在我主页的资源里找到,如果在学习的

    2024年02月16日
    浏览(32)
  • MAVEN利器:一文带你了解IDEA中如何使用Maven

    强大的构建工具——Maven。作为Java生态系统中的重要组成部分,Maven为开发人员提供了一种简单而高效的方式来构建、管理和发布Java项目。无论是小型项目还是大型企业级应用,Maven都能帮助开发人员轻松处理依赖管理、编译、测试和部署等任务。 在上一篇文章中,我们学习

    2024年02月11日
    浏览(37)
  • 如何在CSS中写变量?一文带你了解前端样式利器

    目录 引言 概念 语法 基本用法 使用场景 全局变量 局部变量 ​编辑 媒体查询变量 动态定义 继承变量 自变量 与其他方案的区别 使用方式上 作用域的区别 编译产物 功能及拓展 总结 写在最后 前端的变量写法大致可以分为三大类,分别是CSS-in-JS,CSS预处理器,和CSS原生变量

    2024年02月06日
    浏览(34)
  • 如何重装系统?(带你快速了解)

    目录 备份数据 获取安装媒体 创建安装媒体 设置启动顺序 启动计算机 进入安装程序 选择分区和格式化 完成安装 安装驱动程序和更新 备份数据 在重新安装操作系统之前,务必备份所有重要数据。这可以通过将文件复制到外部硬盘、使用云存储服务或其他备份方法来完成。

    2024年02月01日
    浏览(33)
  • 一文带你了解:Linux 文件系统+文件系统相关 Shell 命令+文件系统类型

    本篇文章是记录我在学习Linux时,有关Linux 文件系统的学习。 操作系统的基本功能之一就是文件管理,而文件的管理是由文件系统来完成的。 Linux 支持多种文件系统,接下来我们就来一起了解 Linux 下的 文件系统、文件系统类型、文件系统结构和文件系统相关 Shell 命令。 有

    2024年02月22日
    浏览(34)
  • 【从零开始学习Linux】一文带你了解Shell外壳及用户权限(二)

    🚩 纸上得来终觉浅, 绝知此事要躬行。 🌟主页:June-Frost 🚀专栏:Linux入门 🔭【从零开始学习Linux】系列均属于Linux入门,主要包含Linux操作系统下的指令、操作、权限以及开发工具,使得拥有基本编写代码的能力。 🔥该文章主要了解Shell外壳(理论)及用户权限,该系列

    2024年02月05日
    浏览(39)
  • 【从零开始学习Linux】一文带你了解Shell外壳及用户权限(一)

    🚩 纸上得来终觉浅, 绝知此事要躬行。 🌟主页:June-Frost 🚀专栏:Linux入门 🔭【从零开始学习Linux】系列均属于Linux入门,主要包含Linux操作系统下的指令、操作、权限以及开发工具,使得拥有基本编写代码的能力。 🔥该文章主要了解Shell外壳(理论)及用户权限,其中用

    2024年02月06日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包