翼度科技»论坛 云主机 服务器技术 查看内容

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

3

主题

3

帖子

9

积分

新手上路

Rank: 1

积分
9
  1. 后端环境要搭好,如jdk、mysql、tomcat、maven、git等
复制代码

一、手工部署项目


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



2. 将jar包上传到Linux服务器
  1. mkdir /usr/local/app ---- 创建目录,将项目jar包放到此目录
复制代码


3. 输入指令启动SpringBoot程序



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



5. 在windows访问项目



6. 改为后台运行SpringBoot程序,并将日志输出到日志文件 目前程序运行的问题 :
  1. 线上程序不会采用控制台霸屏的形式运行程序,而是将程序在后台运行
复制代码
  1. 线上程序不会将日志输出到控制台,而是输出到日志文件,方便运维查阅信息
复制代码

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


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




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



1. 在Linux中安装Git

Git安装指令
  1. <ul><li>yum list git ---- 列出git安装包</li><li>yum install git ---- 在线安装git</li></ul>
复制代码
  1. 使用Git克隆远程仓库代码
  2. <ul><li>cd /usr/local/</li><li>git clone https://gitee.com/Dongli_01/re_boot.git</li></ul>
复制代码


2. 在Linux中安装maven

1. 将maven安装包上传到Linux

2. 解压安装包
  1. tar -zxvf apache-maven-3.5.4-bin.tar.gz -C /usr/local
复制代码

3. 在Linux中安装maven

  • vim /etc/profile ---- 修改配置文件,加入如下内容
  1. export MAVEN_HOME=/usr/local/apache-maven-3.5.4
复制代码
  1. export PATH=$ JAVA_HOME/bin:$ MAVEN_HOME/bin:$PATH
复制代码
  1. $ JAVA 和 $ MAVEN 中的 $ 和 J、M之间没有空格,此处是由于MD语法显示问题空一格
复制代码

加载资源,查看maven版本
  1. source /etc/profile
复制代码
  1. mvn -version
复制代码

vim /usr/local/apache-maven-3.5.4/conf/settings.xml ---- 设置一下 setting 文件,指定 maven 本地仓库的目录(repo目录需要自己创建),修改配置文件内容如下
  1. < localRepository>/usr/local/repo</ localRepository>
复制代码
  1. 注:< localRepository> 中的 < 和 l 以及 </ localRepository> 中的 / 和 l 之间没有空格,此处是由于MD语法问题空一格
复制代码


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


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

  • 编写Shell 脚本
  1. #!/bin/sh
  2. echo =================================
  3. echo  自动化部署脚本启动
  4. echo =================================
  5. echo 停止原来运行中的工程
  6. APP_NAME=re_boot
  7. tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
  8. if [ ${tpid} ]; then
  9.     echo 'Stop Process...'
  10.     kill -15 $tpid
  11. fi
  12. sleep 2
  13. tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
  14. if [ ${tpid} ]; then
  15.     echo 'Kill Process!'
  16.     kill -9 $tpid
  17. else
  18.     echo 'Stop Success!'
  19. fi
  20. echo 准备从Git仓库拉取最新代码
  21. cd /usr/local/re_boot
  22. echo 开始从Git仓库拉取最新代码
  23. git pull
  24. echo 代码拉取完成
  25. echo 开始打包
  26. output=`mvn clean package -Dmaven.test.skip=true`
  27. cd target
  28. echo 启动项目
  29. nohup java -jar re_boot-1.0-SNAPSHOT.jar &> re_boot.log &
  30. echo 项目启动完成
复制代码


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

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

2. chmod命令简介

  • chmod命令可以使用八进制数来指定权限
#权限rwx7读 + 写 + 执行rwx6读 + 写rw -5读 + 执行r - w4只读r - -3写 + 执行- wx2只写- w -1只执行- -x0无- - -

  • 举例:
  1. <ul><li>chmod 777 bootStart.sh ---- 为所有用户授予读、写、执行权限</li><li>chmod 755 bootstart.sh ---- 为文件拥有者授予读、写、执行权限,同组用户和其他用户授予读、执行权限</li><li>chmod 210 boot5tat.h ---- 为文件拥有者授予写权限,同组用户授予执行权限,其他用户没有任何权限</li></ul>
复制代码

  • 注意 :三位数字分别代表不同用户的权限
  1. <ul><li>第1位表示文件拥有者的权限</li><li>第2位表示同组用户的权限</li><li>第3位表示其他用户的权限</li></ul>
复制代码
5. 执行Shell脚本




总结

欢迎各位留言交流以及批评指正,如果文章对您有帮助或者觉得作者写的还不错可以点一下关注,点赞,收藏支持一下。
以上就是一文带你快速了解如何在Linux上部署项目的详细内容,更多关于在Linux上部署项目的资料请关注脚本之家其它相关文章!

来源:https://www.jb51.net/server/29207801q.htm
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具