No configuration found. Configuring ehcache from ehcache-failsafe.xml found in the classpath

本文介绍了在/sandh/web-inf/classes目录下ehcache.xml文件的作用及其配置细节,包括默认缓存策略与具体命名缓存策略的设定,如内存缓存数量限制、缓存数据的有效期等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 
如果在/sandh/web-inf/classes下面没有ehcache.xml这个文件,会报这个错误,No configuration found.
Configuring ehcache from ehcache-failsafe.xml found in the classpath:.....这个文件是hibernate缓存配置文件。
<ehcache>
 
<diskStore path="java.io.tmpdir"/>
 
<defaultCache
    
maxElementsInMemory="10000"
    eternal
="false"
    timeToIdleSeconds
="10000" 
    timeToLiveSeconds
="10000" 
    overflowToDisk
="true" 
 
/> 
  
<cache  name="com.hour41.hibernate.vo.common.City"
    maxElementsInMemory
="10000"
    eternal
="false"
    timeToIdleSeconds
="10000" 
    timeToLiveSeconds
="10000" 
    overflowToDisk
="true" 
 
/>
</ehcache>
 
上面配置了默认类缓存和城市类缓存策略:
<diskStore>表示当内存缓存中对象数量超过类设置内存缓存数量时,将缓存对象写到硬盘,path=”java.io.tmpdir
”表示把数据写到这个目录下。Java.io.tmpdir目录在运行时会根据相对路径生成。
<defaultCache>表示设定缓存的默认数据过期策略。
<cache>表示设定用具体的命名缓存的数据过期策略。
name表示具体的缓存命名。
maxElementsInMemory表示cache中最大允许保存的对象数据量。
eternal表示cache中数据是否为常量。
timeToIdleSeconds表示缓存数据钝化时间
timeToLiveSeconds表示缓存数据的生命时间。
overflowToDisk表示内存不足时,是否启用磁盘缓存。
<think>好的,用户遇到了在配置Nginx时添加第三方模块的问题,具体是添加nginx-rtmp-module时出现错误:“./configure: error: no ../nginx-rtmp-module-master/config was found”。我需要帮他解决这个问题。 首先,用户之前已经执行了删除Makefile和objs目录的操作,说明他们在尝试重新配置和编译Nginx。现在的问题是添加模块时路径错误。常见原因可能是模块路径不正确,或者模块目录中缺少必要的config文件。 我需要先确认用户是否正确下载了nginx-rtmp-module,并且路径是否正确。用户使用的路径是“../nginx-rtmp-module-master”,这意味着模块目录应该位于Nginx源码目录的上一级。如果用户没有正确下载或解压模块,或者路径拼写错误,就会导致这个问题。 接下来,我应该检查模块目录中是否存在config文件。因为错误提示明确指出找不到config文件,可能用户下载的模块版本有问题,或者解压后的目录结构不一致。例如,某些模块可能需要特定的分支或版本,或者用户可能下载的是仓库的zip文件,解压后的目录名称可能不同。 然后,我需要考虑用户是否在正确的目录下执行configure命令。如果用户所在的Nginx源码目录位置不对,相对路径也会出错。例如,如果Nginx源码目录是nginx-1.10.3,而模块目录在它的同级目录,那么“../nginx-rtmp-module-master”是正确的;但如果模块目录在别处,路径需要调整。 另外,可能的解决方案包括:绝对路径代替相对路径,确保模块目录正确,重新下载模块,或者检查config文件是否存在。如果用户是从GitHub克隆的仓库,可能需要确认是否使用了正确的克隆命令,或者是否切换到了正确的分支。 还需要提醒用户在配置完成后,继续执行make和make install的步骤,并验证模块是否成功添加。同时,提醒常见的注意事项,比如不要直接修改Makefile,保持依赖库的最新等。 总结下来,回答的结构应该是先解释错误原因,然后逐步指导用户检查路径、模块目录、config文件,并提供具体的命令示例。同时,给出常见问题处理方法和验证步骤,确保用户能够一步步解决问题。</think>--- ### **错误分析与解决方案** 你试图通过 `./configure --add-module=../nginx-rtmp-module-master` 添加 RTMP 模块时,系统报错 **`no ../nginx-rtmp-module-master/config was found`**。以下是根本原因和修复方法: --- #### **一、错误原因** 1. **路径错误** - 假设当前目录为 `/root/nginx-1.10.3`,你指定的模块路径 `../nginx-rtmp-module-master` 表示: $$ \text{Nginx源码目录的父目录} \rightarrow \text{nginx-rtmp-module-master子目录} $$ → 但实际路径中可能**不存在该目录**,或目录名称不匹配。 2. **模块未正确下载** - `nginx-rtmp-module` 的仓库中必须包含 `config` 文件(定义模块编译规则),若仅下载了部分文件或仓库分支错误,会导致缺失关键文件。 --- #### **二、逐步修复流程** ##### **步骤1:验证模块路径** ```bash # 检查模块目录是否存在(假设Nginx源码目录为/root/nginx-1.10.3) ls -l ../nginx-rtmp-module-master # 预期输出应显示目录内容,包含config文件 ls -l ../nginx-rtmp-module-master/config ``` - ✅ **正常情况**:显示 `config` 文件详细信息(例如 `-rw-r--r-- 1 root root 1350 Jun 10 14:20 config`) - ❌ **异常情况**:`No such file or directory` → 进入步骤2 --- ##### **步骤2:修复模块路径问题** **场景1:模块目录名称不匹配** 若实际目录名为 `nginx-rtmp-module`(缺少 `-master` 后缀): ```bash # 调整路径名称(示例) mv ../nginx-rtmp-module ../nginx-rtmp-module-master ``` **场景2:模块未放置在正确位置** - 假设模块实际路径为 `/opt/nginx-rtmp-module`,则使用绝对路径: ```bash ./configure --add-module=/opt/nginx-rtmp-module ``` --- ##### **步骤3:重新下载模块(推荐官方仓库)** ```bash # 进入Nginx源码目录的父目录 cd /root # 下载最新版nginx-rtmp-module(官方仓库) git clone https://github.com/arut/nginx-rtmp-module.git # 返回Nginx源码目录 cd nginx-1.10.3 # 使用正确路径配置 ./configure --add-module=../nginx-rtmp-module ``` --- ##### **步骤4:检查config文件存在性** 如果路径正确但仍报错,手动验证 `config` 文件: ```bash # 查看模块目录内容 ls -l ../nginx-rtmp-module/config # 若文件缺失,重新下载完整仓库 rm -rf ../nginx-rtmp-module git clone --depth=1 https://github.com/arut/nginx-rtmp-module.git ``` --- #### **三、完整配置命令示例** ```bash # 基础配置 + RTMP模块 ./configure \ --prefix=/usr/local/nginx \ --with-http_ssl_module \ --with-http_stub_status_module \ --add-module=../nginx-rtmp-module ``` --- #### **四、验证模块是否生效** 编译安装后,通过以下命令检查: ```bash /usr/local/nginx/sbin/nginx -V 2>&1 | grep rtmp # 正常输出应包含: --add-module=../nginx-rtmp-module ``` --- #### **五、注意事项** 1. **避免使用压缩包解压的目录** GitHub仓库的ZIP包解压后可能生成 `nginx-rtmp-module-master` 目录(含`-master`后缀),需保持路径一致性。 2. **依赖项检查** RTMP 模块依赖 OpenSSL,确保已安装开发库: ```bash # CentOS/RHEL yum install openssl-devel # Ubuntu/Debian apt-get install libssl-dev ``` 3. **分支兼容性** 若使用旧版 Nginx(如1.10.3),需选择兼容的模块分支: ```bash git clone -b v1.2.1 https://github.com/arut/nginx-rtmp-module.git ``` --- #### **六、操作流程图** $$ \text{下载模块} \rightarrow \text{确认路径} \rightarrow \text{附加模块参数} \rightarrow \text{编译安装} $$ **关键依赖关系**: $$ \text{config文件存在} \iff \text{模块仓库完整} $$
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值