xshell部署java项⽬
如果是在windows服务器上部署,可直接使⽤windows电脑提供的远程桌⾯连接,然后将打包好的项⽬发布到相应的位置,并启动Tomcat 服务(如果使⽤的是Tomcat服务器的话)
但是如果想要部署到linux机器上,则需要借助Xftp和Xshell配合使⽤部署环境。
⼀ 使⽤⼯具介绍:
Xftp为可视化⼯具,主要⽤来拷贝⽂件。
xshell则通过输⼊命令来对服务器进⾏操作,如启动服务等等。
Xshell是⼀个强⼤的安全终端模拟软件,它⽀持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议。Xshell 通过互联⽹到远程主 机的 安全连接以及它创新性的设计和特⾊帮助⽤户在复杂的⽹络环境中享受他们的⼯作。
Xshell可以在Windows界⾯下⽤来访问远端不同系统下的服务器,从⽽⽐较好的达到远程控制终端的⽬的。
⼆:部署项⽬的过程
1.打开Xshell连接服务器,具体如图:
点击新建按钮,会弹出⼀个新建会话属性对话框,点击连接,⽤户⾝份验证,需要输⼊主机名(ip地址),会话名称,确定后点击连接然后输⼊密码,
成功连接服务器。
2.开始部署项⽬
如上图,点击⽂件传输按钮(绿⾊按钮),然后弹出xftp的对话框,这个软件专门⽤来进⾏部署项⽬,此时右边代表服务器的当前路径,
左边是以本地桌⾯为根的⽬录树,如下图
选择你已打包好的项⽬war包,⿏标拖进右边你想要部署的Tomcat下的webapps中,(若想部署在⾮WebApps下,则需要在l 中配置context应⽤的访问路径)如果已经有该项⽬war包,则点击覆盖即可,如果之前是启动的,
则会⾃动部署。
3.发布J2EE程序
若第⼆步没有启动服务,则转到xshell窗⼝,先关闭服务器tomcat,然后,重启,就OK了,具体命令之类的如下图:
第⼀步:cd 切换⽬录。eg: cd /home/changrui 转到服务器tomcat根⽬录
我的Linux主机的tomcat⽬录是“/home/changrui/tomcat”,所以在Xshell中通过命令定位到该⽬录:cd /home/changrui/tomcat 通过ll或ls命令查看该⽬录下的⽂件(夹),或通过pwd命令查看当前⽬录。
第⼆步:关掉tomcat服务。
到tomcat下的bin⽬录执⾏“shutdown.sh”脚本:
如果关不掉,提⽰关闭失败,很有可能是因为tomcat端⼝占⽤导致的,所以要执⾏暴⼒操作杀掉tomcat进程。
⾸先要到tomcat 的进程号:
ps -ef | grep tomcat
ps命令⽤来查询所有进程的进程号,然后通过通道操作同步执⾏grep命令查询包含tomcat的进程信息。
如上图,可以明显看到有四个进程,代表有四个Tomcat在运⾏,后⾯的绿⾊标明的即为tomcat所在⽬录。其中可以看到进程号为29564的tomcat
是我的项⽬所在Tomcat,则使⽤kill 29564即可杀掉该tomcat进程。
可以通过以下命令查询tomcat服务是否成功杀掉了: (netstat -na | grep 8080)
该指令说⽩了是查询端⼝号为8080的正在使⽤的服务,如果查询结果中没有tomcat则说明tomcat已经成功杀掉了。
第三步:修改配置⽂件。
如果有需要可以执⾏该步骤,程序上传到Linux主机后,可能要更改WEB程序的配置⽂件。WinSCP⽀持⽂件的查看和编辑。
在WinSCP的Linux主机操作区定位到配置⽂件所在⽬录,右键要变更的配置⽂件,选择编辑或编辑⽅式,编辑好保存即可。
第四步:重新启动tomcat服务。
通过上⼀步已经将Windows下要发布的WEB程序上传⾄Linux服务器的tomcat下的webapps下了,我们可以重启tomcat服务了。
去tomcat下的bin⽬录执⾏“startup.sh”脚本启动tomcat服务。
(6)发布完成。我们可以在浏览器中输⼊⽹址并打开查看来验证是否已经发布成功了。如果能正常打开⽹页,说明已经发布成功。
(7) Tomcat启动查看⽇志:进⼊到tomcat下logs⽬录下,使⽤tail -n 100 -f catalina.out (tail -fn100 catalina.out)查看启动⽇志。
4.发布springboot的maven项⽬(打包成jar包或者war包发布)
1.⾸先需要明⽩所谓jar包与war之间的区别,以及什么情况下使⽤更为合适
1)简单说,jar包即是java打的包,war包可理解为javaweb打的包。
jar(java Archive java归档⽂件):与平台⽆关的格式⽂件,⽬的是把类和相关的资源封装到压缩的归档⽂件中。
war:⼀个war⽂件就是⼀个web应⽤程序(把整个web应⽤程序不包括程序层次结构的根⽬录)压缩起来。它可以包
含Servlet,HTML页⾯,Java类、图像⽂件、以及组成Web应⽤程序的其他资源,⽽不仅仅是类的归档⽂件。
2)使⽤场景:开发阶段适合⽤jar包(经常需要添加或删除Web应⽤程序的内容,更新Servlet类⽂件),如果要重新建⽴WAR
⽂件是很浪费时间的;⽽在产品发布阶段,使⽤WAR包是⽐较合适的(⼏乎不需要改动了)。
2.如何打包jar包与war包
打包成war包需要将springBoot内置的Tomcat去除掉,然后部署到外部tomcat下
(⼀)、 ⽣成uums的jar包
在eclipse⾥⾯,run菜单,新建⼀个Marven Build,具体配置见下图:
然后,执⾏。
执⾏完毕后,会在当前⼯程路径下的target⽬录下,⽣成jar⽂件:
uums-0.0.1-SNAPSHOT.jar
(⼆)、 将jar包部署到uums测试服务器
server:172.16.16.45 root/111111
将jar⽂件部署到如下项⽬⽬录:
/home/i-account/uums
(三)、 杀死原来的uums进程(uums为例)
执⾏命令:
ps -aux | grep uums (详解ps命令下-aux与-ef区别)
到uums进程号,然后杀死该进程:
kill -9 [进程号] (详解kill 进程号与kill -9 进程号的区别)
(四)、 启动项⽬(uums为例)
进⼊路径:
cd /home/i-account/uums
执⾏启动命令:
nohup java -jar uums-0.0.1-SNAPSHOT.jar & (详解nohup命令)
(在服务器后台运⾏项⽬并输出⽇志到制定⽂件:nohup java -jar /usr/webapp/web.jar >/logs/web.log &)
(为什么不直接使⽤ java -jar jar包名字.jar,原因:此种运⾏⽅式,直接在前端执⾏,窗⼝关了,服务也就停了,不满⾜要求,且⽇志直接输出到了前台,不⽅便后台处理查看)
查看⽇志:
tail -f nohup.out
注:
1.ps -ef|grep tomcat 与ps -aux|grep uums 的区别:
这个就涉及到Unix系统中的两种风格,System V(-ef命令)风格和BSD(-aux) 风格
ps -ef 是⽤标准的格式显⽰进程的、其格式如下
其中各列的内容意思如下
UID //⽤户ID、但输出的是⽤户名
PID //进程的ID
PPID //⽗进程ID
C //进程占⽤CPU的百分⽐
STIME //进程启动到现在的时间
TTY //该进程在那个终端上运⾏,若与终端⽆关,则显⽰? 若为pts/0等,则表⽰由⽹络连接主机进程。
CMD //命令的名称和参数
ps aux 是⽤BSD的格式来显⽰、其格式如下
同ps -ef 不同的有列有
USER //⽤户名
%CPU //进程占⽤的CPU百分⽐
shell界面%MEM //占⽤内存的百分⽐
VSZ //该进程使⽤的虚拟內存量(KB)
RSS //该进程占⽤的固定內存量(KB)(驻留中页的数量)
STAT //进程的状态
START //该进程被触发启动时间
TIME //该进程实际使⽤CPU运⾏的时间
2.kill的使⽤
kill 进程号:直接杀掉该进程
kill –9 进程号 彻底杀死该进程
杀死指定⽤户所有进程 kill -9 $(ps -ef | grep peidalinux) kill -u peidalinux
nohup Command [] [&] (加&符号是让程序⾃动运⾏在后台)
⽆论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前⽬录的 nohup.out ⽂件中。如果当前⽬录的 nohup.out ⽂件不可写,输出重定向到 $HOME/nohup.out ⽂件中。如果没有⽂件能创建或打开以⽤于追加,那么 Command 参数指定的命令不可调⽤。如果标准错误是⼀个终端,那么把指定的命令写给标准错误的所有输出作为标准输出重定向到相同的⽂件
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论