centos安装服务及设置自启动

centos安装redis及设置自启动

  • centos安装redis及设置自启动
    • redis安装脚本
    • redis启动脚本
    • chkconfig设置开机自启动
    • systemctl设置开机自启动
    • nginx脚本
    • mysql脚本
    • mongodb脚本
    • rabbitmq脚本
    • java服务脚本
    • 删除日志
    • 定时任务

centos安装redis及设置自启动

redis安装脚本

进入 /opt/redis/目录,创建安装脚本
vim /opt/redis/redis-install.sh

#!/bin/sh
# chkconfig: 2345 10 90  
# description: Start and Stop redis   
# wget http://download.redis.io/releases/redis-5.0.4.tar.gz
# tar -xf redis-5.0.4.tar.gz
# cd redis-5.0.4
# make & make install
##配置redis的安装目录
currentTime=$(date '+%Y-%m-%d %H:%M:%S')
echo -e "请输入安装目录,不存在脚本自动创建,例如 /opt/es"
read installpath#创建安装的目录
if [ ! -d $installpath ]; thenmkdir -p $installpath
fi
if [ ! -d $installpath ]; thenecho "创建目录$installpath失败!请检查目录是否有权限"exit
fi#服务名称
SERVER_NAME=redis#解压tar包
currentdir=$(cd $(dirname $0); pwd)
echo "当前目录:$currentdir"ls | grep 'redis-.*[gz]$'
if [ $? -ne 0 ]; then#当前目录没有压缩包echo "在$currentdir下没有发现$SERVER_NAME-*.tar.gz,执行网络下载!"echo "下载redis安装包..........."wget https://download.redis.io/releases/redis-6.0.9.tar.gzecho "下载redis安装包完成,目录:$installpath"
fi#解压缩
ls | grep 'redis-.*[gz]$'
if [ $? -eq 0 ]; then#解压echo "解压缩进行中............."tar -xf $currentdir/$(ls | grep 'redis-.*[gz]$') -C $installpathecho "解压缩完成,文件目录:$installpath"
elseecho "请下载或者自行上传redis压缩包!"exit
fi#必须环境
yum list centos-release-scl
if [ $? -ne 0 ]; thenyum -y install centos-release-sclyum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils#scl enable devtoolset-9 bashecho "source /opt/rh/devtoolset-9/enable" >>/etc/profilesource /etc/profile
fi#安装目录 
#install_home=`ls $installpath | grep 'redis-.*'`
install_home=`find $installpath -name  'redis-*' -type d | awk  '{print $1}' | head -n 1`
echo "安装文件目录:$install_home"#授权
chmod 777 -R $install_home#编译运行
echo "编译运行........."
cd $install_home
make & make install
echo "编译完成........."#数据及日志目录
data_path=$install_home/data
#if [ ! -d ${path} ];then
if [ -d ${data_path} ];thenecho dir ${data_path} exist!
elsemkdir $data_pathchmod 777 -R $data_path
filogs_path=$install_home/logs
#if [ ! -d ${path} ];then
if [ -d ${logs_path} ];thenecho dir ${logs_path} exist!
elsemkdir $logs_pathchmod 777 -R $logs_path
fi#配置目录
conf_path=$install_home/redis.conf
echo "配置文件目录:$conf_path"#运行服务
EXEC=$install_home/src/redis-server
PORT=6379
param=`fuser -n tcp $PORT`
if [ "$param"="0" ]; thenecho "$SERVER_NAME is running ............."
elseecho "starting $SERVER_NAME server..........."$EXEC $conf_path
fi

redis启动脚本

进入 /opt/redis/redis-6.0.9目录,编写启动脚本
vim /opt/redis/redis-6.0.9/redis.sh

#!/bin/sh
# chkconfig: 2345 10 90  
# description: Start and Stop redis   
# wget http://download.redis.io/releases/redis-6.0.9.tar.gz
# tar -xf redis-6.0.9.tar.gz
# cd redis-6.0.9
# make & make install
##找到本机安装redis后,存放redis命令的目录
PATH=/usr/local/bin:/sbin:/usr/bin:/bin#redis的默认端口, 要和下文中的redis.conf中一致
REDISPORT=6379#redis服务端的命令
BASE_HOME=/opt/redis-6.0.9/#redis服务端的命令
EXEC=$BASE_HOME/src/redis-server#redis客户端的命令  这两个一般都在 PATH目录下
REDIS_CLI=$BASE_HOME/src/redis-cli#reids的进程文件生成的位置
PIDFILE=/var/run/redis.pid#redis的配置文件所在的目录 
CONF=$BASE_HOME/redis.conf
#AUTH="1234"  这句没什么用可以不要  function start(){echo "staring redis server..........."ps -ef | grep redis-server | grep -v grepif [ $? -eq 0 ];thenecho "redis server is running......."   elseecho "start redis server"$EXEC $CONF >$BASE_HOME/logs/redis.log 2>&1 &echo "staring redis server success !"ps -ef | grep $EXEC | grep -v grepfiecho "staring redis server end "
}function stop(){echo "stop redis server ......."param=`ps -ef | grep redis-server | grep -v grep | awk  '{print $2}'`if [ "$param" = "" ];thenecho "redis server not running"# exit 1fifor item in ${param[*]}doecho "stop process num: $item"sudo kill -9 $itemecho " stop redis server success"doneecho "staring redis server end "
}function status(){echo "check redis status......."param=`ps -ef | grep redis-server | grep -v grep | awk  '{print $2}'`if [ "$param" = "" ];thenecho "redis server not running"exit 1elseecho "redis server is running"echo $paramfi	echo "check redis server end "
}case "$1" in   start)echo "staring redis server: ${0}"stopstart;;   stop)stop;;status)status		;;                restart)   ${0} stop   ${0} start   ;;   *)   echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2  exit 1  
esac

启动:sh /opt/redis/redis-6.0.9/redis.sh start
停止:sh /opt/redis/redis-6.0.9/redis.sh stop
重启:sh /opt/redis/redis-6.0.9/redis.sh restart
查看:sh /opt/redis/redis-6.0.9/redis.sh status

chkconfig设置开机自启动

将以上脚本放入/etc/init.d/redis文件中即可。
添加开机启动服务:chkconfig --add redis
删除开机启动服务:chkconfig --del redis
设置开机启动:chkconfig redis on
关闭开机启动:chkconfig redis off

systemctl设置开机自启动

vim /etc/systemd/system/redis.service

#!/bin/bash#导入路径
export REDIS_HOME=/opt/redis-5.0.4/
export PATH=$PATH:$REDIS_HOME#服务的说明
[Unit]
#描述服务
Description=redis server
#描述服务类别
After=network.target remote-fs.target nss-lookup.target#服务运行参数的设置
[Service]
Environment="REDIS_HOME=$REDIS_HOME"
#forking是后台运行的形式
Type=forking
#启动服务的具体运行命令
ExecStart=/opt/redis-5.0.4/src/redis-server /opt/redis-5.0.4/redis.conf >/opt/redis-5.0.4/logs/redis.log 2>&1 &
#重启命令
ExecReload=/bin/kill -s HUP $MAINPID
#停止命令
ExecStop=ps -ef | grep redis-server | grep -v grep | awk '{print $2}' | xargs kill -9
#服务分配独立的临时空间
PrivateTmp=true#服务安装的相关设置,可设置为多用户
[install]
WantedBy=multi-user.target

设置开机自启动:systemctl enable redis
启动redis服务:systemctl start redis
停止redis服务:systemctl stop redis
查看redis服务:systemctl status redis

nginx脚本

vim nginx.sh

#!/bin/sh
# chkconfig: 2345 10 90  
# description: Start and Stop mongodb   #找到本机安装redis后,存放redis命令的目录
PATH=/usr/local/bin:/sbin:/usr/bin:/bin#mongodb 的默认端口, 要和下文中的redis.conf中一致
PORT=27017#mongodb 服务端的命令
BASE_HOME=/usr/local/nginxcase "$1" instart)${0} stopecho "start nginx server "sudo $BASE_HOME/sbin/nginx -c $BASE_HOME/conf/nginx.confecho "staring nginx success !"ps -ef | grep nginx | grep -v grep;;stop)echo "stop nginx ......."sudo $BASE_HOME/sbin/nginx -s stopecho "stop nginx success!"#param=`ps -ef | grep $BASE_HOME | grep -v grep | awk  '{print $2}'`#if [ "$param" = "" ];then#   echo "servr $BASE_HOME not running"#   exit 1#fi#if [ "$param" -gt 0 ];then#   kill -9 $param#   echo "stop $BASE_HOME succes !"#else#   echo "stop $BASE_HOME fail!"#fi;;	status)ps -ef | grep nginx | grep -v grep;;restart)sudo $BASE_HOME/sbin/nginx -s reloadps -ef | grep nginx | grep -v grep;;*)echo "usage: /home/nginx-server.sh {start|stop|restart}" >&2exit 1
esac

vim /etc/systemd/system/nginx.service

[Unit]
Description=nginx - high performance web server
After=network.target remote-fs.target nss-lookup.target[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
[Install]
WantedBy=multi-user.target

mysql脚本

vim nginx.sh

#!/bin/sh
# chkconfig: 2345 10 90  
# description: Start and Stop mongodb   #找到本机安装redis后,存放redis命令的目录
PATH=/usr/local/bin:/sbin:/usr/bin:/bin#mysql 的默认端口6379
PORT=6379#mysql 服务端的命令
BASE_HOME=/etc/init.d/mysqlcase "$1" instart)${0} stopecho "start $BASE_HOME server "sudo $BASE_HOME startecho "staring $BASE_HOME success !"ps -ef | grep nginx | grep -v grep;;stop)echo "stop $BASE_HOME ......."$BASE_HOME stop;;	status)$BASE_HOME status;;restart)$BASE_HOME restart ;;*)echo "usage: /home/mysql-server.sh {start|stop|restart}" >&2exit 1
esac

vim /etc/systemd/system/nginx.service

[Unit]
Description=mysql
After=network.target remote-fs.target nss-lookup.target[Service]
Type=forking
ExecStart=/etc/init.d/mysql start
#ExecReload=/etc/init.d/mysql restart
#ExecStop=/etc/init.d/mysql stop
#PrivateTmp=true[Install]
WantedBy=multi-user.target

mongodb脚本

#!/bin/sh
# chkconfig: 2345 10 90  
# description: Start and Stop mongodb   #找到本机安装redis后,存放redis命令的目录
PATH=/usr/local/bin:/sbin:/usr/bin:/bin#mongodb 的默认端口, 要和下文中的redis.conf中一致
PORT=27017#mongodb 服务端的命令
BASE_HOME=/usr/local/mongodb-linux-x86_64-rhel70-3.6.23
#数据存储目录
DATA_PATH=/home/daison/mongodata/data
#日志文件
LOG_PATH=/home/daison/mongodata/log/mongodb.logcase "$1" instart)${0} stopecho "start mongodb"echo "delete mongod.lock file"sudo rm -rf  $DATA_PATH/mongod.locksudo rm -rf  $DATA_PATH/db/mongod.locksudo $BASE_HOME/bin/mongod --dbpath $DATA_PATH --repairsudo $BASE_HOME/bin/mongod --config $BASE_HOME/bin/mongodb.confecho "staring mongodb success !"ps -ef | grep mongodb | grep -v grep;;stop)echo "stop mongodb ......."sudo $BASE_HOME/bin/mongod  --shutdown --config $BASE_HOME/bin/mongodb.confecho "stop mongodb succes !"#param=`ps -ef | grep $SERVER_NAME | grep -v grep | awk  '{print $2}'`#if [ "$param" = "" ];then#   echo "servr $SERVER_NAME not running"#   exit 1#fi##if [ "$param" -gt 0 ];then#   kill -9 $param#   echo "stop $SERVER_NAME succes !"#else#   echo "stop $SERVER_NAME fail!"#fi;;	status)ps -ef | grep mongo | grep -v grep;;reload)"$0" start;;*)echo "usage: /home/mongodb-server.sh {start|stop|restart}" >&2exit 1
esac

rabbitmq脚本

#!/bin/sh
# chkconfig: 2345 10 90  
# description: Start and Stop mongodb   #找到本机安装redis后,存放redis命令的目录
PATH=/usr/local/bin:/sbin:/usr/bin:/bin#mongodb 的默认端口, 要和下文中的redis.conf中一致
PORT=27017#mongodb 服务端的命令
BASE_HOME=/usr/lib/rabbitmqcase "$1" instart)echo "start rabbitmq-server "sudo systemctl start rabbitmq-serverecho "staring rabbitmq success !"ps -ef | grep rabbitmq-server | grep -v grep;;stop)echo "stop rabbitmq ......."sudo systemctl stop rabbitmq-serverecho "stop rabbitmq success!"#param=`ps -ef | grep $BASE_HOME | grep -v grep | awk  '{print $2}'`#if [ "$param" = "" ];then#   echo "servr $BASE_HOME not running"#   exit 1#fi#if [ "$param" -gt 0 ];then#   kill -9 $param#   echo "stop $BASE_HOME succes !"#else#   echo "stop $BASE_HOME fail!"#fi;;	status)sudo systemctl status rabbitmq-server;;restart)systemctl restart rabbitmq-serverps -ef | grep nginx | grep -v grep;;*)echo "usage: /home/nginx-server.sh {start|stop|restart}" >&2exit 1
esac

java服务脚本

vim admin-server.sh

#!/bin/sh
#chkconfig: 2345 80 05
#description: admin-server#jdk
export JAVA_HOME=/usr/local/java/jdk1.8.0_192
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
source /etc/profile#根目录
DIR=/home/encrypt/admin#启动类
SERVER_NAME=admin-server
JAR_HOME=$DIR/$SERVER_NAME-1.0.1-SNAPSHOT.jar
if [ ! -f "$JAR_HOME" ];thenecho "$JAR_HOME is not exist!"exit 1
fi
echo "start class jar dir: $JAR_HOME"#日志目录
LOGS_DIR=/home/daison/encrypt/logs
#if [ ! -d ${path} ];then
if [ -d ${LOGS_DIR} ];thenecho dir ${LOGS_DIR} exist!
elsesudo mkdir $LOGS_DIRsudo chmod 777 -R $LOGS_DIR
fi
#log file 
LOG_NAME=$LOGS_DIR/$SERVER_NAME.log
sudo echo "">$LOG_NAME
echo "log file : $LOG_NAME"#监控服务目录
SKYWALKING_HOME=/home/daison/skywalking/skywalking-6.5
echo "skywalking monitor server dir : $SKYWALKING_HOME"#java agent jar
JAVA_AGENT=-javaagent:$SKYWALKING_HOME/agent/skywalking-agent.jar
echo "javaagent cmd : $JAVA_AGENT"#service name
SERVICE_NAME=-Dskywalking.agent.service_name=$SERVER_NAME
echo "service name : $SERVICE_NAME"#backend service
BACKEND_SERVICE=-Dskywalking.collector.backend_service=8.135.42.12:11800
echo "backend service : $BACKEND_SERVICE"#启动服务
#nohup java -jar $JAR_HOME -javaagent:$SKYWALKING_HOME/agent/skywalking-agent.jar -Dskywalking.agent.service_name=daison-websocket -Dskywalking.collector.backend_service=localhost:11800 > $DIR/logs/admin.log 2>&1 &#nohup java -jar $JAR_HOME $JAVA_AGENT $SERVICE_NAME -Dskywalking.collector.backend_service=localhost:11800 > $LOG_NAME 2>&1 &
#nohup java $JAVA_AGENT $SERVICE_NAME $BACKEND_SERVICE -jar $JAR_HOME > $LOG_NAME 2>&1 &case "$1" instart)${0} stopps -ef | grep $SERVER_NAME | grep -v grepif [ $? -eq 0 ];thenecho "server is running......."   elseecho "start server $SERVER_NAME"#nohup java $JAVA_AGENT $SERVICE_NAME $BACKEND_SERVICE -jar -Xms512m -Xmx1024m $JAR_HOME > $LOG_NAME 2>&1 &$DIR/xjar java -server -Xms512m -Xmx1024m -jar $JAR_HOME > $LOG_NAME 2>&1 &echo "staring server success !"ps -ef | grep $SERVER_NAME | grep -v grepfi;;stop)echo "stop server $SERVER_NAME ......."param=`ps -ef | grep $SERVER_NAME | grep -v grep | awk  '{print $2}'`if [ "$param" = "" ];thenecho "servr $SERVER_NAME not running"exit 1fifor item in ${param[*]}doecho "stop process num: $item"sudo kill -9 $itemecho " stop $SERVER_NAME success"done;;	status)param=`ps -ef | grep $SERVER_NAME | grep -v grep`if [ "$param" = "" ];thenecho "servr $SERVER_NAME not running"exit 1elseecho "server $SERVER_NAME is running "echo $paramfi;;restart)${0} stop${0} start;;*)echo "usage: /home/daison/admin/admin-server.sh {start|stop|restart}" >&2exit 1
esac

启动:sh admin-server.sh start
停止:sh admin-server.sh stop
查看服务状态:sh admin-server.sh status

删除日志

vim delete-log.sh

#!/bin/sh
#chkconfig: 2345 80 05
#description: admin-server#jdk
export JAVA_HOME=/usr/local/jdk1.8.0_192
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
source /etc/profile#根目录
DIR=/home/sysop#日志目录
LOGS_DIR=$DIR/logs
#if [ ! -d ${path} ];then
if [ -d ${LOGS_DIR} ];thenecho dir ${LOGS_DIR} exist!
elsesudo mkdir $LOGS_DIRsudo chmod 777 -R $LOGS_DIR
fi
#log file 
LOG_NAME=$LOGS_DIR/$SERVER_NAME.log
echo "log file : $LOG_NAME"#delete log file
function delete_log_zip(){echo "删除 $LOGS_DIR 目录下的所有zip日志文件开始"sudo rm -rf $LOGS_DIR/admin-*.zipecho "删除 $LOGS_DIR 目录下的所有zip日志文件完成"
}#clean log file
function clean_log(){echo "清空 $LOGS_DIR 目录下的日志文件内容开始"sudo echo "">$LOGS_DIR/admin.logecho "清空 $LOGS_DIR 目录下的日志文件内容完成"
}#delete temp file
function delete_tmp(){echo "删除 $LOGS_DIR 目录下的所有tmp临时日志文件开始"sudo rm -rf $LOGS_DIR/admin-*.tmpecho "删除 $LOGS_DIR 目录下的所有tmp临时日志文件完成"
}#delete log file
function delete_log_dir(){echo "删除 $LOGS_DIR 目录下的所有日志文件及目录开始"sudo rm -rf $LOGS_DIR/*echo "删除 $LOGS_DIR 目录下的所有日志文件及目录完成"
}#检查服务开启
t=$(date "+%Y-%m-%d %H:%M:%S")
echo "delete log server start ............"
echo "time: $t"while true
do
cat <<EOF
****************************************the flowing is optional
*****************************************1) delete_log_zip2) delete_log_dir3) clean_log4) delete_tmp5) 99) 全部服务(1-10)
****************************************
EOFread -p "please enter your chioce:" option
case $option in1)delete_log_zip;;2)delete_log_dir;;3)clean_log;;4)delete_tmp;;5);;99);;*)echo "option is inviald."echo "usage: /home/script/delete-log.sh {1-99}" >&2exit 1
esac
done

定时任务

vim /etc/crontab

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root# For details see man 4 crontabs# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed#minute|hour|day-of-month|month|day-of-week|full-path-to-shell-script
# minute: 区间为 0 – 59 
# hour: 区间为0 – 23 
# day-of-month: 区间为0 – 31 
# month: 区间为1 – 12. 1 是1月. 12是12月. 
# Day-of-week: 区间为0 – 7. 周日可以是0或7.
# full-path-to-shell-script: 脚本全路径#每小时执行一次服务检查命令
* */1 * * * /home/daison/admin/script/check-server.sh 98

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/1274.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python数据挖掘项目开发实战:利用神经网络破解验证码

注意&#xff1a;本文的下载教程&#xff0c;与以下文章的思路有相同点&#xff0c;也有不同点&#xff0c;最终目标只是让读者从多维度去熟练掌握本知识点。 下载教程&#xff1a;Python数据挖掘项目开发实战_用神经网络破解验证码_编程案例解析实例详解课程教程.pdf 使用Pyth…

【小浩算法cpp实现】删除链表的倒数第n个节点

目录 前言我的思路思路一思路二 我的代码 前言 今天继续学习算法&#xff0c;前几天觉得数组的题还是简单了&#xff0c;今天换个链表的&#xff0c;没想到也是考研期间学过的比较经典的链表算法&#xff0c;就当复习cpp啦&#xff01; 我的思路 首先我觉得大家应该已经懂了…

pdf在线免费转word网站推荐,纯免费、不注册

pdf在线免费转word网站推荐&#xff0c;纯免费、不注册 pdf在线免费转word文档 https://orcc.online/pdf 不限次数、免费不需要注册&#xff0c;上传之后过一段时间&#xff0c;右侧就会出现转换完成的word文档。 其他工具 时间戳转换 https://orcc.online/timestamp Base…

Nature Climate Change 高引文章 | 朴世龙院士团队等揭示全球变绿及其驱动因子

植被是生物圈的关键组成部分&#xff0c;对调节地球气候和提供生态系统服务具有重要作用。陆地植被生长对全球变化非常敏感。工业革命以来&#xff0c;大气二氧化碳浓度升高、气候变暖、氮沉降增加和土地利用变化等因子&#xff0c;通过复杂的生物物理化学过程&#xff0c;对陆…

Dubbo 集群容错常见方案

Failover Cluster&#xff1a; 失败自动切换&#xff0c;自动重试其它服务器&#xff08;默认&#xff09; Failfast Cluster&#xff1a; 快速失败&#xff0c;立即报错&#xff0c;只发起一次调用 Failsafe Cluster&#xff1a; 失败安全&#xff0c;出现异常时&#xff0c…

Android开发——Fragment

Demo fragment_blank.xml <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_pare…

韩顺平Java | C25 JDBC和连接池(中)

JDBCUtils工具类 JDBC操作中获取连接和释放资源操作可以封装到JDBCUtils工具类中。 工具类代码 完成mysql的连接和关闭资源 package com.hspedu.jdbc.utils; import java.io.FileInputStream; import java.io.IOException; import java.sql.*; import java.util.Properties…

数据结构--双向链表

在讲双向链表之前&#xff0c;我们先了解一下链表的分类&#xff1a; 链表的结构⾮常多样&#xff0c;主要分为带头与不带头、单向与双向、循环与不循环。三个种类可以任意搭配&#xff0c;所以总共可以形成八种链表&#xff0c;但是最常用的是单向不带头不循环链表和双向带头循…

如何从零开始创建React应用:简易指南

&#x1f31f; 前言 欢迎来到我的技术小宇宙&#xff01;&#x1f30c; 这里不仅是我记录技术点滴的后花园&#xff0c;也是我分享学习心得和项目经验的乐园。&#x1f4da; 无论你是技术小白还是资深大牛&#xff0c;这里总有一些内容能触动你的好奇心。&#x1f50d; &#x…

经典目标检测YOLOV1模型的训练及验证

1、前期准备 准备好目录结构、数据集和关于YOLOv1的基础认知 1.1 创建目录结构 自己创建项目目录结构&#xff0c;结构目录如下&#xff1a; network CNN Backbone 存放位置 weights 权重存放的位置 test_images 测试用的图…

Tomcat命令行窗口、IDEA中Tomcat控制台 中文乱码问题解决方案

Tomcat出现中文乱码问题 打开Tomcat文件夹下的conf/logging.properties文件&#xff0c;将下图位置中的编码由UTF-8全部替换成GBK 然后重启Tomcat服务器&#xff0c;问题解决 Intellij IDEA启动Tomcat服务器控制台出现中文乱码 解决方案非常简单&#xff0c;按照下图设置控制…

【MySQL】表的增删改查

目录 前言&#xff1a; 新增&#xff08;Create&#xff09;&#xff1a; 查询&#xff08;Retrieve&#xff09;&#xff1a; 别名&#xff1a; 去重&#xff1a;DISTINCT 排序&#xff1a;ORDER BY &#xff1a; 条件查询&#xff1a;WHERE &#xff1a; 分页查询&am…

c++实数排序

例&#xff1a;数的三次方跟 描述&#xff1a;给定一个浮点数n&#xff0c;求它的三次方根。 输入描述&#xff1a;一个浮点数 输出描述&#xff1a;问题的解 保留6位小数 #include<bits/stdc.h> using namespace std; double n,eps1e-8; bool check (double x){retu…

【新手入门必看】从零开始学指针

我使用VS CODEMSYS2的编译环境进行学习&#xff0c;想使用VS CODE进行C/C代码编写的小伙伴参考这篇文章进行环境配置VS Code 配置 C/C 编程运行环境&#xff08;保姆级教程&#xff09; 一、指针的引入 指针地址 #include <stdio.h>int main() {int a 10;printf(&quo…

Git的操作和使用

一、基本操作 1、创建git本地仓库 &#xff08;1&#xff09;创建目录&#xff1a;mkdir gitcode &#xff08;2&#xff09;进入目录&#xff1a;cd gitcode/ &#xff08;3&#xff09;查询目录内容&#xff1a;ls &#xff08;4&#xff09;在当前目录下创建git本地仓库…

java算法day3

移除链表元素设计链表翻转链表两两交换链表中的结点 移除链表元素 ps&#xff1a;有时候感觉到底要不要写特判&#xff0c;你想到了就写&#xff01;因为一般特判有一劳永逸的作用。 解法有两种&#xff0c;一种是不用虚拟头结点&#xff0c;另一种就是用虚拟头结点。 这里我…

QT中表格控件使用

一、QTableView表头设置样式 //控件样式 QString setcolor"QHeaderView{""border:0px solid #ffffff;""outline:0px;""background:#000000;""}""QHeaderView::section:horizontal:first{""border:1px solid…

React-基础语法学习

1、教程&#xff1a;井字棋游戏 本教程将引导你逐步实现一个简单的井字棋游戏&#xff0c;并且不需要你对 React 有任何了解。在此过程中你会学习到一些编写 React 程序的基本知识&#xff0c;完全理解它们可以让你对 React 有比较深入的理解。 1.1、教程分成以下几个部分&am…

3D感知生成对抗网络的高斯溅射解码器

Gaussian Splatting Decoder for 3D-aware Generative Adversarial Networks 3D感知生成对抗网络的高斯溅射解码器 Florian Barthel1, 2  Arian Beckmann1  Wieland Morgenstern1  Anna Hilsmann1  Peter Eisert1,2 Florian Barthel 1, 2 阿里安贝克曼Wieland晨星Anna Hils…

关于动画这一篇就够了

Android动画框架是一个强大的工具集合&#xff0c;用于创建和管理各种动画效果。它提供了一系列的类和接口&#xff0c;使得开发者能够轻松地定义和控制动画的行为&#xff0c;包括动画的持续时间、插值器、动画类型等。在Android中&#xff0c;动画主要分为三类&#xff1a;补…