linux启动python项目_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包的方式发布应用,因为spring boot已经内置了tomcat,无需额外配置。其实可以搜索下spring
boot的特点,有个非常重要的特性就是spring
boot把市面优秀的开源技术,都集合起来,方便快速应用。技术没有百分百这种好,也没有百分百那种不好,存在即合理,最主要还是看个人习惯和业务场景需求了。
二:jar包署部署(推荐)
先说下jar包怎么部署启动项目,这里的jar包前提是springboot项目打的,pom文件已经设置过了入口文件等相应设置,具体设置这里就不说了。先把jar包上传到Linux服务器1.安装 xshell 、xftp软件
Xshell功能简介
Xshell [1] 是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议。Xshell 通过互联网到远程主机的安全连接以及它创新性的设计和特色帮助用户在复杂的网络环境中享受他们的工作。
Xshell可以在Windows界面下用来访问远端不同系统下的服务器,从而比较好的达到远程控制终端的目的。除此之外,其还有丰富的外观配色方案以及样式选择。
Xftp 功能简介
是一个基于 MS windows 平台的功能强大的SFTP、FTP 文件传输软件。使用了 Xftp 以后,MS windows 用户能安全地在 UNIX/Linux 和 Windows PC 之间传输文件。Xftp 能同时适应初级用户和高级用户的需要。它采用了标准的 Windows 风格的向导,它简单的界面能与其他 Windows 应用程序紧密地协同工作,此外它还为高级用户提供了众多强劲的功能特性。
2.通过安装以上两个软件可以实现window电脑远程控制Linux服务器,这样就可以将我们打包好的jar文件传输到Linux服务器上进行项目的部署。
假设Linux服务上已经有了打好的jar包,下面介绍几种常用的部署方式:
1、java -jar启动方式。java -jar *.jar
此中方式只会运行在当前窗口,当关闭窗口或断开连接,jar程序就会结束。
2、nohup启动方式。(推荐)# nohub: 不挂断的运行命令
# &:后台运行
# >: 日志重定向输出到
nohub java -jar *.jar >jarLog.txt &
3、注册为Linux服务(推荐)首先需要现修改pom中spring-boot-maven-plugin配置,其实spring boot 打成jar包以后,是可以直接像shell脚本一样直接运行的,要实现这样可以直接运行,pom.xml 的build节点需要增加这样的配置:
org.springframework.boot
spring-boot-maven-plugin
true
在Linux上注册服务(此处基于init.d注册部署)
将打好的jar包放到Linux任意目录 eg: /var/project/sudo ln -s /var/project/demo.jar /etc/init.d/abc
(其中demo为jar包名称,abc为服务名称)
之后就可以用 service XXX start 命令来启动jar包启动/关闭 服务
service abc start/stop
查看状态
service abc status
设置开机自启
chkconfig abc on
4、systemctl启动方式。在/usr/lib/systemd/system目录新增’abc.service’文件(文件名自己定义我这里例子是abc.service),具体内容如下:[Unit]
Description=abc.service
Requires=mysql.service mongod.service redis.service
Wants=abc.service
After=syslog.target network.target mysql.service mongod.service redis.service abc.service
[Service]
User=manager
Group=manager
EnvironmentFile=/home/.bash_profile
WorkingDirectory=/home/tomcat
ExecStart=/usr/bin/java -Xms512m -Xmx512m -jar /home/你的项目名.jar --spring.profiles.active=test
[Install]
WantedBy=multi-user.target更改service之后要:systemctl daemon-reload,上述文件中用到的.bash_profile文件如下:# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/.local/bin:$HOME/bin
LOG_PATH=/home/logs
export LOG_PATH
export PATH
其中上述中的LOG_PATH可以在项目中引用,例如:
5、tomcat启动方式。
直接将*.jar文件拷贝到tomcat\webapps\目录下,启动tomcat,访问localhost:8080/jar包名即可。
注意:启动tomcat的时候优先用服务方式启动tomcat如下:
nohup ./startup.sh &(&可以用于后台运行)
注意:用tomcat启动jar需要注意的是打包的时候需要把包里面tomcat排除掉:
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-tomcat
最后补充一些常规命令:在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 进程号
三:war包署部署
最简单,常见的部署方法,直接将war包放到tomcat的wabapp目录下,运行tomcat就行。
具体步骤如下:
a. 把项目打包到wabapp目录下。如下图
b.在bin目录下运行命令 startup.bat 启动项目。(在bin目录里按 shift+右键 即可调出命令框。关闭项目 shutdown.bat)如下图
你放在wabapp下的所有项目就会自启动,自启动伴随着解压缩包的动作,启动完成后在wabapp下会看到解压后的项目文件夹。运行成功的命令显示如下
这样就表示项目启动成功!打开浏览器访问下
https://juejin.im/post/5e26aaeb5188253671240c3f
linux启动python项目_java项目部署Linux服务器几种启动方式总结经验相关推荐
- gin项目部署到服务器并后台启动
前言 我们写好的gin项目想要部署在服务器上,我们应该怎么做呢,接下来我会详细的讲解一下部署教程. 1.首先我们要有一台虚拟机,虚拟机上安装好go框架. 2.将写好的项目上传到虚拟机上. 3.下载好项 ...
- Vue项目webpack打包部署到服务器
Vue项目webpack打包部署到服务器 这篇博文主要说的就是我今天遇到的问题,而且在经过我的询问,好多人在打包部署的时候都遇到了一些问题,下面就来说下,如何将Vue项目放置在服务器上,这里以Tomc ...
- 【源码+教程】Java桌球游戏_Java初级项目_Java练手项目_Java项目实战_Java游戏开发
今天分享的Java开源游戏项目是桌球游戏,初学者也可以用来练习喔~课程详细讲解了一个桌球游戏的编写思路和流程,即使你刚学Java没多久,也可以跟随该教程视频完成属于你自己的桌球游戏!同时,还可以加深和 ...
- SpringBoot项目在eclipse中能运行,部署到服务器 nohup java -jar 方式运行就无法显示报错
SpringBoot项目在eclipse中能运行,部署到服务器 nohup java -jar 方式运行就无法显示报错: *************************** APPLICATION ...
- IDEA MAVEN项目打包成jar包的两种简单方式
IDEA MAVEN项目打包成jar包的两种简单方式 准备了两个打包方法 1.IEDA自带打包方法 2.用Maven插件maven-shade-plugin打包 IDEA自带打包 适用于任何打包,稍微 ...
- java linux 服务_java项目部署Linux服务器几种启动方式总结经验
一:两种部署包: 部署之前先说下两种包,java项目部署到服务器一般有用war包的,也有用jar包的,微服务spring-cloud普及后大部分打包都是jar,部署之前先搞清楚自己要打war包还是ja ...
- linux系统python生成so_Python 项目转化为so文件实例
思路是先将py转换为c代码,然后编译c为so文件,所以要安装以下内容: python 安装:cython pip install cython linux 安装:python-devel,gcc yu ...
- tomcat 启动项目 页面文字乱码_项目通过tomcat部署到服务器,请求数据页面中文乱码问题...
问题描述:1.将项目部署到服务器之后从页面接收的中文乱码 2.数据库中原有的数据都能正常显示 产生原因:没有对Tomcat服务器和mysql进行配置更改 解决流程: 一. 修改Tomcat配置 更改两 ...
- java脚本项目_java项目部署脚本 - xixingzhe的个人空间 - OSCHINA - 中文开源技术交流社区...
#!/bin/sh #java export JAVA_HOME=/root/java/jdk #日志目录 export LOG_HOME=`pwd`/ #项目名称 APP_NAME=xxx.jar ...
- 自动打包linux,使用Jenkins如何自动打包部署linux
使用Jenkins如何自动打包部署linux 发布时间:2020-11-25 14:47:07 来源:亿速云 阅读:86 作者:Leah 使用Jenkins如何自动打包部署linux?很多新手对此不是 ...
最新文章
- Redis 面试连环炮,看看你能撑到哪一步?
- MySQL 5.6.6 LABS 版本 下载 已经内含 Memcached
- python简单代码input-【python系统学习05】input函数——实现人机交互
- IBM开发单原子存储技术 iPod能存上3万部电影?
- php 动态显示数字,php – 如何动态创建具有指定数字的图像?
- 进程与multiprocessing模块
- opencv 叠加文字_opencv 图像上添加文字
- map转list对象方法,通过stream或者iterator.key集合转list,values集合转list
- dell服务器卸载系统,如何通过 iDRAC9 装载和卸载驱动程序包
- 头像/证件照抠图与圣诞背景替换
- luogu P5064 [Ynoi2014] 等这场战争结束之后
- js分享到第三方平台
- clustream java_数据流聚类算法
- 服务器系统server2008 qq,WindowsServer2008R2服务器系统安装教程
- SpringBoot实现幕课网在线学习系统
- ...$wux.toast_如何解决Toast#handleShow()的WindowManager.BadTokenException?
- Fiddler抓包,并修改请求数据
- Java之Excel导出工具类使用教程
- 并发编程JUC深度学习(七)无锁(乐观锁)
- 为什么串口传输速度比并口快?
热门文章
- 坚持就是成功,没有成功就是你失败的次数太少
- 181022词霸有道扇贝每日一句
- SVN 代码与文件管理小记
- atitit 短信验证码的源码实现 .docx
- paip java.net.SocketException No buffer space available的解决办法及总结
- KK集团完成门店系统一期上云
- 2018中国十大开源云领军企业评选,等你报名!
- fckeditor for java_FCKeditor最新版本2.4.1 for java 教程
- 订阅付费专栏,支付299.9元,免费送代码
- 【优化算法】多策略协同多目标萤火虫算法(MOFA_MOCS)【含Matlab源码 1512期】