昆明网站建设技术托管,建网页要钱吗,自媒体营销代理,装修设计公司哪家概述
涉及#xff1a;1#xff09;sh 无法直接运行java命令#xff0c;可以软连#xff0c;此处是直接路径
2#xff09;sh脚本报一堆空格换行错误#xff1a;需将转成unix标准格式#xff1b;
#切换到上传的脚本路径
dos2unix 脚本文件名.sh
2#xff09;SELINUX …概述
涉及1sh 无法直接运行java命令可以软连此处是直接路径
2sh脚本报一堆空格换行错误需将转成unix标准格式
#切换到上传的脚本路径
dos2unix 脚本文件名.sh
2SELINUX 授权允许启动sh 脚本
3SELINUX 授权允许启动写入的日志文件
软连接方法无需操作
cd /usr/bin
ln -s -f /usr/local/jdk17/java
操作步骤
1、新建sh 脚本 新建service_script.sh 脚本
注需要配置 1jdk的路径2程序日志路径3)java 名称
#!/bin/bash
#这里替换为jar包名字
APP_NAMEhy-admin.jar
#根据实际情况修改参数
JVM-server -Xms4g -Xmx4g
#APPFILE_PATH-Dspring.config.location/usr/local/config/application.propertiesexport JAVA_HOME/usr/local/jdk17
export JRE_HOME$JAVA_HOME/jre
export CLASSPATH.:$JAVA_HOME/jre/lib/rt.jar
export PATH$PATH:$JAVA_HOME/bin:$JRE_HOME/bin#使用说明,用来提示输入参数
usage() { echo Usage: sh 执行脚本.sh [start|stop|restart|status|log|backup] [port] exit 1
} port$2
#检查指定端口是否是有程序在运行
is_exist(){# 默认端口if [ ${port} ]; then# 默认使用9000port9000fi # 获取端口占用的进程号pidlsof -i:$port | awk NR 2 | awk {print $2}#如果不存在返回1,存在返回0if [ -z ${pid} ]; then return 1 else return 0 fi
} #启动方法
start(){ is_exist if [ $? -eq 0 ]; then echo ${port} 端口已经被 ${pid} 进程占用 else #nohup java $JVM -jar $APPFILE_PATH $APP_NAME /dev/null 21 #后台启动jar包且控制环境变量根据实际情况修改吧。#nohup java $JVM -jar $APP_NAME --spring.profiles.activeprod /dev/null 21 cd /data/hy-cost-grain-proecho log.filenohup ${JAVA_HOME}/bin/java -jar ${APP_NAME} --server.port${port} log.file 21 echo ${APP_NAME} 进程 $! 在 ${port} 端口启动中......logfi
} #停止方法
stop(){ is_exist if [ $? -eq 0 ]; then kill -9 $pidecho ${port} 端口的进程 ${pid} 已经被中断 else echo ${port} 端口未启用 fi
} #输出运行状态
status(){ is_exist if [ $? -eq 0 ]; then echo ${port} 端口已被进程 ${pid} 占用 else echo ${port} 端口未被占用 fi
}
#重启
restart(){ stop start
} #日志
log(){# 输出实时日志tail -n 100 -f log.file
}#备份
backup(){#根据需求自定义备份文件路径。BACKUP_PATH./back/#获取当前时间作为备份文件名BACKUP_DATEdate %Y%m%d(%H:%M:%S)echo backup file -$BACKUP_PATH$BACKUP_DATE.jar#备份当前jar包cp -r ./$APP_NAME $BACKUP_PATH$BACKUP_DATE.jar
}#根据输入参数,选择执行对应方法,不输入则执行使用说明
case $1 in start) start ;; stop) stop ;; status) status ;; restart) restart ;; log) log ;; backup) backup ;; *)
usage
;;
esac注意上传的.sh脚本转成系统可识别的unix编码格式的文件
上传后切换到脚本路径运行如下命令
dos2unix service_script.sh
2、生成日志文件并授权
SELINUX 允许启动写入日志的文件2-3步骤理论也可以关闭SELINUX
echo /data/hy-cost-grain-pro/log.file
chmod 777 /data/hy-cost-grain-pro/log.file#授予启动脚本写入
semanage fcontext -a -t var_log_t /data/hy-cost-grain-pro/log.file
restorecon -Rv /data/hy-cost-grain-pro/log.file#查看授权
semanage fcontext -l|grep var_log_t 3、授权启动脚本启动权限
设置 SELINUX 允许启动运行的脚步2-3步骤理论也可以关闭SELINUX
#允许运行启动脚本
semanage fcontext -a -t init_exec_t /data/hy-cost-grain-pro/service_script.sh
restorecon -R -v /data/hy-cost-grain-pro/service_script.sh#查看授权
semanage fcontext -l|grep init_exec_t 4、新建启动服务文件
[Unit]
Descriptionjava-cost-grain-pro
Aftersyslog.target
[Service]
Typesimple
#延迟启动如果jar包需要运用到数据库所以在这加了睡眠10秒
ExecStartPre/bin/sleep 8
ExecStart/data/hy-cost-grain-pro/service_script.sh start
ExecReload/data/hy-cost-grain-pro/service_script.sh restart
ExecStop/data/hy-cost-grain-pro/service_script.sh stop[Install]
WantedBymulti-user.target
5、上传并加入开机自动
上传至 /etc/systemd/system
#刷新服务配置
systemctl daemon-reload
# 启动服务
systemctl start java-grain-9000.service
# 服务开机自启
systemctl enable java-grain-9000.service
# 停止服务
systemctl stop java-grain-9000.service
# 查看服务状态
systemctl status java-grain-9000.service -l
重启测试开机自启启动花了15s
reboot 可能问题
1无lsof 命令
yum install lsof 2 SELinux 介绍
SELinux 有三种工作模式注意没有特别安全要求可以使permissive不同级别配置相同 enforcing强制模式。任何违反策略的行为都会被禁止并且产生警告信息。 permissive允许模式。违反策略的行为不会被禁止只产生警告信息。 disabled关闭 SELinux。
3selinux 永久关闭
一、临时关闭
setenforce 0
注意重启系统后还会开启。
二、永久关闭 1、vim /etc/selinux/configSELINUXdisabled然后保存退出。
2、 vim /etc/sysconfig/selinuxSELINUXdisabled然后保存退出。
注意如未生效重启即可
三、验证方法 输入命令getenforce 4若切换路径的数据库也能自启请参考本人博客
Centos(rockyred Hat) yum 安装mysql切换路径并设置开机自启
Centos(rockyred Hat) yum 安装mysql切换路径并设置开机自启_rocky和red hat_小云小白的博客-CSDN博客1、安装方式介绍mysql安装共3中方式1yum安装最简单的方式2rpm包安装切记下载相应系统的 稳定版 源码包相对较简单3压缩包安装自由度高但配置相应复杂且需要自己注册自启服务注:1,2,3无法在一台机器上共存1,2可以通过mulit-mysql启动多个服务看但无法实现单机上的myql主从只有3方式支持1台安装多个mysql服务实现mysql主从一、安装步骤1.获取最新的yum rmp包地址下载地址MySQL :: MySQL Commu_rocky和red hathttps://blog.csdn.net/qq_26408545/article/details/124114793?csdn_share_tail%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22124114793%22%2C%22source%22%3A%22qq_26408545%22%7D