当前位置:   article > 正文

java项目部署Linux服务器几种启动方式总结经验_java项目部署到linux服务器

java项目部署到linux服务器

两种部署包:

      java项目部署到服务器一般有用war包的,也有用jar包的,微服务spring-cloud普及后大部分打包都是jar,部署之前先搞清楚自己要打war包还是jar包,下面小介绍两种包的区别: spring boot既可以打成war发布,也可以找成jar包发布。说一下区别:

jar包:直接通过内置tomcat运行,不需要额外安装tomcat。如需修改内置tomcat的配置,只需要在spring boot的配置文件中配置。内置tomcat没有自己的日志输出,全靠jar包应用输出日志。但是比较方便,快速,比较简单。

war包:传统的应用交付方式,需要安装tomcat,然后放到waeapps目录下运行war包,可以灵活选择tomcat版本,可以直接修改tomcat的配置,有自己的tomcat日志输出,可以灵活配置安全策略。相对打成jar包来说没那么快速方便。

jar包署部署(推荐)

  • 先把jar包上传到Linux服务器

     1、java -jar启动方式。

         java -jar *.jar

此中方式只会运行在当前窗口,当关闭窗口或断开连接,jar程序就会结束。

2、nohup启动方式。(推荐)

# nohup: 不挂断的运行命令

# &:后台运行

# >: 日志重定向输出到

nohup java -jar *.jar >jarLog.txt &

3、注册为Linux服务(推荐)

  • 首先需要现修改pom中spring-boot-maven-plugin配置,其实spring boot 打成jar包以后,是可以直接像shell脚本一样直接运行的,要实现这样可以直接运行,pom.xml 的build节点需要增加这样的配置:
  1. <!--这样配置后,通过maven打出来的jar 可以直接 执行 ./aabb.jar 就能运行起来。 -->
  2. <build>
  3. <plugins>
  4. <plugin>
  5. <groupId>org.springframework.boot</groupId>
  6. <artifactId>spring-boot-maven-plugin</artifactId>
  7. <configuration>
  8. <executable>true</executable>
  9. </configuration>
  10. </plugin>
  11. </plugins>
  12. </build>
  • 在Linux上注册服务(此处基于init.d注册部署)

将打好的jar包放到Linux任意目录 eg: /var/project/

  1. sudo ln -s /var/project/demo.jar /etc/init.d/abc
  2. (其中demo为jar包名称,abc为服务名称)

启动/关闭 服务: service abc start/stop

查看状态: service abc status

设置开机自启: chkconfig abc on

、systemctl启动方式。

  • 在/usr/lib/systemd/system目录新增’abc.service’文件(文件名自己定义我这里例子是abc.service),具体内容如下:
  1. [Unit]
  2. Description=abc.service
  3. Requires=mysql.service mongod.service redis.service
  4. Wants=abc.service
  5. After=syslog.target network.target mysql.service mongod.service redis.service abc.service
  6. [Service]
  7. User=manager
  8. Group=manager
  9. EnvironmentFile=/home/.bash_profile
  10. WorkingDirectory=/home/tomcat
  11. ExecStart=/usr/bin/java -Xms512m -Xmx512m -jar /home/你的项目名.jar --spring.profiles.active=test
  12. [Install]
  13. WantedBy=multi-user.target
  • 更改service之后要:systemctl daemon-reload,上述文件中用到的.bash_profile文件如下:
  1. # .bash_profile
  2. # Get the aliases and functions
  3. if [ -f ~/.bashrc ]; then
  4. . ~/.bashrc
  5. fi
  6. # User specific environment and startup programs
  7. PATH=$PATH:$HOME/.local/bin:$HOME/bin
  8. LOG_PATH=/home/logs
  9. export LOG_PATH
  10. export PATH

5、tomcat启动方式。

直接将*.jar文件拷贝到tomcat\webapps\目录下,启动tomcat,访问localhost:8080/jar包名即可。 注意:启动tomcat的时候优先用服务方式启动tomcat如下: nohup ./startup.sh &(&可以用于后台运行)

注意:用tomcat启动jar需要注意的是打包的时候需要把包里面tomcat排除掉:

  1. <dependency>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-starter-web</artifactId>
  4. <exclusions>
  5. <exclusion>
  6. <groupId>org.springframework.boot</groupId>
  7. <artifactId>spring-boot-starter-tomcat</artifactId>
  8. </exclusion>
  9. </exclusions>
  10. </dependency>

最后在Linux项目上对项目进行操作的命令符如下: 后台暂时运行:java -jar /root/yyxx/cloud-yyxx-web-1.0-exec.jar(后台暂时运行) 后台永久运行,想要停止需杀死后台进程:nohup java -jar /root/yyxx/cloud-yyxx-web-1.0-exec.jar &() 查看jar进程:ps aux|grep cloud-yyxx-web-1.0-exec.jar 杀掉进程: kill -9 进程号

 

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

闽ICP备14008679号