nginx: [emerg] the “ssl“ parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf:

nginx: [emerg] the “ssl“ parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf:

nginx配置ssl证书报错

遇到的错误 nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module 表明Nginx在编译安装时没有包含SSL模块,因此无法处理HTTPS配置。

在这里插入图片描述

一、解决方案:重新编译Nginx,添加SSL模块

这是最标准、可控性最高的方法。你需要进入Nginx源码目录,在现有编译参数的基础上增加 --with-http_ssl_module 模块,然后重新编译和安装。

操作步骤:

测试并重载

# 测试新程序是否工作 /usr/local/nginx/sbin/nginx -t # 如果显示成功,则平滑重启 /usr/local/nginx/sbin/nginx -s reload 

备份旧程序并替换新程序

# 备份旧的nginx可执行文件cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.backup # 将新编译好的程序复制过去cp objs/nginx /usr/local/nginx/sbin/ 

配置、编译和安装
使用上一步保存的原有参数,并额外加上 --with-http_ssl_module

./configure [你之前保存的所有原参数] --with-http_ssl_module 

例如,你的命令可能看起来像这样:

./configure --prefix=/usr/local/nginx --with-http_stub_status_module ... --with-http_ssl_module 

配置完成后,执行编译。注意:make 之后不要执行 make install,这会覆盖配置文件。

make

进入Nginx源码目录
如果你当初是从源码编译安装的,应该知道源码在哪。如果找不到,可能需要重新下载一个与你当前版本一致的Nginx源码包。

# 例如,进入一个临时目录并下载源码(以1.24.0版本为例,版本号务必匹配)cd /usr/local/src wget http://nginx.org/download/nginx-1.24.0.tar.gz tar -zxvf nginx-1.24.0.tar.gz cd nginx-1.24.0 

查看当前Nginx的编译参数

nginx -V 2>&1|grep arguments 

这会输出一长串 --with-... 的参数,请完整复制保存下来,下一步会用到。

二、验证解决

完成后,执行 nginx -V,查看输出中是否包含 --with-http_ssl_module。如果包含,说明SSL模块已就绪。

然后执行nginx -t,显示**nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful**即成功了。

image-20251219213639584

Read more

SpringBoot+Vue web药店管理系统平台完整项目源码+SQL脚本+接口文档【Java Web毕设】

SpringBoot+Vue web药店管理系统平台完整项目源码+SQL脚本+接口文档【Java Web毕设】

系统架构设计### 摘要 随着信息技术的飞速发展,传统药店管理模式逐渐暴露出效率低下、数据管理混乱等问题。药店在日常运营中涉及药品库存管理、销售记录、客户信息等多方面数据,传统的人工记录方式不仅耗时耗力,还容易出现错误。为了提高药店的管理效率和服务质量,开发一套基于现代Web技术的药店管理系统显得尤为重要。该系统能够实现药品信息的数字化管理,优化库存流转,提升销售效率,并为用户提供便捷的查询和购买体验。关键词:药店管理、数字化、效率提升、SpringBoot、Vue。 本系统采用前后端分离架构,后端基于SpringBoot框架实现,提供RESTful API接口,前端使用Vue.js框架构建用户界面,确保系统的高效性和可扩展性。系统主要功能包括药品信息管理、库存监控、销售记录统计、会员管理以及数据报表生成等。通过Spring Security实现用户权限控制,确保数据安全性;利用MyBatis作为持久层框架,优化数据库操作效率。系统还提供了完善的接口文档,便于后续功能扩展和维护。关键词:SpringBoot、Vue.js、RESTful API、权限控制、MyBatis。 数据表

By Ne0inhk
JAVA 异常处理:从原理到实战最佳实践

JAVA 异常处理:从原理到实战最佳实践

JAVA 异常处理:从原理到实战最佳实践 1.1 本章学习目标与重点 💡 掌握异常的分类与核心概念,理解异常处理的设计思想。 💡 熟练运用 try-catch-finally、throws、throw 处理异常。 💡 掌握自定义异常的编写与使用场景,规范异常处理流程。 ⚠️ 本章重点是 异常处理的最佳实践 和 避免常见误区,这是提升代码健壮性的核心技能。 1.2 异常的核心概念与分类 1.2.1 什么是异常 💡 异常是指程序运行过程中出现的非正常情况,它会中断程序的正常执行流程。 比如文件找不到、数组下标越界、空指针访问等,这些情况都会触发异常。 Java 中所有异常都是 Throwable 类的子类,异常处理的本质是捕获并处理这些非正常情况,保证程序可以继续运行或优雅退出。 1.2.2 异常的分类 Java 中的异常体系分为三大类,它们的父类都是 Throwable: * 是 JVM 内部的严重错误,

By Ne0inhk
Java中的char、String、StringBuilder与StringBuffer 深度详解

Java中的char、String、StringBuilder与StringBuffer 深度详解

文章目录 * 第一章:一切的基础——char原始类型 * 1.1 定义与本质 * 1.2 字符编码的演变:从char到byte * 1.3 char的初始化与赋值 * 1.4 char的运算 * 第二章:不可变的字符串——String类 * 2.1 类的定义与不可变性 * 2.2 不可变性的优势 * 2.3 创建String对象的两种方式 * 2.4 操作的真相:总是生成新对象 * 2.5 字符串拼接的陷阱与优化 * 第三章:可变的字符序列——StringBuilder与StringBuffer * 3.1 AbstractStringBuilder:共同的祖先 * 3.2 StringBuilder:非线程安全的“快枪手” * 3.3

By Ne0inhk
本地 AI 模型管理新选择:OpenWebUI+cpolar 让远程使用更自由

本地 AI 模型管理新选择:OpenWebUI+cpolar 让远程使用更自由

OpenWebUI 是一款能将本地 AI 模型操作可视化的工具,支持管理 Ollama 本地模型和接入 OpenAI 兼容 API,还有私人知识库、多用户管理等功能,不管是设计师、小团队成员还是学生党都能用。它把命令行操作变成类似微信聊天的界面,操作简单,数据存在本地,隐私有保障。 用下来发现,OpenWebUI 的交互体验很流畅,打字机效果、Markdown 渲染这些细节做得不错,新手也能快速上手管理模型。不过要注意,运行大模型时对电脑内存要求不低,至少得 8GB 以上,不然可能卡顿。 但它有个局限,默认只能在局域网内使用。比如设计师在家调好的模型,上班想继续用就得远程操控电脑,很不方便;小团队成员不在同一局域网,就没法共用模型协作。 这时候搭配 cpolar 就不一样了。cpolar 能实现内网穿透,让 OpenWebUI 突破局域网限制,出门在外用手机浏览器输入网址就能访问,还能轻松分享给朋友体验,数据传输加密也更安全,不用额外买服务器,

By Ne0inhk