首页 > 编程语言 >JavaWeb开发中在服务器常用命令集锦

JavaWeb开发中在服务器常用命令集锦

时间:2023-01-17 16:45:21浏览次数:59  
标签:java JavaWeb -- jar nginx 集锦 常用命令 root firewall

基本的 ls mv midir就不说了。

一. 后端部署

1.1 启动jar包

# 默认会将所有日志存放到一个当前目录中新建的 nohup.out文件中
nohup java -jar -Duser.timezone=GMT+8 app-0.0.1-SNAPSHOT.jar &

另一种写法:

# 将标准错误输出和标准输出都定向到 test.log文件中,其中
nohup java -jar -Duser.timezone=GMT+8 app-0.0.1-SNAPSHOT.jar > test.log 2>&1 &

1.2 更新Jar包

首先找到 目前启动的jar包的PID,并kill掉

# 1.根据Java应用端口来查找PID
netstat -anp |grep 8088
# 示例结果:tcp6       0      0 :::8088                 :::*                    LISTEN      45160/java
45160就是PID
# 2.更为普遍的方式是根据 'java -jar' 的关键词来搜索目前后台运行程序的启动命令
ps -ef | grep 'java -jar'
# 示例结果:
root      8167     1  0  2022 ?        02:11:03 java -jar -Duser.timezone=GMT+8 gateway-1.0-SNAPSHOT.jar
root     27045     1  0 Jan12 ?        00:12:40 java -jar -Duser.timezone=GMT+8 app2-1.0.jar
root     45115 42660  0 10:16 pts/0    00:00:00 grep --color=auto java -jar
root     45160     1  2 Jan16 ?        00:25:04 java -jar -Duser.timezone=GMT+8 app-0.0.1-SNAPSHOT.jar
# 3.Kill PID
kill -9 45160
# 4.重新启动
nohup java -jar -Duser.timezone=GMT+8 app-0.0.1-SNAPSHOT.jar &

注:其中 2>&1 的说明可参考 深入理解Linux shell中2>&1的含义(全网最全,看完就懂)

为了方便也可以用一个更新 jar包 的shell脚本文件 deploy.sh 来集成这些命令,下面的仅供参考

#!/bin/bash
# 脚本需要放到与jar包同一层目录下
# 1.校验参数
if [ -z $1 ]; then
	echo "you must input old jar package name"
	exit 0
if [ -z $2 ]; then
	echo "you must input new jar package name"
	exit 0	
echo "publish----------"
# 2.查找目前运行的老jar包运行的进程号
process_id=`ps -ef | grep $1 | grep -v grep |awk '{print $2}'`
if [ $process_id ] ; then
# 3.杀死老进程
sudo kill -9 $process_id
fi
source /etc/profile
# 4.运行新jar包,按照自己习惯写
# nohup java -jar -Dspring.profiles.active=prod ~/wiki/wiki.jar >  2>&1 &
nohup java -jar -Duser.timezone=GMT+8 ./$2 > test.log 2>$1 &
echo "end publish"
tail -fn 100 test.log

这个脚本运行需要两个参数,一个是 之前的jar包的名称,另一个是新jar包的名称,保存的日志文件名称是 test.log。运行如下:

sh deploy.sh oldJarPackage newJarPackage

二.端口

# 查看某个端口是否被某个应用占用,是否开放,需要root权限
lsof -i:80
# 查看当前 tcp,udp的端口和进程情况,可以与 grep连用,查看某个端口的使用情况
netstat -tunlp
netstat -tunlp | grep 8080

三.防火墙(适用于 CentOS7+)

参考linux(Centos7)查看配置防火墙状态firewall、iptable

## 1.查看 firewall服务状态 active为启动,inactive为停止
systemctl status firewalld
# 结果如下
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2022-12-08 15:14:08 CST; 1 months 9 days ago
   ......

## 2.查看 firewall状态
firewall-cmd --state
# 结果
running

## 3.开启,重启,关闭防火墙
service firewalld start
service firewalld restart
service firewalld stop

## 4.查看防火墙放开的端口
firewall-cmd --list-ports 或 firewall-cmd --list-all

## 5.查询某个端口是否开放
firewall-cmd --query-port=8080/tcp

# 6.永久开放8080端口,没有 --permanent重启会失效
firewall-cmd --zone=public --add-port=8080/tcp --permanent

# 7.永久移除8080端口
firewall-cmd --zone=public --remove-port=8080/tcp --permanent 

# 8.重启防火墙(以上放开/移除端口的修改配置后要重启防火墙才能生效)
firewall-cmd --reload

四.Nginx

# 找到命令所在的路径
whereis nginx
# nginx: /usr/local/nginx /usr/local/nginx/sbin/nginx
# 运行命令在/usr/local/nginx/sbin/nginx
/usr/local/nginx/sbin/nginx 
# 检查配置文件格式是否正确
nginx -t 
# 重启
nginx -s reload
# 指定某个特定的配置文件
nginx -c test.conf 启动
# 停止nginx 
nginx -s stop

五. mysql

# 以root用户连接命令mysql
mysql -u root -p
# 导出某个库或表的结构与数据
mysqldump -u root -p databaseName > database.sql
mysqldump -u root -p databaseName tableName > table.sql

后续继续补充 。。。。。。

标签:java,JavaWeb,--,jar,nginx,集锦,常用命令,root,firewall
From: https://www.cnblogs.com/it-bt/p/17058138.html

相关文章

  • 【git】git常用命令
    1.初始化本地仓库可选,如果不指定,将使用当前目录gitinit<directory>2.添加文件到暂存区gitadd<file>添加当前目录中的所有文件:gitadd.3.提交更改gitcommi......
  • 小满nestjs(第六章 nestjs cli 常用命令)nest --help 可以查看nestjs所有的命令
    nest--help可以查看nestjs所有的命令他的命令和angular很像 案例生成一个用户模块1.生成controller.tsnestgcouser2.生成  module.tsnestgmouser3.生成service.t......
  • JavaWeb(一)
    JavaWebjava+webTomcat服务器及Maven部分1、基本概念1.1、前言web开发:web:网页静态webhtml、css提供给所有人看的数据始终不会发生变化动态web淘宝......
  • 场景编程集锦– 妖兔闹春
    场景描述为庆祝中国农历春节,中国邮政每年都会发行生肖纪念邮票。2023葵卯年兔年生肖纪念邮票是一只蓝色的卡通兔。最近一段时间以来,这只小小的兔子搅动了中国互联网舆论场。......
  • Git常用命令
    Git常用命令基础操作gitstatus:查看文件状态gitadd:将文件的修改加入暂存区gitreset:将暂存区的文件取消暂存或者是切换到指定版本gitcommit:将暂存区的文件......
  • Docker(常用命令)
    帮助启动类命令启动docker:systemctlstartdocker停止docker:systemctlstopdocker重启docker:systemctlrestartdocker查看docker状态:systemctlstatusdocker开机启动......
  • 【Javaweb】给tomcat添加第三方jar包
    就是复制到lib文件夹里面之后点击jar包右键 选择modulelibrary,点击ok就可以了 ......
  • 【Javaweb】动态web工程目录介绍
    src存放自己编写的Java源代码web专门用来存放web工程的资源文件(html页面、css文件、js文件等等)WEB-INF是一个受服务器保护的目录,浏览器无法直接访问此目录的内容web.......
  • Linux常用命令
    Linux中许多常用命令是必须掌握的,这里将我学linux入门时学的一些常用的基本命令分享给大家一下,希望可以帮助你们。date#显示或设定系统的日期与时间。ls#列......
  • 【Javaweb】tomcat目录介绍
    bin专门用来存放tomcat服务器的可执行程序conf专门用来存放tomcat服务器的配置文件lib专门用来存放tomcat服务器的jar包logs专门用来存放tomcat服务器运行时输出的......