Ubuntu
未读
Ubuntu20安装RabbitMQ
本文详细介绍了在 Ubuntu 20.04 系统上安装和配置 RabbitMQ 的步骤。首先,更新系统包并安装必要的依赖。接着,通过添加 RabbitMQ 的 APT 仓库并导入 GPG 密钥,确保软件源的可靠性。然后,安装 RabbitMQ 并启动服务,同时设置开机自启。为了便于管理,启用 RabbitMQ 的 Web 管理插件,并配置防火墙以允许相关端口访问。此外,创建管理员用户并设置权限,确保安全访问。最后,通过浏览器访问管理界面,验证安装是否成功。文章还提供了常见问题的解决方法,如无法访问 Web 界面、重置 RabbitMQ 状态以及查看日志等。通过这些步骤,用户可以顺利完成 RabbitMQ 的安装和基本配置。
Ubuntu20安装Redis
本文介绍了在Ubuntu 20系统中安装和配置Redis的步骤。首先,通过`apt`命令安装Redis,并验证安装是否成功。接着,修改Redis配置文件以允许远程连接,并设置访问密码。最后,开放防火墙端口以确保远程访问。整个过程包括安装、配置和重启Redis服务,确保其正常运行并支持远程连接。
Ubuntu设置MySQL使用root远程访问
本文介绍了在Ubuntu系统中配置MySQL以允许root用户远程访问的步骤。首先,通过修改MySQL配置文件`mysqld.cnf`,将`bind-address`从`127.0.0.1`改为`0.0.0.0`,使MySQL监听所有网络接口。接着,登录MySQL,更新或创建root用户,允许其从任意主机访问,并刷新权限。最后,配置防火墙,允许MySQL的默认端口3306通过。完成这些步骤后,即可实现MySQL的root用户远程访问。
使用SSH连接Ubuntu24的root账号
这篇文章介绍了如何在Ubuntu 24系统中通过SSH连接root账号的步骤。首先,更新和升级系统软件包列表。接着,安装OpenSSH服务器。然后,为root账号设置密码,因为默认情况下无法直接使用root账号登录。之后,修改SSH配置文件`/etc/ssh/sshd_config`,允许密码登录和root账号登录,并可选地更改SSH端口。最后,重启SSH服务并验证其状态,确保配置生效。通过这些步骤,用户可以成功通过SSH使用root账号登录Ubuntu 24系统。
Ubuntu上申请Let's Encrypt SSL证书
Let's Encrypt是一个开源的证书颁发机构(CA),致力于提供免费的SSL/TLS证书,以加强网站的安全性。它促进了在互联网上实现加密通信的重要性。Let's Encrypt的官网是:https://letsencrypt.org/[] 一、安装snapd sudo apt update &
Ubuntu
未读
Ubuntu18使用Docker安装RabbitMQ
如果已经安装了docker,直接跳到第五步。 一、更新软件存储库 sudo apt-get update
二、删除旧的docker sudo apt-get remove docker docker-engine docker.io
Alist文件无法下载,404问题
## 摘要
**问题描述:** Alist文件无法下载,返回404错误。
**解决方案:** 检查Nginx反向代理配置,确保 `Host` 头设置为 `$http_host`(包含端口号),而不是 `$host`(不包含端口号)。同时,配置中应包含必要的代理头信息,如 `Range` 和 `If-Range`,以支持文件下载。示例如下:
```nginx
proxy_set_header Host $http_host;
proxy_set_header Range $http_range;
proxy_set_header If-Range $http_if_range;
```
**关键点:**
- 使用 `$http_host` 而非 `$host`
- 确保代理头信息完整
- 核对Nginx配置中的 `proxy_pass` 和其他相关设置
Ubuntu安装jdk7,jdk17,jdk21,切换不同Java版本
本文介绍了在Ubuntu系统上安装多个Java开发工具包(JDK)版本(包括JDK 7、JDK 17和JDK 21)的步骤,并提供了如何在系统上切换不同Java版本的方法。通过使用`sudo apt install`命令安装所需的JDK版本,然后使用`sudo update-alternatives --config java`命令选择并切换默认的Java版本。文章内容简洁明了,适合需要在Ubuntu上管理多个Java版本的用户参考。
Knife4j页面空白问题
这篇文章主要解决了使用Knife4j时页面显示空白的问题。通过检查网络响应和浏览器控制台,确定问题通常是由于请求被过滤器或拦截器拦截所致。文章提供了具体的解决方法,即需要在过滤器或拦截器中放行以下路径:`/doc.html`、`/doc.html#/**`、`/webjars/**` 和 `/v3/**`。这样可以确保Knife4j页面能够正常加载,避免空白页面的出现。
Spring Boot解决前端携带自定义Header时的跨域问题
在Spring Boot中,前端携带自定义Header进行跨域访问时,浏览器会先发送一个OPTIONS请求以确认是否允许携带该Header。为了解决这一问题,需要在服务器配置中允许该请求头并返回相应的响应头信息。可以通过在拦截器或过滤器的`afterCompletion`方法中添加代码来实现,包括设置`Access-Control-Allow-Origin`、`Access-Control-Allow-Methods`、`Access-Control-Allow-Headers`和`Access-Control-Allow-Credentials`等响应头。如果请求方法是OPTIONS,则直接返回204状态码。此外,还需在对应的Controller上添加`@CrossOrigin`注解以确保跨域请求被正确处理。
后端
未读
后端使用统一Result返回,Knife4j获取data的具体结构
本文介绍了在后端使用统一Result返回数据时,如何通过Knife4j获取data的具体结构。文章首先展示了Result类的定义,包括其泛型参数T和常用的静态方法(如ok和fail)。接着,通过一个Controller方法的示例,展示了如何在实际应用中使用Result类返回分页数据。最后,文章提供了Knife4j文档中响应结果的截图,展示了返回数据的结构。本文旨在帮助开发者理解如何在后端统一返回数据格式,并通过Knife4j清晰地展示返回数据的结构。
Spring Boot开启定时任务
Spring Boot 提供了便捷的定时任务功能。通过在主类或配置类上添加 `@EnableScheduling` 注解即可启用定时任务。在任意 Spring Bean 中,使用 `@Scheduled` 注解定义定时方法,并可通过 `fixedRate`、`fixedDelay` 或 `cron` 表达式配置执行时间。其中,Cron 表达式支持传统的 6个字段格式,可定义复杂的执行规则。默认情况下,所有任务共享单一线程,可以通过 `SchedulingConfigurer` 配置自定义线程池实现并发执行。常见问题包括任务未执行、Cron 表达式错误或任务阻塞等,需逐一排查。
Spring Boot文件上传到本地
本文介绍了如何在Spring Boot项目中实现将文件上传到本地的功能。首先,在Controller类中定义一个接收文件上传的接口,通过`@RequestParam`注解获取上传的文件。然后在实现类中处理文件上传逻辑,包括获取原始文件名、生成新文件名、保存文件到指定目录,并返回文件路径。文章提供了详细的代码示例,展示了如何实现这一功能。
Ubuntu18使用Docker安装RabbitMQ
本文详细介绍了在Ubuntu 18系统中使用Docker安装和配置RabbitMQ的步骤。首先,更新软件存储库并删除旧版Docker,然后安装并启动Docker服务。接着,修改Docker镜像源以加速下载。随后,通过Docker命令安装RabbitMQ,并启动容器。在容器内,新增用户并设置管理员权限,确保用户具有访问根目录的所有权限。最后,通过浏览器访问RabbitMQ管理页面,使用设置的用户名和密码登录。整个过程涵盖了从Docker安装到RabbitMQ配置的完整流程,适合初学者快速上手。
Ubuntu上申请Let's Encrypt SSL证书
本文介绍了在Ubuntu系统上申请Let's Encrypt SSL证书的详细步骤。Let's Encrypt是一个提供免费SSL/TLS证书的开源证书颁发机构,旨在增强网站安全性。文章首先指导用户安装snapd和Certbot工具,然后通过Certbot获取SSL证书,并配置自动续订。最后,文章详细说明了如何将生成的证书配置到Nginx服务器中,以确保网站的安全通信。整个过程包括安装工具、获取证书、自动续订和Nginx配置,帮助用户轻松实现网站加密。
Halo博客修改后端文件不生效问题
文章讲述了在修改Halo博客主题的HTML和JS文件后,浏览器未能显示更新内容的问题。作者通过删除浏览器缓存、Nginx服务器缓存以及Halo博客的缓存,成功解决了问题。具体步骤包括:1) 在浏览器开发者工具中清除网站数据;2) 删除Nginx的缓存目录;3) 在Halo博客中清除页面缓存和主题文件模板缓存。这些操作确保了修改后的文件能够正确加载并显示在浏览器中。
运维
未读
部署Docker私有仓库并实现登录功能
本文将指导如何在本地或服务器上搭建一个带有登录验证功能的Docker私有仓库。内容主要包括:
1. **拉取镜像**:使用`docker pull`命令获取`registry`和`htpasswd`镜像。
2. **创建数据卷**:创建用于存储数据和认证文件的文件夹和文件。
3. **设置账号密码**:通过运行临时容器生成账号密码,并存储到指定文件。
4. **编辑`docker-compose.yaml`文件**:配置私有仓库的服务,包括端口、环境变量和挂载路径。
5. **修改`daemon.json`文件**:添加私有仓库的地址以确保Docker能访问。
6. **运行容器并登录**:启动私有仓库,并使用`docker login`命令进行登录。
7. **推送和拉取镜像**:标记本地镜像并推送至私有仓库,或从私有仓库拉取镜像。
通过以上步骤,用户可以成功部署一个安全的Docker私有仓库,并实现镜像的推送和拉取操作。
运维
未读
国内可用的Docker镜像源
本文提供了国内可用的Docker镜像源列表,包括多个镜像URL,如`https://docker.1panelproxy.com`、`https://docker.m.daocloud.io/`等,帮助用户解决因某些原因无法访问主流Docker镜像网站的问题。这些镜像源可用于加速Docker镜像的拉取。
Ubuntu部署Umami
本文介绍了在Ubuntu系统上部署Umami的步骤。首先,创建一个名为`/umami`的目录并进入该目录。然后,编写`docker-compose.yaml`文件,配置Umami和PostgreSQL服务。文件内容包括Umami和PostgreSQL的镜像、端口映射、环境变量、健康检查等设置。最后,使用`docker-compose up -d`命令启动容器。通过这些步骤,可以成功在Ubuntu上部署Umami。
运维
未读
docker login失败解决记录
摘要:作者在登录Docker私服时遇到错误,提示无法保存凭证。经过排查,发现是安装`docker-compose`时自动安装了`golang-docker-credential-helpers`包,该包用于管理Docker凭证,但当前场景不需要。通过执行`apt purge golang-docker-credential-helpers`命令移除该包后,问题得以解决,成功登录Docker私服。
其他
未读
chatgpt-next-web部署及使用DeepSeek及使用Alist配置云同步
本文详细介绍了如何部署和使用ChatGPT-Next-Web,并集成DeepSeek和Alist进行云同步。首先,通过Docker拉取ChatGPT-Next-Web镜像并创建相关目录和配置文件。接着,配置DeepSeek API以实现对话功能,并设置访问密码。然后,使用Alist创建WebDAV挂载,确保数据同步。最后,在ChatGPT-Next-Web中配置Alist的WebDAV地址,完成云同步设置。整个过程涵盖了从部署到高级配置的完整步骤,帮助用户实现高效、安全的对话服务。
手动提交Bing的IndexNow
手动提交Bing的IndexNow 一、生成 API 密钥 访问**Bing IndexNow设置页面**生成随机API密钥和验证文件,然后下载这个文件。。 二、托管您的 API 密钥 将生成的UTF-8密钥文件上传在您网站的任何位置(最好是根目录): https: //www.example.co
前端
未读
CSDN一键打印、输出PDF
这篇文章介绍了一种在CSDN博客页面上实现一键打印或输出为PDF的方法。通过运行一段JavaScript代码,用户可以自动去掉页面上的冗余内容(如侧边栏、广告、推荐框等),调整页面布局,并调用浏览器的打印功能。代码主要功能包括隐藏不必要的元素、展开被折叠的代码块、移除干扰内容,并最终触发打印操作。这种方法简化了将CSDN文章转换为PDF或直接打印的过程,适用于需要保存或分享文章内容的用户。
Docker学习笔记大全
本文是一篇关于Docker学习笔记的全面指南,涵盖了Docker镜像命名规范、常见命令及其参数。文章详细介绍了镜像和容器的相关操作命令,如搜索、拉取、构建、保存、加载、删除镜像,以及运行、列出、停止、启动、重启、删除容器等。此外,还提供了其他常用命令,如查看版本信息、系统信息、清理未使用的资源、登录注册表、推送镜像等。文章旨在帮助读者快速掌握Docker的基本操作和命令,适合初学者和需要查阅命令的开发者。