在企业级应用中我们如何通过Linux进行部署、替换、查看日志、杀死进程?
用过Linux的人都知道,Linux的命令是非常多的,其实我们并不不需要去全学个遍。掌握最常用的命令之后,学习不常用的命令也不会很难,我们要学的是一种方法而不是为了技术而学技术。
查看端口
在Linux使用过程中,我们需要了解当前系统开放了哪些端口,并且要查看开放这些端口的具体进程和用户,可以通过netstat命令进行简单查询,netstat命令各个参数说明如下:
- -t : 指明显示TCP端口
- -u : 指明显示UDP端口
- -l : 仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发通讯协议(protocol)与资料的程序)
- -p : 显示进程标识符和程序名称,每一个套接字/端口都属于一个程序。
- -n : 不进行DNS轮询,显示IP(可以加速操作)
可以显示当前服务器上所有端口及进程服务,加上grep结合可查看某个具体端口及服务情况,例如:
netstat -a | 查看所有服务端口 |
netstat -ntlp | 查看当前所有tcp端口 |
netstat -ntulp |grep 80 | 查看所有80端口使用情况 |
netstat -an | grep 3306 | 查看所有3306端口使用情况 |
netstat -lanp | 查看一台服务器上面哪些服务及端口 |
lsof -i:端口号 | 用于查看某一端口的占用情况,比如查看8000端口使用情况,lsof -i:8000 |
杀死进程
查看端口的信息,根据进程号杀死进程,操作如下:
- netstat -nap|grep 80
- ps -aux|grep 727
- 杀掉该进程:kill -9 727
小提示:当面试官问你如果存在杀不死的进程,该怎么办?,最简单的方法当然是重启服务器,相当于清理内存了。可是方法虽然简单,但是不是很实用,因为服务器是不能随随便便重启的,客户随时可能要用到。最好的办法是,我们杀掉其父进程,父进程干掉后,就没问题了。通过ps -ef | grep 进程ID,查看其父进程,然后 kill -9 父进程ID。
查看日志
1.jar包
目直接在jar包录下,输入命令查看即可,如下所示:
查看实时日志 | tail -f nohup.out |
分页查看所有日志 | cat nohup.out | more |
分页查看前N行日志 | tail -n 1000 nohup.out | more |
查看实时日志并检索关键字 | tail -f nohup.out | grep "关键字" |
检索日志,并显示该条日志的前后N行记录 | cat nohup.out | grep -n -B10 -A10 "关键字" |
查看日志,从第1000行开始,显示500行 | cat nohup.out | tail -n +1000| head -n 500 |
查看日志,显示1000行到3000行 | cat filename| head -n 3000 | tail -n +1000 |
2.war包
war包一般都会放在tomcat的webapp目录下(不一定要用tomcat,只要是WEB应用服务器就可以),tomact目录的logs文件夹就是存放日志的,如果想要退出查看实时日志,按Ctrl+C即可。
查看实时日志 | tail -f catalina.out |
查询前100条日志 | head -100 catalina.out |
查询最后100条日志 | tail -100 catalina.out |
从倒数第20000行开始,查询前100条日志 | tail -20000 catalina.out | head -100 |
从倒数第20000行开始,查询tomcat启动日志 | tail -20000 catalina.out | grep 'org.apache.catalina.startup.Catalina.star |
部署
1.jar包
第一种:java -jar XXX.jar
临时性:这是最基本的jar包执行方式,但是当我们用ctrl+c中断或者关闭窗口时,程序也会中断执行。
第二种:java -jar XXX.jar &
&代表在后台运行,使用ctrl+c不会中断程序的运行,但是关闭窗口会中断程序的运行。
第三种:nohup java -jar XXX.jar &
运行的程序日志会输出到当前目录下的nohup.out文件,使用ctrl+c中断或者关闭窗口都不会中断程序的执行。
第四种:nohup java -jar XXX.jar >temp.out &
>temp.out的意思是将日志输出重定向到temp.out文件,使用ctrl+c中断或者关闭窗口都不会中断程序的执行。
2.war包
直接放到tomcat下的webapp目录下,运行tomcat即可。
替换
无论是替换jar还是war,都应该先停掉进程、杀死端口,用连接工具删除文件(WinSCP或者FinalShell),再把新的文件上传(建议备份上一次的文件),如果这次上线发生错误,还可以回退到上一个版本。
更多推荐
所有评论(0)