Linux 服务器环境搭建

一、安装 JDK

官网下载地址:https://www.oracle.com/java/technologies/downloads

# 创建目录
mkdir /usr/local/java/# 解压
tar -zxvf jdk-8u333-linux-x64.tar.gz -C /usr/local/java/# 配置环境变量
vim /etc/profileexport export JAVA_HOME=/usr/local/java/jdk1.8.0_211
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH# 环境变量生效
source /etc/profile# 添加软连接
ln -sf /usr/local/java/jdk1.8.0_211/bin/java /usr/bin/java# 检查版本
java -version

二、安装 Maven

# 下载
wget https://archive.apache.org/dist/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz# 创建目录
mkdir /usr/local/maven/# 解压
tar -zxvf apache-maven-3.5.4-bin.tar.gz -C /usr/local/maven/# 配置环境变量
vim /etc/profileexport MAVEN_HOME=/usr/local/maven/apache-maven-3.5.4
export PATH=${PATH}:${MAVEN_HOME}/bin# 环境变量生效
source /etc/profile# 检查版本
mvn -v

三、安装 Git 

通过源码编译安装,下载地址:https://github.com/git/git/tags

# 下载
wget ttps://github.com/git/git/archive/refs/tags/v2.44.0.tar.gz# 创建目录
mkdir /usr/local/git/# 安装依赖
yum install curl-devel expat-devel openssl-devel zlib-devel gcc-c++ 
yum install perl-ExtUtils-MakeMaker automake autoconf libtool make# 解压
tar -zxvf git-2.44.0.tar.gz -C /usr/local/git/# 编译安装
cd /usr/local/git/git-2.44.0make prefix=/usr/local/git all
make profix=/usr/local/git install# 配置环境变量
vim /etc/profileexport PATH="/usr/local/git/bin:$PATH"# 环境变量生效
source /etc/profile# 检查版本
git --version# 卸载
yum remove git

四、安装 MySQL

1、MySQL5.7 安装

下载地址:https://www.mysql.com/downloads

# 创建 mysql 帐号
groupadd mysql
useradd -r -g mysql -s /bin/false mysql# 创建目录
mkdir /usr/local/mysql/# 解压
tar -zxvf mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz -C /usr/local/# 解压后的文件移到创建mysql的安装目录下
mv mysql-5.7.21-linux-glibc2.12-x86_64/* /usr/local/mysql/rm –rf mysql-5.7.21-linux-glibc2.12-x86_64# 创建数据库保存位置
mkdir /usr/local/mysql/data/# 设置 mysql 安装目录和数据库保存目录文件权限
chown -R mysql:mysql  /usr/local/mysql
chmod -R 750 /usr/local/mysql# 初始化数据库,注意:记录好这个临时密码,第一次登录要用到
cd /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/# 安装 SSL
cd /usr/local/mysql/bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data/# 修改系统配置参数
cp  mysql-log-rotate /etc/my.cnf
cp  mysql.server /etc/init.d/mysql# 修改 /etc/init.d/mysql
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data/# 修改 /etc/my.cnf , 添加如下配置
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data/
socket=/tmp/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/usr/local/mysql/mysqld.pid
# 不区分大小写
lower_case_table_names = 1
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
max_connections=5000
default-time_zone = '+8:00'# 创建 /usr/local/mysql/mysqld.pid 文件:
touch /usr/local/mysql/mysqld.pid# 创建连接
ln -s /usr/local/mysql/bin/mysql /usr/bin/
ln -s /usr/local/mysql/bin/mysqladmin /usr/bin/# 启动
service mysql start# 修改密码(输入初始化保存的密码),设置成功后输入 exit 退出
mysql -u root –pset password=password('root');# 设置开机启动
chkconfig --list mysql
chkconfig --add mysql
chkconfig mysql on# 设置环境变量
vim ~/.bash_profileexport MYSQL_HOME=/usr/local/mysql/
export PATH=$MYSQL_HOME/bin:$PATH# 环境变量生效
source ~/.bash_profile

2、MySQL8.0 安装

# 创建 mysql 帐号
groupadd mysql
useradd -g mysql mysql# 下载
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xzhttps://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
xz -d mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
tar xvf mysql-8.0.20-linux-glibc2.12-x86_64.tar -C /usr/local/# 解压后的文件移到创建mysql的安装目录下
mv mysql-8.0.20-linux-glibc2.12-x86_64/* /usr/local/mysql/
rm –rf mysql-8.0.20-linux-glibc2.12-x86_64# 创建数据库保存位置
mkdir /usr/local/mysql/data/# 设置 mysql 安装目录和数据库保存目录文件权限
chown -R mysql:mysql  /usr/local/mysql
chmod -R 750 /usr/local/mysql# 修改 /etc/my.cnf , 添加如下配置:
[mysqld]
user=root
datadir=/usr/local/mysql/data
basedir=/usr/local/mysql
port=3306
max_connections=200
max_connect_errors=10
character-set-server=utf8
default-storage-engine=INNODB
default_authentication_plugin=mysql_native_password
lower_case_table_names=1
group_concat_max_len=102400
[mysql]
default-character-set=utf8
[client]
port=3306
default-character-set=utf8# 初始化基础信息,最后一行后面会有个随机的初始密码保存下来一会登录要用(如果忘记了就删掉data重新初始化)
cd /usr/local/mysql/bin
./mysqld --initialize# 如果提示: ./mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory
# 就执行下下面这个再执行初始化
yum install -y libaio
yum -y install numactl./mysqld --initialize# 添加mysqld服务到系统
cd /usr/local/mysql
cp -a ./support-files/mysql.server /etc/init.d/mysql# 授权以及添加服务
chmod +x /etc/init.d/mysql
chkconfig --add mysql# 启动
service mysql start# 将mysql添加到命令服务
ln -s /usr/local/mysql/bin/mysql /usr/bin# 修改密码(输入刚刚初始化时生成的密码)
mysql -uroot -p# 如果提示: mysql: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory
cd /usr/local/mysql/binldd mysql
sudo ln -s /usr/lib64/libtinfo.so.6.1 /usr/lib64/libtinfo.so.5# 更改root用户密码, 注意语句后的; 执行语句忘记写了 可以补个空的;回车也可以将语句执行
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
mysql> flush privileges;# 更改root连接权限(远程连接)
mysql> use mysql;
mysql> update user set host='%' where user = 'root';
mysql> flush privileges;
mysql> exit;

 五、安装 Nginx

# 安装 gcc、PCRE pcre-devel、zlib、Open SSL
yum install gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel# 下载
wget http://nginx.org/download/nginx-1.23.0.tar.gz# 创建文件夹
mkdir nginxcd /usr/local/nginx# 解压缩包
tar -xvf nginx-1.23.0.tar.gz# 安装
cd /usr/local/nginx/nginx-1.23.0 # 编译 执行命令 考虑到后续安装ssl证书 添加两个模块  如不需要直接执行./configure即可
./configure --with-http_stub_status_module --with-http_ssl_module# 执行make命令(要是执行不成功请检查最开始安装的四个依赖有没有安装成功)
make# 执行make install命令
make install# 启动
cd /usr/local/nginx/sbin
./nginx# 指定配置文件启动
./nginx -c  /usr/local/nginx/conf/nginx.conf# 设置开机自启动
vim /etc/rc.local/usr/local/nginx/sbin/nginx # 最底部增加这一行# 配置 SSL 证书
# 先申请好证书,在/usr/local/nginx/conf/目录下创建文件夹 cert:
mkdir cert# 修改 nginx.conf 文件
server {listen       443 ssl;server_name  www.tansci.com;# 证书配置ssl_certificate      cert/tansci.com_bundle.crt;ssl_certificate_key  cert/tansci.com.key;ssl_session_cache    shared:SSL:1m;ssl_session_timeout  5m;ssl_ciphers  HIGH:!aNULL:!MD5;ssl_prefer_server_ciphers  on;location / {root   /usr/web;index  index.html index.htm;try_files $uri $uri/ /index.html;}# 静态文件代理location /static {root /usr/web;autoindex on;}# api 接口代理location /api/ {proxy_pass http://localhost:8080/;add_header 'Access-Control-Allow-Origin' '*';add_header 'Access-Control-Allow-Credentials' 'true';add_header 'Access-Control-Allow-Methods' 'GET, POST';proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;proxy_set_header X-Forwarded-Port $server_port;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header REMOTE-HOST $remote_addr;}
}

六、安装 FTP 

# 检查是否安装 vsftpd
rpm -qa | grep vsftp# 安装 vsftpd
yum -y install vsftpd # 如果报错,使用管理员权限执行 sudo yum -y install vsftpd# 关闭匿名访问 (关闭匿名访问就是将:anonymous_enable=NO)
vim /etc/vsftpd/vsftpd.conf # 如果提示是只读文件,输入命令:sudo vim /etc/vsftpd/vsftpd.conf# ========== 修改内容 ====start==============
# Allow anonymous FTP? (Beware - allowed by default if you comment this out).
anonymous_enable=NO
# ========== 修改内容 ====end==============# 启动服务
systemctl start vsftpd.service# 查看服务状态
systemctl status vsftpd.service # 看到绿色的 active(running),代表着启动成功正在运行中# 添加 FTP 用户设置密码 (因为在 Linux 上,root 用户是不能登陆 FTP 的。如果你输入的是 root 用户,登陆会失败的)
adduser ftpadmin
passwd ftpadmin # 输入两次密码就 ok 了# 文件存储地址授权
chmod 777 /app/upload/

七、安装 Minio

# 创建目录
[root@t2 local]# mkdir minio
[root@t2 local]# cd minio
[root@t2 minio]# mkdir data# 下载
[root@t2 minio]# wget https://dl.min.io/server/minio/release/linux-amd64/minio
[root@t2 minio]# chmod +x minio  # 赋权# 设置账号密码(minio 默认账号密码为 minioadmin/minioadmin)
[root@t2 minio]# export MINIO_ACCESS_KEY=admin # 设置控制台账号(最少3位)
[root@t2 minio]# export MINIO_SECRET_KEY=12345678 # 设置密码(最少8位)# 直接设置管理员账号密码 编辑 /etc/profile 文件即可
[root@t2 minio]# vim /etc/profile# set minio environment
export MINIO_ROOT_USER=admin
export MINIO_ROOT_PASSWORD=admin123# 启动(进入执行文件目录,自定义端口启动(默认端口:9000))
[root@t2 minio]# nohup /usr/local/minio/minio server --address :9001 --console-address :9002 /usr/local/minio/data >/usr/local/minio/minio.log 2>&1 &# 设置开机自启动
[root@t2 minio]# cd /etc/rc.d/init.d
[root@t2 init.d]# vim minio.sh # 新建shell脚本文件#!/bin/bash
#chkconfig: 2345 10 90
#description: ping10
nohup /usr/local/minio/minio server --address :9001 --console-address :9002 /usr/local/minio/data >/usr/local/minio/minio.log 2>&1 &
# 给shell脚本赋权
chmod +x minio.sh
# 添加到开机自启动服务中
chkconfig --add minio.sh
# 设置开机自启动
chkconfig minio.sh on
# 查看是否添加成功
chkconfig --list

八、安装 Redis

下载地址:https://download.redis.io/releases

# 下载
wget http://download.redis.io/releases/redis-6.0.8.tar.gz# 解压
tar -zxvf redis-6.0.8.tar.gz# 升级 gcc(redis-6.0 以上需将 gcc 升级至 9.0 以上)
gcc -v# 升级
yum -y install centos-release-sclyum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils# scl命令启用只是临时的
scl enable devtoolset-9 bash# 长期生效
echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile# make && make install
make# 修改 redis.conf 配置(远程连接)daemonize yes # daemonize 修改为 nobind 127.0.0.1 # 注掉 bind 127.0.0.1protected-mode no # protected-mode yes 修改为 norequirepass demo@202403  # 设置密码# 启动
cd /usr/local/redis/src./redis-server ../redis.confps -ef | grep redis

九、安装 Elasticsearch

# 创建用户组名
groupadd elsearch  #【添加组】【用户组名】
useradd elsearch -g elsearch -p elsearch #【添加用户】【用户名】-g【用户组名】-p【密码值】# 下载
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.16.2-linux-x86_64.tar.gz# 解压
tar -zxvf elasticsearch-7.16.2-linux-x86_64.tar.gz# 设置权限到elsearch用户
chown -R elsearch:elsearch /usr/local/elasticsearch-7.16.2# 修改配置文件 elasticsearch.yml
cd /usr/local/elasticsearch-7.16.2/configvim elasticsearch.yml
# ========== 修改内容 ====start==============
# 集群名称(按实际需要配置名称)
cluster.name: my-elasticsearch
# 节点名称
node.name: node-1
# 数据路径(按实际需要配置日志地址)
path.data: /usr/local/elasticsearch-7.16.2/data
# 日志路径(按实际需要配置日志地址)
path.logs: /usr/local/elasticsearch-7.16.2/logs
# 地址(通常使用内网进行配置)
network.host: 127.0.0.1
# 端口号
http.port: 19200
# 节点地址
discovery.seed_hosts: ["127.0.0.1", "[::1]"]
# 集群master
cluster.initial_master_nodes: ["node-1"]
# 跨域(这两项配置手动添加一下)
http.cors.enabled: true 
http.cors.allow-origin: "*"
# ========== 修改内容 ====end==============# 修改 Elasticsearch 启动脚本(修改 bin 目录下的elasticsearch文件)
vim bin/elasticsearch# ========== 修改内容 =====start=============
# 配置jdk
export JAVA_HOME=JAVA_HOME=/usr/local/java/jdk1.8.0_211/
export PATH=$JAVA_HOME/bin:$PATH# 添加jdk判断
if [ -x "$JAVA_HOME/bin/java" ]; thenJAVA="/usr/local/java/jdk1.8.0_211/bin/java"
elseJAVA=`which java`
fi
# ========== 修改内容 =====end=============# 启动,切换到 elsearch 用户
su elsearch# 后台方式启动
./elasticsearch -d # 查看日志,是否启动成功
cd /usr/local/elasticsearch-7.16.2/logs
tail -fn 100 /usr/local/elasticsearch-7.16.2/logs/my-elasticsearch.log# 安装 Elasticsearch-head 插件
# 下载
wget https://github.com/mobz/elasticsearch-head/archive/master.zip# 解压
unzip master.zip# 安装 grunt
cd /usr/local/elasticsearch-head
npm install -g grunt-cli# 修改所有域名访问,添加 hostname:“*”,进入elasticsearch-head目录
cd elasticsearch-head# 修改Gruntfile.js
vim Gruntfile.js# ========== 修改内容 =====start=============
connect: {server: {options: {hostname: '*',port: 9100,base: '.',keepalive: true}}
}
# ========== 修改内容 =====end=============# 启动
# 下载依赖
npm install# 启动
cnpm run start# 后台启动
nohup ./grunt server >/dev/null 2>&1 &

十、安装 ActiveMQ

ActiveMQ 是依赖 jdk 的,如果没有安装,请先安装。

  • 服务配置文件 activemq.xml,按需修改即可;

  • 前端管理界面配置文件 jetty.xml,在此文件中可修改前端访问端口。

下载地址:https://activemq.apache.org/components/classic/download/

# 下载安装
[root@localhost  local]# wget https://archive.apache.org/dist/activemq/5.16.5/apache-activemq-5.16.5-bin.tar.gz
[root@localhost  local]# tar -zxvf apache-activemq-5.16.5-bin.tar.gz# 启动activemq
[root@localhost bin]# ./activemq start   # 需在activemq的bin目录执行# 查看状态
[root@localhost bin]# ./activemq status# 重启activemq
[root@localhost bin]# ./activemq restart  # 停止activemq
[root@localhost bin]# ./activemq stop# 更改admin密码及创建用户
[root@localhost bin]# vim ../conf/jetty-realm.properties# Defines users thatcan access# userame: password,rolename
# username: password [,rolename ...]
admin: 1QAZxsw2#eDC, admin
user: user, user# 添加开机启动
# 进入MQ的bin目录,复制activemq到/etc/init.d目录下面
[root@localhost bin]# cp activemq /etc/init.d/# 进入系统初始化目录
[root@localhost bin]# cd /etc/init.d/activemq# 编辑/etc/init.d/activemq文件
[root@localhost bin]# vim /etc/init.d/activemq
export JAVA_HOME=/usr/local/jdk1.8.0_144
export ACTIVEMQ_HOME=/usr/local/apache-activemq-5.16.5/# 将activemq添加至配置文件
[root@localhost local]# chkconfig --add activemq
[root@localhost local]# chkconfig --list 

 十一、安装 OpenCV

下载地址:https://github.com/opencv/opencv/releases

# 安装 cmake 和 opencv 的依赖
[root@localhost local]#  yum -y install gcc gcc-c++ gtk±devel gimp-devel gimp-devel-tools gimp-help-browser zlib-devel libtiff-devel libjpeg-devel libpng-devel gstreamer-devel libavc1394-devel libraw1394-devel libdc1394-devel jasper-devel jasper-utils swig python libtool nasm build-essential ant# 安装cmake
# 下载
[root@localhost local]# wget https://cmake.org/files/v3.3/cmake-3.3.2.tar.gz
[root@localhost local]# tar xzvf cmake-3.3.2.tar.gz
[root@localhost local]# cd cmake-3.3.2
[root@localhost cmake-3.3.2]# ./bootstrap
[root@localhost cmake-3.3.2]# make install
[root@localhost cmake-3.3.2]# cmake --version  # 查看cmake版本# 安装OpenCV
# 创建安装目录
[root@localhost local]# mkdir opencv_make
[root@localhost local]# cd opencv_make
[root@localhost opencv_make]# mkdir release# 解压
[root@localhost opencv_make]# unzip opencv-4.1.1.zip
[root@localhost opencv_make]# cd opencv-4.1.1# 创建编译目录
[root@localhost opencv-4.1.1]# mkdir build
[root@localhost build]# cd build# 安装编译
[root@localhost build]# cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv_make/release -DBUILD_TESTS=OFF ..
[root@localhost build]# make -j8 & make# 安装成功
[root@localhost build]# cd lib# 编译时间比较长, 请耐心等待;编译中的警告可以忽略。
# 启动应用服务,如果报错 opencv_java411.so 找不到,将 /usr/local/opencv_make/build/lib/ 下的此文件复制到 /usr/lib/ 即可。[root@localhost lib]# cp /usr/local/opencv_make/build/lib/opencv_java411.so /usr/lib/

十二、安装 Node

下载地址:https://registry.npmmirror.com/binary.html

# 下载
wget https://registry.npmmirror.com/-/binary/node/latest-v14.x/node-v14.18.2-linux-arm64.tar.gz# 解压
tar -zxvf node-v14.18.2-linux-arm64.tar.gz
mv node-v14.18.2-linux-arm64 /usr/local/node# 配置环境变量
vim /etc/profileexport PATH=$PATH:/usr/local/node/bin # 环境变量生效
source /etc/profile# 查看版本
node -v# 配置镜像加速# 查看镜像配置
npm config get registry
# 设置淘宝镜像
npm config set registry https://registry.npm.taobao.org
# 恢复初始镜像
npm configset registry https://registry.npmjs.org

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

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

相关文章

【Linux】进程信号_4

文章目录 八、进程信号3. 信号的处理4. 可重入函数5. volatile 未完待续 八、进程信号 3. 信号的处理 当某个信号的处理函数被调用时,操作系统会自动将当前信号假如进程的信号屏蔽字当中。如果处理完该信号,该信号同样也会自动从信号屏蔽字中 移除。该…

马尔科夫假设

马尔科夫假设 马尔科夫假设(Markov Assumption),也称为无记忆假设,它假设在给定当前状态的情况下,未来的状态只依赖于当前状态,而与过去的状态序列无关。在强化学习中,如果这个假设不成立&…

Apache Seata core 模块源码分析

本文来自 Apache Seata官方文档,欢迎访问官网,查看更多深度文章。 本文来自 Apache Seata官方文档,欢迎访问官网,查看更多深度文章。 一 . 导读 core 模块定义了事务的类型、状态,通用的行为,client 和 s…

毕业季有感

本文介绍一些刚毕业、即将入职前的随想与心得。 毕业和上班无缝衔接。要离开北京了,来到天津。 我一向很喜欢探索新环境,每一次要到新的学校、新的城市、新的单位都会很激动;这一次也是一样,在一开始几乎只有对新环境的憧憬。但是…

zoom缩放问题(关于ElementPlus、Echarts、Vue3draggable等组件偏移问题)

做了一个项目下来&#xff0c;由于整体界面偏大&#xff0c;采取了缩放90%&#xff0c;导致很多组件出现偏移问题&#xff0c;以下我会把我遇到的各种组件偏移问题依次进行描述解答&#xff1a; ElementPlus选择器下拉偏移 <template><el-select :teleported"f…

7.6第三天作业

一、在数据库中创建一个表student&#xff0c;用于存储学生信息 CREATE TABLE student( id INT PRIMARY KEY, name VARCHAR(20) NOT NULL, grade FLOAT ); &#xff08;1.&#xff09;先创建一个数据库 &#xff08;2.&#xff09;创建student表 查看是否创建成功 1、向studen…

http读书笔记

持久化 HTTP/1.1 和一部分的 HTTP/1.0 想出了 持久连接&#xff08;HTTP Persistent Connections&#xff0c; 也称为 HTTP keep-alive 或 HTTP connection reuse&#xff09; 的方法。 持久连接的特点是&#xff0c; 只要任意一端 没有明确提出断开连接&#xff0c; 则保持 T…

MySQL第三天作业

一、在数据库中创建一个表student&#xff0c;用于存储学生信息 CREATE TABLE student( id INT PRIMARY KEY, name VARCHAR(20) NOT NULL, grade FLOAT ); 1、向student表中添加一条新记录 记录中id字段的值为1&#xff0c;name字段的值为"monkey"…

【Linux】查找命令——which,type,find,whereis,locate

命令与文件的查找 文件的查找可就厉害了&#xff0c;因为我们常常需要知道哪个文件放在哪里&#xff0c;才能够对该文件进行一些修改或维护等操作。 有时候某些软件配置文件的文件名是不变的&#xff0c;但是各Linux发行版放置的目录则不同。 此时就要利用一些查找命令将该配…

【linux/shell】shell中实现函数重载

在 shell 脚本中&#xff0c;函数重载&#xff08;Function Overloading&#xff09;的概念与一些编程语言&#xff08;如 Java 或 C#&#xff09;中的函数重载不同。在这些编程语言中&#xff0c;你可以定义多个同名函数&#xff0c;只要它们的参数列表不同。然而&#xff0c;…

C语言基础全解:细说每个知识点

目录 1. 进制转换方法 1.1 二进制转十进制 1.2 十进制转二进制 1.3 二进制转八进制 1.4 二进制转十六进制 1.5 八进制转二进制 1.6 十六进制转二进制 2. 进制简介 特别注意 C语言基础元素概览 1. 关键字分类 1.1 存储类型关键字 1.2 数据类型关键字 1.3 构造类型…

25.【C语言】循环结构之for 上

1.基本使用 类比while 在while循环中&#xff0c;有三个不可或缺的部分&#xff1a;初始化&#xff0c;判断部分&#xff0c;调整部分 int i 0;//初始化 while (i < 10)//判断部分 {……i;//调整部分 }三个部分太分散&#xff0c;用for循环可集为一体&#xff0c;简洁 …

使用shell脚本实现DM8开机自动启动

编写shell脚本 #!/bin/bashsu -dmdba >>EOF cd /home/dmdba/dmdbms/bin ./DmServiceDMTEST start echo "dm start ... " EOF注意&#xff1a;DmServiceDMTEST每个服务器设置的不一样&#xff0c;根据实际进行更换 授权脚本可执行权限 chmod -x /dmdata/dmse…

Kotlin中的关键字

Kotlin 中的关键字可分为几个大类&#xff1a; 声明/定义关键字&#xff1a; class&#xff1a;用于定义类interface&#xff1a;用于定义接口object&#xff1a;用于声明对象&#xff0c;Kotlin中实现单例模式的关键字fun&#xff1a;用于声明函数var&#xff1a;用于声明可变…

目标检测精度提升秘籍:算法优化策略全解析

标题&#xff1a;目标检测精度提升秘籍&#xff1a;算法优化策略全解析 目标检测是计算机视觉领域的核心技术之一&#xff0c;广泛应用于视频监控、自动驾驶、医疗成像等领域。然而&#xff0c;提升目标检测算法的准确性是一个持续的挑战。本文将深入探讨如何优化目标检测算法…

web学习笔记(七十九)

目录 1.全局共享数据的用法 2.小程序的本地持久化存储 3.小程序获取头像和用户昵称 4.如何实现进入页面就隐藏TabBar 1.全局共享数据的用法 小程序中的全局数据再app.js文件中声明&#xff0c;app本来就是小程序给我们配置的全局文件&#xff0c;因此在app.js文件中声明的…

数据结构第12节 有向图

有向图&#xff08;Directed Graph 或 Digraph&#xff09;是一种图数据结构&#xff0c;其中的边具有方向性。这意味着在一个有向图中&#xff0c;边可以被视为箭头&#xff0c;箭头从一个顶点指向另一个顶点&#xff0c;表示从起点到终点的单向关系。有向图的这种特性使得它在…

搭建互联网医院实战:从源码到在线问诊APP的全流程开发

今天&#xff0c;笔者将讲述在线问诊APP的全流程开发&#xff0c;帮助开发者理解和掌握搭建互联网医院的核心技术和步骤。 一、需求分析与设计 需求分析包括明确目标用户、功能需求、性能需求等。设计阶段则包括系统架构设计、数据库设计和前后端界面设计等。 1.目标用户&…

最小权顶点覆盖问题-优先队列分支限界法-C++

问题描述: 给定一个赋权无向图 G(V,E)&#xff0c;每个顶点 v∈V 都有一个权值 w(v)。如果 U⊆V&#xff0c;U⊆V&#xff0c;且对任意(u,v)∈E 有 u∈U 或 v∈U&#xff0c;就称 U 为图 G 的一个顶点覆盖。G 的最小权顶点覆盖是指 G 中所含顶点权之和最小的顶点覆盖。对于给定…

提取重复数据

直接上控制台代码&#xff1a; Module Module1Sub Main()Console.WriteLine("请输入数据&#xff0c;以""&#xff0c;""相隔&#xff1a;")Dim str As String Console.ReadLineDim result From x In str.Split(",")Group By x Int…