当前位置:   article > 正文

将项目部署到Linux系统上_项目部署到linux服务器

项目部署到linux服务器

目的是让我们的项目在linux上也能运行起来

有两种部署方式,手工部署或者是通过shell脚本自动部署

手工部署

准备工作:使用ifconfig指令查出服务器的ip地址:192.168.58.130 

1.在本地Idea中开发一个springboot项目,并且打包成jar包,在maven里面点击package就可以进行打包 ,打成的包在target文件夹里面

这个简单小项目如下:

  1. @RestController
  2. @RequestMapping("/hello")
  3. public class HelloController
  4. {
  5. @GetMapping("")
  6. public String hello()
  7. {
  8. System.out.println("Hello world");
  9. return "ok";
  10. }
  11. }

 

2.在/usr/local文件夹下创建一个app文件夹

  1. cd /usr/local
  2. mkdir app
  3. cd app

将jar包上传到这个文件夹

3.启动springboot项目

注意这一步由于使用了java指令,所以需要先安装jdk

而且如果你项目pom.xml里面jdk是1.7,但是linux服务器的jdk是1.8,也是无法成功运行的

  1. [root@localhost ~]# cd /usr/local/app
  2. [root@localhost app]# ls
  3. linux_test-0.0.1-SNAPSHOT.jar
  4. [root@localhost app]# java -jar linux_test-0.0.1-SNAPSHOT.jar
  5. . ____ _ __ _ _
  6. /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
  7. ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
  8. \\/ ___)| |_)| | | | | || (_| | ) ) ) )
  9. ' |____| .__|_| |_|_| |_\__, | / / / /
  10. =========|_|==============|___/=/_/_/_/
  11. :: Spring Boot :: (v2.7.5)
  12. 2022-11-23 11:36:34.261 INFO 78186 --- [ main] c.e.linux_test.LinuxTestApplication : Starting LinuxTestApplication v0.0.1-SNAPSHOT using Java 1.8.0_332 on localhost.localdomain with PID 78186 (/usr/local/app/linux_test-0.0.1-SNAPSHOT.jar started by root in /usr/local/app)
  13. 2022-11-23 11:36:34.275 INFO 78186 --- [ main] c.e.linux_test.LinuxTestApplication : No active profile set, falling back to 1 default profile: "default"
  14. 2022-11-23 11:36:41.499 INFO 78186 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http)
  15. 2022-11-23 11:36:41.631 INFO 78186 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
  16. 2022-11-23 11:36:41.631 INFO 78186 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.68]
  17. 2022-11-23 11:36:43.748 INFO 78186 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
  18. 2022-11-23 11:36:43.748 INFO 78186 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 9297 ms
  19. 2022-11-23 11:36:45.758 INFO 78186 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path ''
  20. 2022-11-23 11:36:45.880 INFO 78186 --- [ main] c.e.linux_test.LinuxTestApplication : Started LinuxTestApplication in 19.571 seconds (JVM running for 20.989)

4.检查服务器的防火墙,确保服务器的8080端口是对外开放的,这样浏览器才能成功访问到服务器上的springboot项目

Centos7 关闭防火墙,打开防火墙,开放某个端口,关闭某个端口_Pr Young的博客-CSDN博客

此时你在任意一台电脑上访问服务器的ip地址:http:192.168.58.130:8080/hello,都可以访问到我们的页面

将这个程序放在后台运行:即使退出终端也不会影响程序的运行

进入usr/local/app文件夹,输入nohup命令

  1. [root@localhost app]# nohup java -jar linux_test-0.0.1-SNAPSHOT.jar &>hello.log &
  2. [1] 80265

同时在这个文件夹下面会生成一个日志文件hello.log。,然后这个程序就在后台运行了,即使关掉终端窗口,也还是在继续运行

要停止这个后台程序,就只能通过杀进程的方式停止这个后台程序:

  1. [root@localhost app]# ps -ef | grep java
  2. root 80265 64801 2 13:51 pts/0 00:00:16 java -jar linux_test-0.0.1-SNAPSHOT.jar
  3. root 80497 64801 0 14:01 pts/0 00:00:00 grep --color=auto java

可以看到 java -jar linux_test-0.0.1-SNAPSHOT.jar这个进程的id是80265,杀死这个进程即可

[root@localhost app]# kill -9  80265

通过shell脚本自动部署项目:

1.在linux上安装Git

  1. yum list git
  2. yum install git

2.上代码仓库把代码克隆下来

  1. [root@localhost /]# cd usr
  2. [root@localhost usr]# cd local
  3. [root@localhost local]# git clone https://gitee.com/ouyangshuiming/linux_test

3.安装maven

解压:

root@localhost local]# tar -zxvf apache-maven-3.6.3-bin.tar.gz 

配置环境变量:

进入vim  /etc/profilevim  ,按i进入编辑模式

  1. export MAVEN_HOME=/usr/local/apache-maven-3.6.3
  2. export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$Path

最后esc,冒号,wq

4.bootStar.sh文件上传到/usr/local/sh文件夹里面

5.更改bootStar.sh文件的权限

  1. [root@localhost sh]# ll
  2. 总用量 4
  3. -rw-r--r--. 1 root root 1437 11月 23 16:01 bootStart.sh
  1. [root@localhost sh]# chmod 777 bootStart.sh
  2. [root@localhost sh]# ll
  3. 总用量 4
  4. -rwxrwxrwx. 1 root root 1437 11月 23 16:01 bootStart.sh

6.执行shell文件

  1. [root@localhost sh]# ./bootStart.sh
  2. =================================
  3. 自动化部署脚本启动
  4. =================================
  5. 停止原来运行中的工程
  6. Stop Success!
  7. 准备从Git仓库拉取最新代码
  8. 开始从Git仓库拉取最新代码
  9. fatal: Not a git repository (or any of the parent directories): .git
  10. 代码拉取完成
  11. 开始打包
  12. ./bootStart.sh: 第 36 行:cd: target: 没有那个文件或目录
  13. 启动项目
  14. 项目启动完成

​​​​​​​​​​​​坏的解释器: 没有那个文件或目录 - 简书

如果出现坏的解释器问题,可以参考这篇博客vim

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/282992
推荐阅读
相关标签
  

闽ICP备14008679号