一:linux命令
查看端口占用的pid
sudo lsof -i :8080
删除文件
rm -rf xx.jar
修改名称
mv a.0.jar a.1.jar
查看java所有运行的环境
ps -ef |grep java
杀死运行的环境
kill -9 进程
给文件的权限
chmod 777 iflytek_task.sh
打开文件 vim
编辑文件 insert
保存和编辑文件 先按esc 再按:再按wq
强制退出不保存 直接按:q或者:q!
不用脚本启动
nohup java -jar technical-route.jar > nohup.log 2>&1 &
windows端口号占用解决
netstat -ano | findstr 8080
taskkill -pid 13372 -f
查看防火墙状态 开启态 active (running)
systemctl status firewalld
查看已开放端口命令:
firewall-cmd --list-all
添加防火墙
firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
添加防火墙后重新载入
firewall-cmd --reload
查看
firewall-cmd --zone= public --query-port=80/tcp
关闭nginx
./nginx -s stop
重启nginx
./nginx -s reload
安装nginx参考:
https://blog.csdn.net/weixin_42243286/article/details/125410817
二:启动脚本
iflytek_web.sh
#!/bin/bash
# 定义变量
# 要运行的jar包路径,加不加引号都行。 注意:等号两边 不能 有空格,否则会提示command找不到
#默认sh在Windows上编辑的,因此默认格式是dos。如果在Linux上使用,请使用vi命令编该文件,改为Unix格式。
#./脚本 start启动项目
#./脚本 stop停止项目
#./脚本 restart重启项目
#./脚本 status查看项目启停状态
JAR_NAME_YEAR=technical_web_22*.jar
JAR_NAME=technical_web
JAR_PATH="technical_web.jar"
# 日志路径,加不加引号都行。 注意:等号两边 不能 有空格,否则会提示command找不到
#LOG_PATh=log/technical_web.log
# 如果输入格式不对,给出提示!
tips() {
echo ""
echo "WARNING!!!......Tips, please use command: sh auto_deploy.sh [start|stop|restart|status]. For example: sh auto_deploy.sh start "
echo ""
exit 1
}
# 启动方法
start() {
#jar包数量大于10移除jar包
count=`find . -name "$JAR_NAME_YEAR" | wc -l `
count=${count:=0}
if [ ${count} -gt 10 ]; then
rm -rf $JAR_NAME_YEAR
else
echo "is not rm"
fi
# 重新获取一下pid,因为其它操作如stop会导致pid的状态更新
pid=`ps -ef | grep $JAR_NAME | grep -v grep | awk '{print $2}'`
# -z 表示如果$pid为空时执行
if [ -z $pid ]; then
nohup java -jar $JAR_PATH > /dev/null 2>&1 &
pid=`ps -ef | grep $JAR_NAME | grep -v grep | awk '{print $2}'`
echo ""
echo "Service ${JAR_NAME} is starting!pid=${pid}"
echo "........................Here is the log.............................."
echo "....................................................................."
fi
}
# 停止方法
stop() {
# 重新获取一下pid,因为其它操作如start会导致pid的状态更新
pid=`ps -ef | grep $JAR_NAME | grep -v grep | awk '{print $2}'`
# -z 表示如果$pid为空时执行。 注意:每个命令和变量之间一定要前后加空格,否则会提示command找不到
if [ -z $pid ]; then
echo ""
echo "Service ${JAR_NAME} is not running! It's not necessary to stop it!"
echo ""
else
kill -9 $pid
echo ""
echo "Service stop successfully!pid:${pid} which has been killed forcibly!"
echo ""
fi
}
# 输出运行状态方法
status() {
# 重新获取一下pid,因为其它操作如stop、restart、start等会导致pid的状态更新
pid=`ps -ef | grep $JAR_NAME | grep -v grep | awk '{print $2}'`
# -z 表示如果$pid为空时执行。注意:每个命令和变量之间一定要前后加空格,否则会提示command找不到
if [ -z $pid ];then
echo ""
echo "Service ${JAR_NAME} is not running!"
echo ""
else
echo ""
echo "Service ${JAR_NAME} is running. It's pid=${pid}"
echo ""
fi
}
# 重启方法
restart() {
echo ""
echo ".............................Restarting.............................."
echo "....................................................................."
# 重新获取一下pid,因为其它操作如start会导致pid的状态更新
pid=`ps -ef | grep $JAR_NAME | grep -v grep | awk '{print $2}'`
# -z 表示如果$pid为空时执行。 注意:每个命令和变量之间一定要前后加空格,否则会提示command找不到
if [ ! -z $pid ]; then
kill -9 $pid
fi
start
echo "....................Restart successfully!..........................."
}
# 根据输入参数执行对应方法,不输入则执行tips提示方法
case "$1" in
"start")
start
;;
"stop")
stop
;;
"status")
status
;;
"restart")
restart
;;
*)
tips
;;
esac
cenos安装jdk
cenos安装jdk
sudo yum install java-1.8.0-openjdk-devel
cd /usr/lib/jvm/java-1.8.0-openjdk
vim ~/.bashrc
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export PATH=$JAVA_HOME/bin:$PATH
java -version