Web服务器集群: kylin 部署 Halo博客系统

目录

  一、实验

1.环境

2. kylin 部署mysql数据库

3. kylin 构建Java运行环境

4. 创建博客使用的数据库

5. kylin 部署 halo博客系统

6. kylin 部署nginx

7. kylin 使用 SSL证书基于https访问部署的博客系统

二、问题

1.mysql安装报错

2.查看mysql数据库报错

3.systemd服务如何实现脚本编写与管理

4. Linux软件安装

5.安装 OpenJDK 11 两种方式

 6. Halo 如何下载不同版本与配置文件

7.Halo 服务启动失败

8. Halo 附件上传报错


  一、实验

1.环境

(1)主机

表1  主机

主机架构版本IP备注
kylin银河麒麟V10192.168.204.77 

mysql数据库8.0.18-1
openjdk11.0.21
halo博客1.6.0

2. kylin 部署mysql数据库

(1) 修改yum仓库

[root@kylin ~]# cd /etc/yum.repos.d/[root@kylin yum.repos.d]# ls[root@kylin yum.repos.d]# vim kylin_x86_64.repo 

修改前:

修改后:

###Kylin Linux Advanced Server 10 - os repo###[ks10-adv-os]
name = Kylin Linux Advanced Server 10 - Os 
baseurl = http://update.cs2c.com.cn:8080/NS/V10/V10SP2/os/adv/lic/base/$basearch/
gpgcheck = 1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-kylin
enabled = 1[ks10-adv-updates]
name = Kylin Linux Advanced Server 10 - Updates
baseurl = http://update.cs2c.com.cn:8080/NS/V10/V10SP2/os/adv/lic/updates/$basearch/
gpgcheck = 1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-kylin
enabled = 1[ks10-adv-addons]
name = Kylin Linux Advanced Server 10 - Addons
baseurl = http://update.cs2c.com.cn:8080/NS/V10/V10SP2/os/adv/lic/addons/$basearch/
gpgcheck = 1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-kylin
enabled = 0[kylin-epel]
name = epel
baseurl = https://update.cs2c.com.cn/NS/V10/V10SP3/EPKL/x86_64/
gpgcheck = 0
enabled = 1

(2)安装

[root@kylin yum.repos.d]# dnf install  mysql-server mysql mysql-common mysql-libs

(3) 启动服务

[root@kylin yum.repos.d]# systemctl start mysqld[root@kylin yum.repos.d]# ps -ef|grep mysqld

(4)查看临时密码

[root@kylin yum.repos.d]# tail -f /var/log/mysqld.log
……
A temporary password is generated for root@localhost: 0A.Ks%yihwei
……

(5)登录 

输入上一步的临时密码

[root@kylin yum.repos.d]# mysql -uroot -p

(6)修改密码

mysql> alter user 'root'@'localhost' identified by 'root@mySQL123';

(7)查看数据库

mysql> show databases;

(8)退出

mysql> quit

3. kylin 构建Java运行环境

(1)  卸载java-1.8.0

[root@kylin ~]# dnf remove java-1.8.0*

(2)安装

[root@kylin ~]# dnf install java-11 

(2) 查看版本

[root@kylin ~]# java -version    

4. 创建博客使用的数据库

(1)创建

字符集(Character Set):utf8mb4

排序规则(Collate):utf8mb4_bin

[root@kylin ~]# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.0.18 MySQL Community Server - GPLCopyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> create database halodb character set utf8mb4 collate utf8mb4_bin;
Query OK, 1 row affected (0.01 sec)mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)mysql> quit
Bye

5. kylin 部署 halo博客系统

(1)上传jar包

[root@kylin ~]# mkdir -p /data/halo
[root@kylin ~]# cd /data/halo/[root@kylin halo]# wget https://dl.halo.run/release/halo-1.6.0.jar
[root@kylin halo]# ll

(2)配置部署文件

编辑配置文件

[root@kylin halo]# mkdir /root/.halo
[root@kylin halo]# cd /root/.halo
[root@kylin .halo]# ll[root@kylin .halo]# vim application.yaml 

server:port: 8090# Response data gzip.compression:enabled: false
spring:datasource:# H2 database configuration.#driver-class-name: org.h2.Driver#url: jdbc:h2:file:~/.halo/db/halo#username: admin#password: 123456# MySQL database configuration.driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://127.0.0.1:3306/halodb?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=trueusername: rootpassword: root@mySQL123# H2 database console configuration.#h2:#  console:#    settings:#      web-allow-others: false#    path: /h2-console#    enabled: falsehalo:# Your admin client path is https://your-domain/{admin-path}admin-path: admin# memory or levelcache: memory

(3)编写服务脚本

修改

[root@kylin halo]# vim /etc/systemd/system/halo.service

[Unit]
Description=Halo Service
Documentation=https://halo.run
After=network-online.target
Wants=network-online.target[Service]
Type=simple
User=root
ExecStart=/usr/bin/java -server -Xms1024m -Xmx1024m -jar /data/halo/halo-1.6.0.jar
ExecStop=/bin/kill -s QUIT $MAINPID
Restart=always
StandOutput=syslogStandError=inherit[Install]
WantedBy=multi-user.target

(4)重载服务

[root@kylin halo]# systemctl daemon-reload

(5)启动服务

[root@kylin halo]# systemctl start halo

(6)查看服务

[root@kylin halo]# systemctl status halo

[root@kylin halo]# ps -ef |grep halo

(7)查看信息

[root@kylin halo]# vim /etc/systemd/system/halo.service
[root@kylin halo]# cd /root/.halo/
[root@kylin .halo]# ll

(8)查看防火墙状态

[root@kylin .halo]# systemctl status firewalld.service 

查看规则

[root@kylin .halo]# firewall-cmd --list-all

添加端口

[root@kylin .halo]# firewall-cmd --add-port=8090/tcp

再次查看规则

[root@kylin .halo]# firewall-cmd --list-all

另一种方式:关闭防火墙

[root@kylin .halo]# systemctl stop firewalld.service 
[root@kylin .halo]# systemctl status firewalld.service 

(9)访问halo

http://192.168.204.77:8090

(10)设置

(11)输入账户

进入系统

(12)安装主题

安装

访问

https://halo.run/themes


 

手动下载

上传

启用

修改主题样式

查看效果

6. kylin 部署nginx

(1)安装

[root@kylin ~]# dnf install nginx

(3)查看目录

默认配置文件:nginx.conf

[root@kylin ~]# ll /etc/nginx

(4)反向代理

[root@kylin ~]# vim /etc/nginx/nginx.conf

location / {proxy_pass http://192.168.204.77:8090;proxy_set_header HOST $host;proxy_set_header X-Forwarded-Proto $scheme;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}

(5)启动服务

[root@kylin ~]# systemctl start nginx

查看 (1个父进程。多个子进程)

[root@kylin ~]# ps -ef |grep nginx

自启

[root@kylin nginx]# systemctl enable nginx

(6)查看网络

nginx监听80端口

[root@kylin ~]# netstat -antlp

(7)访问测试反向代理

http://192.168.204.77

(8) 登录

http://192.168.204.77/admin

修改博客地址

修改前:

修改后:

7. kylin 使用 SSL证书基于https访问部署的博客系统

(1)阿里云数字证书管理服务

数字证书管理服务(原SSL证书)(SSL Certificate)-阿里云帮助中心 (aliyun.com)

(2)SSL证书类型

SSL证书选购指引_数字证书管理服务(原SSL证书)(SSL Certificate)-阿里云帮助中心 (aliyun.com)

(3) 申请个人测试证书

(4)证书审核

(5)DNS验证

设置

验证成功

已签发

(6)下载证书

选择nginx

(7) 上传证书

nginx相对路径上传证书

[root@kylin maojing]# ls
maojing.site.key  maojing.site.pem
[root@kylin maojing]# ll
总用量 8
-rw-r--r-- 1 root root 1675  2月 21  2024 maojing.site.key
-rw-r--r-- 1 root root 3822  2月 21  2024 maojing.site.pem
[root@kylin maojing]# pwd
/etc/nginx/maojing

(8)修改nginx配置文件

[root@kylin maojing]# vim /etc/nginx/nginx.conf

http段新增1个server段

server{listen       443 ssl;server_name  www.maojing.site;ssl_certificate     maojing/maojing.site.pem;ssl_certificate_key maojing/maojing.site.key;ssl_prefer_server_ciphers on;ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;ssl_ciphers         "HIGH:!aNULL:!MD5";add_header X-Frame-Options DENY;add_header X-Content-Type-Options nosniff;add_header X-Xss-Protection 1;location / {proxy_pass http://192.168.204.77:8090;proxy_set_header Host $proxy_host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}}

(9)重启服务

[root@kylin maojing]# systemctl restart nginx

(10)修改Windows域名

notepad

打开

添加解析

192.168.204.77 www.maojing.site

(11) 访问

https://www.maojing.site/

查看安全性

(12) 登录

https://www.maojing.site/admin

进入系统

二、问题

1.mysql安装报错

(1)报错

下载的软件包保存在缓存中,直到下次成功执行事务。
您可以通过执行 'dnf clean packages' 删除软件包缓存。
错误:事物测试失败:file /etc/my.cnf from install of mysql-community-server-8.0.18-1.ky10.x86_64 conflicts with file from package mariadb-common-3:10.3.39-1.p01.ky10.x86_64

(2)原因分析

 mysql-community-server-8.0.18-1.ky10.x86_64 和 后面的mariadb-common-3:10.3.39-1.p01.ky10.x86_64 冲突

(3)解决方法

卸载冲突的包再重新安装。

[root@kylin yum.repos.d]# dnf remove  mariadb-common-3:10.3.39-1.p01.ky10.x86_64

成功:

[root@kylin yum.repos.d]# dnf install  mysql-server mysql mysql-common mysql-libs

2.查看mysql数据库报错

(1)报错

mysql> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

(2)原因分析

需要重置密码。

(3)解决方法

设置密码

mysql> alter user 'root'@'localhost' identified by 'root@mySQL123';

成功:

3.systemd服务如何实现脚本编写与管理

(1)service文件存放路径

/etc/systemd/system/*     ――――  系统管理员手动软件安装包或脚本放置于此,优先级更高/run/systemd/system/*     ――――  运行时配置文件,这个目录一般是进程在运行时动态创建unit文件的目录,一般很少修改,除非是修改程序运行时的一些参数时,即Session级别的,才在这里做修改。/usr/lib/systemd/system/*   ――――  该目录中包含的是软件包安装的单元,也就是说通过yum、dnf、rpm等软件包管理命令管理的systemd单元文件,都放置在该目录下。/lib/systemd/system: 指向/usr/lib/systemd/system。

(2)systemd 使用语法

1)语法
systemctl   [command]    [unit](配置的应用名称)2(command可选项
start:启动指定的unit         systemctl start nginx
stop:关闭指定的unit          systemctl stop nginx
restart:重启指定unit         systemctl restart nginx
reload:重载指定unit          systemctl reload nginx
enable:系统开机时自动启动指定unit,前提是配置文件中有相关配置 systemctl enable nginx
disable:开机时不自动运行指定unit  systemctl disable nginx
status:查看指定unit当前运行状态   systemctl status nginx

(3)service unit文件

整个文件分三个部分,[Unit]·[Service]·[Install][Unit]:记录unit文件的通用信息。[Service]:记录Service的信息[Install]:安装信息。
1)[Unit]部分
Description:对本service的描述
Before, After:定义启动顺序,Before=xxx.service,代表本服务在xxx.service启动之前启动。After=xxx.service,代表本服务在xxx之后启动。2) [Service]部分
Type:service的种类,包含下列几种类型:
simple 默认,这是最简单的服务类型。意思就是说启动的程序就是主体程序,这个程序要是退出,那么一切都退出。
forking 标准的启动方式。服务包含父进程和子进程,启动程序后,会调用 fork() 函数,通过父进程生成子进程。
oneshot:这种服务类型就是启动完成,进程就没了。属于一次性启动。
notify:跟simple 类似,但是notify会在当前服务启动完毕,发送一个信号通知Systemd。ExecStart:服务启动时执行的命令,此命令就是服务的主体。
ExecStartPre:ExecStart执行前所调用的命令。
ExecStartPost:ExecStart执行后所调用的命令。
ExecStop:定义停止当前服务时执行的命令。
EnvironmentFile:环境配置文件
PIDFile:指向当前服务 PID file 的绝对路径注意:启动、重启、停止命令全部要求使用绝对路径3)[Install]部分
WantedBy:何种情况下,服务被启用。
例如:WantedBy=multi-user.target(多用户环境下启用)

4. Linux软件安装

(1)yum/dnf

安装命令

1)安装
yum install -y XXX
dnf install -y XXX2)查找
yum search XXX
dnf search XXX3)卸载
yum remove XXX
dnf remove XXX

dnf 与 yum相同

whereis dnf
ll /usr/bin/dnfwhereis yum
ll /usr/bin/yum

(2)RPM

一般安装:rpm -ivh  xxx.rpm升级安装:rpm  -Uvh  xxx.rpm卸载:rpm  -e xxx

5.安装 OpenJDK 11 两种方式

(1)下载

OpenenJDK:Java Platform, Standard Edition 11 ReferenceImplementations
清华镜像:https://mirrors.tuna.tsinghua.edu.cn/AdoptOpenJDK/

(2)卸载

查看系统是否已安装OpenJDK。一般的linux都默认使用了开源的OpenJDK。

查看
rpm -qa | grep java
rpm -qa | grep jdk
批量卸载
rpm -qa | grep jdk | xargs rpm -e --nodeps
rpm -qa | grep java | xargs rpm -e --nodeps

(3)第一种方式:yum安装(适用于在线)

1)yum安装
yum search java-11-openjdk									# 可以不用执行,查找安装包
yum install -y java-11-openjdk java-11-openjdk-devel		# 安装2)查找JAVA安装目录3)查找安装目录
which java 或 ls -l $(which java)# 如果显示的是/usr/bin/java请执行下面命令
ls -lr /usr/bin/java
ls -lrt /etc/alternatives/java# 输出:/etc/alternatives/java -> /usr/lib/jvm/java-11-openjdk-11.0.12.0.7-0.el7_9.x86_64/bin/java
# 上面的/usr/lib/jvm/java-11-openjdk-11.0.12.0.7-0.el7_9.x86_64就是JAVA的安装路4)配置环境变量
# 通过yum方式安装默认安装在/usr/lib/jvm文件下
# 修改JAVA_HOME为/usr/lib/jvm/java-11-openjdk-11.0.12.0.7-0.el7_9.x86_64
# 编辑/etc/profile文件
vim /etc/profile# 按" i "键进行编辑,设置环境变量,ESC退出编辑," :wq "保存内容
# Java Environment
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.12.0.7-0.el7_9.x86_64
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/jre/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$PATH5)使环境变量生效
source /etc/profile

(4)第二种方式:tar解压安装(适用于离线)

1)切换到root用户,在/usr下创建java文件夹
su root
mkdir /usr/java
cd /usr/java/2)tar解压文件
tar -zxvf openjdk-11+28_linux-x64_bin.tar.gz3)配置环境变量
# 修改JAVA_HOME为/usr/java/jdk-11
# 编辑/etc/profile文件
vim /etc/profile# 按" i "键进行编辑,设置环境变量,ESC退出编辑," :wq "保存内容
# Java Environment
export JAVA_HOME=/usr/java/jdk-11
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$PATH4)使环境变量生效
source /etc/profile5)检查是否安装成功
java -version
javac 
java
echo $JAVA_HOME

 6. Halo 如何下载不同版本与配置文件

(1)下载

1)官网
https://halo.run2)文档
https://docs.halo.run3)社区
https://bbs.halo.run4)主题仓库
https://halo.run/themes.html5)开源地址
https://github.com/halo-dev/halo

(2)版本

 下载新的 halo.service 配置文件

sudo curl -o /etc/systemd/system/halo.service --create-dirs https://dl.halo.run/config/halo.service

(3)配置文件

 下载配置文件到 ~/.halo 目录

 curl -o ~/.halo/application.yaml --create-dirs https://dl.halo.run/config/application-template.yaml

7.Halo 服务启动失败

(1)报错

[root@kylin .halo]# systemctl status halo

(2)原因分析

java服务未配置环境变量,脚本版本指定错误。

(3)解决方法

安装

[root@kylin .halo]# dnf install java-11-openjdk-devel

查找JAVA安装目录

# 查找安装目录
which java 或 ls -l $(which java)# 如果显示的是/usr/bin/java请执行下面命令
ls -lr /usr/bin/java
ls -lrt /etc/alternatives/java# 输出:/etc/alternatives/java -> /usr/lib/jvm/java-11-openjdk-11.0.21.9-1.ky10.x86_64/bin/java# 上面的/usr/lib/jvm/java-11-openjdk-11.0.21.9-1.ky10.x86_64/bin/java
就是JAVA的安装路径

 配置环境变量

# 通过yum或dnf方式安装默认安装在/usr/lib/jvm文件下
# 修改JAVA_HOME为/usr/lib/jvm/java-11-openjdk-11.0.21.9-1.ky10.x86_64/bin/java# 编辑/etc/profile文件
vim /etc/profile# 按" i "键进行编辑,设置环境变量,ESC退出编辑," :wq "保存内容
# Java Environment
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.21.9-1.ky10.x86_64/bin/java
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/jre/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$PATH# 使环境变量生效
source /etc/profile

修改脚本:

修改前:

修改后:

成功:

[root@kylin ~]# systemctl start halo
[root@kylin ~]# systemctl status halo

8. Halo 附件上传报错

(1)报错

(2)原因分析

查看nginx日志

[root@kylin ~]# cd /var/log/nginx/[root@kylin nginx]# ls[root@kylin nginx]# ll

查看错误日志 (文件太大,都没转发出去就被nginx拦截了)

[root@kylin nginx]# tail -100 error.log 
2024/02/19 22:33:58 [error] 67431#0: *86 client intended to send too large body: 4309547 bytes, client: 192.168.204.1, server: _, request: "POST /api/admin/attachments/upload HTTP/1.1", host: "192.168.204.77", referrer: "http://192.168.204.77/admin"

(3)解决方法

配置nginx上传文件最大限制。

[root@kylin nginx]# vim /etc/nginx/nginx.conf

#http段添加
client_max_body_size 500M;

重启

[root@kylin nginx]# systemctl restart nginx

查看服务

[root@kylin nginx]# ps -ef |grep nginx

成功:

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

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

相关文章

【SQL注入】靶场SQLI DUMB SERIES-24通过二次注入重置用户密码

先使用已知信息admin/admin登录进去查下题,发现可以修改密码 猜测可能存在的SQL语句:UPDATE user SET password新密码 WHERE user用户名 and password旧密码 假设我们知道有个admin用户,但是不知道其密码,如何可以将其密码重置&…

杂题——1097: 蛇行矩阵

题目描述 蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。 输入格式 本题有多组数据,每组数据由一个正整数N组成。(N不大于100) 输出格式 对于每一组数据,输出一个N行的蛇形矩阵。两组输出之间不要额外的空行。矩阵三角…

如何在群辉7.2中使用Docker搭建容器魔方服务并远程访问【内网穿透】

文章目录 1. 拉取容器魔方镜像2. 运行容器魔方3. 本地访问容器魔方4. 群辉安装Cpolar5. 配置容器魔方远程地址6. 远程访问测试7. 固定公网地址 本文主要介绍如何在群辉7.2版本中使用Docker安装容器魔方,并结合Cpolar内网穿透工具实现远程访问本地网心云容器魔方界面…

MySQL 窗口函数温故知新

本文用于复习数据库窗口函数,希望能够温故知新,也希望读到这篇文章的有所收获。 本文以:MySQL为例 参考文档: https://www.begtut.com/mysql/mysql-window-functions.html 使用的样例数据:https://www.begtut.com/m…

对象池模式-Object Pool Pattern

原文地址:https://jaune162.blog/design-pattern/object-pool-pattern/ 原文中可下载高清SVG矢量类图 引言 对象池模式(Object Pool Pattern)是一种创建一组可重用对象的设计模式。它通过维护一个预分配的对象集合,避免了频繁地创建和销毁对象所带来的性能开销。在需要使用…

力扣_字符串11—实现前缀树(字典树、Trie树)

题目 方法 对于每一个节点&#xff0c;初始化一个长度为26的数组&#xff0c;用来存储对应字母子节点的地址对于每一个节点&#xff0c;初始化一个 b o o l bool bool 变量用来表示是否为叶子节点 代码 class Trie { private:vector<Trie*> children vector<Trie…

ESP8266智能家居(1)——开发环境的搭建

1.前期介绍 本次打算使用esp8266的开发板——NodeMCU&#xff0c;进行物联网相关项目的学习。开发环境使用Arduino软件。 NodeMCU实物图为&#xff1a; 开发环境截图为&#xff1a; 2.软件下载 我使用的arduino版本为1.8.5&#xff0c;其安装包如下&#xff1a; 【免费】ar…

学习总结22

解题思路 简单模拟。 代码 #include <bits/stdc.h> using namespace std; long long g[2000000]; long long n; int main() {long long x,y,z,sum0,k0;scanf("%lld",&n);for(x1;x<n;x)scanf("%lld",&g[x]);for(x1;x<n;x){scanf(&qu…

GEE必须会教程—时间都去哪了(Date参数类型)

时间和空间是世界存在的两种基本属性&#xff0c;大部分的数据都有特有的通道存储时间信息&#xff0c;用户需要通过获取数据存储的信息&#xff0c;来判断数据的可用性&#xff0c;以及数据在时间上发生的变化。在遥感上&#xff0c;空间数据集合中&#xff0c;时间信息显得更…

django配置视图并与模版进行数据交互

目录 安装django 创建一个django项目 项目结构 创建视图层views.py 写入视图函数 创建对应视图的路由 创建模版层 配置项目中的模版路径 创建模版html文件 启动项目 浏览器访问结果 安装django pip install django 创建一个django项目 这里最好用命令行完成&#xf…

SQL注入之DNSLog外带注入

一、认识&#xff1a; 什么是dnslog呢&#xff1f; DNS就是域名解析服务&#xff0c;把一个域名转换成对应的IP地址&#xff0c;转换完成之后&#xff0c;DNS服务器就会有一个日志记录本次转换的时间、域名、域名对应的ip、请求方的一些信息&#xff0c;这个日志就叫DNSLog。…

汉诺塔问题—java详解(附源码)

来源及应用 相传在古印度圣庙中&#xff0c;有一种被称为汉诺塔(Hanoi)的游戏。该游戏是在一块铜板装置上&#xff0c;有三根杆(编号A、B、C)&#xff0c;在A杆自下而上、由大到小按顺序放置64个金盘(如图1)。游戏的目标&#xff1a;把A杆上的金盘全部移到C杆上&#xff0c;并仍…

【Nacos】构建云原生应用的动态服务发现、配置管理和服务管理平台【企业级生产环境集群搭建应用】

基础描述 一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集&#xff0c;帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos 帮助您更敏捷和容易地构建、交付和…

猫头虎分享已解决Bug || Spring Error: Request method ‘POST‘ not supported

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍》 — 提升你的IDEA技能&#xff01;《100天精通鸿蒙》 …

海思3559 yolov5 wk模型部署笔记

文章目录 安装3559工具链编译opencv编译项目总结 安装3559工具链 将3559工具链copy到虚拟机上&#xff0c;并解压得到安装包 解压&#xff1a; tar -zxvf aarch64-himix100-linux.tgz解压后会得到安装包文件夹&#xff1a; 安装工具链&#xff1a; sudo ./aarch64-himix100…

Unity2023.1.19没有PBR Graph?

Unity2023.1.19没有PBR Graph? 关于Unity2023.1.19没有PBR graph的说法,我没看见管方给出的答案,百度则提到了Unity2020版之后Shader Graph的“全新更新”,之前也没太注意版本的区别,以后项目尽量都留心一下。 之前文章说过,孪生智慧项目推荐使用URP渲染管线,以上的截…

Stable Diffusion 绘画入门教程(webui)-ControlNet(线稿约束)

上篇文章介绍了openpose&#xff0c;本篇文章介绍下线稿约束&#xff0c;关于线稿约束有好几个处理器都属于此类型&#xff0c;但是有一些区别。 包含&#xff1a; 1、Canny(硬边缘&#xff09;&#xff1a;识别线条比较多比较细&#xff0c;一般用于更大程度得还原照片 2、ML…

Spring Security 认证授权安全框架

Spring Security概述 1.什么是Spring Security? Spring Security是一个Java框架&#xff0c;用于保护应用程序的安全性。它提供了一套全面的安全解决方案&#xff0c;包括身份验证、授权、防止攻击等功能。Spring Security基于过滤器链的概念&#xff0c;可以轻松地集成到任…

指针笔试题(C语言进阶)

目录 前言 1、案例一 1.1 答案 1.2 解析 2、案例二 2.1 答案 2.2 解析 3、案例三 3.1 答案 3.2 解析 4、案例四 4.1 答案 4.2 解析 5、案例五 5.1 答案 5.2 解析 总结 前言 “纸上得来终觉浅&#xff0c;绝知此事要躬行”。本篇通过对指针实际案例的分析&…

Google重磅开源!Gemma 2B/7B小模型登场,6万亿Tokens喂饱,聊天编程两不误,LLaMA也黯然失色?

Google又有大动作&#xff01; 近日&#xff0c;他们发布了Gemma 2B和7B两个开源AI模型&#xff0c;与大型封闭模型不同&#xff0c;它们更适合小型任务&#xff0c;如聊天和文本摘要。 这两个模型在训练过程中使用了6万亿个Tokens的数据&#xff0c;包括网页文档、代码和数学…