Nginx-Proxy-Manager
说明在现代Web架构中,Nginx 已成为不可或缺的一员,以其高效、稳定的服务代理能力而著称。然而,对于非专业运维人员而言,直接配置 Nginx 的反向代理及 SSL 证书管理往往显得复杂且易出错。这时,Nginx Proxy Manager(简称 NPM)应运而生,它是一款基于 Nginx 的图形化管理界面,极大地简化了反向代理、负载均衡以及 SSL/TLS 证书的配置流程。本文将深入探讨 Nginx Proxy Manager 的核心特性、安装部署步骤以及其在实际应用中的优势。
Nginx Proxy Manager 核心特性1. 图形化界面NPM 提供了一个直观的 Web 界面,用户无需直接编辑 Nginx 配置文件,即可轻松管理多个代理主机、上游服务器以及 SSL 证书。
2. 自动 SSL集成 Let’s Encrypt,自动申请、续签 SSL 证书,确保所有托管的网站都能安全地使用 HTTPS,极大地减轻了手动管理证书的负担。
3. 反向代理与负载均衡不仅支持基本的反向代理设置,还允许用户配置复杂的负载均衡策略,灵活分配后端服务器的请求流量。
4. 域名管理提供了 ...
面试题-网络协议
简述 TCP 三次握手以及四次挥手的流程。为什么需要三次握手以及四次挥手?TCP 三次握手流程
第一次握手:
客户端发送一个SYN(同步序列编号)报文到服务器,请求建立连接。客户端进入SYN_SEND状态。
服务器收到这个报文后,会回复一个SYN-ACK(同步确认)报文,确认收到了客户端的初始序列号,并且发送自己的初始序列号。服务器进入SYN_RCVD状态。
第二次握手:
客户端接收到服务器的SYN-ACK报文后,会再次发送一个ACK(确认)报文,确认它已经收到了服务器的数据。客户端进入ESTABLISHED状态,即连接建立成功。
第三次握手:
服务器接收到客户端的ACK报文后,同样进入ESTABLISHED状态,表示连接已经建立。
TCP 四次挥手流程
第一次挥手:
一方(通常是客户端)首先发送一个FIN(结束)报文,表明它完成了数据传输,可以关闭连接。发送方进入FIN_WAIT_1状态。
第二次挥手:
收到FIN报文的一方(通常是服务器)回复一个ACK报文,确认收到了对方的结束信号。发送方进入FIN_WAIT_2状态。
第三次挥手:
发送完ACK报文的一方(通 ...
100道Java 经典面试题
JDK、JRE和JVM分别是什么?
答案:JDK(Java Development Kit)是Java开发工具包,提供了Java的开发环境和运行环境。JRE(Java Runtime Environment)是Java运行环境,为Java程序的运行提供必要的库和类。JVM(Java Virtual Machine)是Java虚拟机,是一个允许Java程序在任何支持该虚拟机的平台上运行的解释器。
为什么Java被称作是“平台无关的编程语言”?
答案:Java通过虚拟机实现了跨平台性,即同一份Java代码可以在不同的操作系统上运行,只需将其编译成相应平台的字节码即可。
Java支持哪些数据类型?
答案:Java支持八种基本数据类型:byte, short, int, long, float, double, boolean,以及八种引用类型:Byte, Short, Integer, Long, Float, Double, Boolean。
什么是自动拆装箱?
答案:自动拆装箱是Java 5引入的一个特性,它允许使用装箱类(如Integer、Double等)和包装类(如In ...
Taiyi-区块链系统
官网太一链 (taiyi.io)
简介
太一链 - 开箱即用的自建区块链系统
功能齐备、简单易用、部署灵活的生产级区块链平台,一键构建,完全免费。让您的团队和产品快速应用区块链技术,迎接数字化时代
Node-切换版本
在不同的操作系统上切换Node.js版本的方法有所不同,以下是在Windows、macOS和Linux上常用的几种方法:
WindowsNVM for Windows (nvm-windows)
下载并安装nvm-windows。
安装完成后,打开一个新的命令提示符窗口,然后使用以下命令安装所需的Node.js版本:
1nvm install <version> # 例如:nvm install 14.17.0
切换Node.js版本:
1nvm use <version> # 例如:nvm use 14.17.0
macOS 和 LinuxNVM (Node Version Manager)
安装NVM(如果尚未安装):
macOS/Linux通过curl(或wget)安装:
1curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
或
1wget -qO- https://raw.githubusercontent.com/nv ...
Docsify-文档网站
官网快速开始 (docsify.js.org)
Docsify-Guide (ysgstudyhards.github.io)
简介Docsify是一个轻量级的文档生成工具,它能够让你直接从Markdown文件快速创建一个美观且功能丰富的文档网站。与其他静态站点生成器不同,Docsify在客户端动态地将Markdown转换为HTML,这意味着无需预先生成静态文件,部署起来更加简便快捷。本文将指导你如何快速上手并使用Docsify搭建个人或项目的文档网站。
Http标准属性
Http 请求头HTTP请求头部提供了关于客户端的信息以及客户端对服务器所请求内容的具体要求。以下是一些常见的HTTP请求头部标准属性:
Accept: 指定客户端能够处理的响应内容类型(MIME类型),如text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8表示优先接受HTML文档,但也接受其他类型。
Accept-Charset: 客户端可接受的字符集,例如utf-8, iso-8859-1;q=0.5。
Accept-Encoding: 客户端能够理解的内容编码,如gzip, deflate, br表示支持gzip、deflate和brotli压缩。
Accept-Language: 客户端偏好的自然语言,如en-US,en;q=0.9,优先英语(美国)。
Authorization: 用于HTTP身份验证,包含用户的认证信息。
Cache-Control: 控制请求和响应的缓存机制,例如no-cache指示不要使用缓存的版本。
Connection: 指示对于当前事务完成后,是否关闭网络连接或继续保持打开 ...
Vim
Vim编辑器是Linux及其他类Unix系统中常用的文本编辑器,以其高效和高度可配置性著称。下面是一个简化的Vim编辑器使用教程,涵盖了基本操作和三个主要模式:
1. Vim的三种工作模式Vim有三种基本工作模式,理解这些模式是使用Vim的关键。
命令模式(Normal mode):这是Vim启动时的默认模式,用于导航、删除、复制等非编辑操作。按Esc或Ctrl + [回到此模式。
插入模式(Insert mode):在此模式下可以直接输入文本。从命令模式进入插入模式的快捷键包括i(在光标前插入)、a(在光标后插入)、o(在当前行下方新开一行插入)等。
末行模式(Command-line mode):用于保存文件、退出编辑器、执行复杂命令等。通过在命令模式下按下:进入。
2. 基本操作启动和打开文件
打开文件:vim 文件名
如果文件不存在,Vim会创建一个新文件。
命令模式操作
移动光标:h(左)、j(下)、k(上)、l(右)
快速移动:0或^(行首)、$(行尾)、w(下一个单词)、b(上一个单词)、G(文件尾)、gg(文件头)
删除操作:x(删除当前字符)、dd(删除当前行, ...
OnlyOffice
开发文档ONLYOFFICE API 文档 - 基本概念
利用 OSS 优化 fonts 加载速度
将 onlyoffice 字体索引文件上传到 OSS 上,设置重定向,将请求字体重定向到 OSS,利用 OSS 带宽优势,提高加载速度
12345678910111213141516171819202122232425# 1. 将 fonts 目录拷贝下来,每个文件使用 gzip 压缩「gzip filename」,例如 005 压缩为 005.gz,删除原 005 文件,再将 005.gz 去掉后缀改为 005,上传到阿里 OSSdocker cp onlyoffice:/var/www/onlyoffice/documentserver/fonts/ ./# 阿里云 OSS Bucket 列表,数据安全-跨域设置AllowedOrigin: 输入允许访问此Bucket的源列表,用逗号分隔。对于您的情况,应输入http://ip:7012。AllowedMethod: 允许的HTTP方法,如GET, PUT, HEAD等,通常至少需要GET以供浏览资源。AllowedHeader: ...
Git-搭建仓库服务
参考10分钟搭建自己的Git仓库 (qq.com)