将 Apache 从 2.4.18 升级到 2.4.46 后,如何修复“(38)功能未实现:AH00141:无法初始化随机数生成器”?

2023-11-24

我有一个运行系统,包括 Ubuntu 16.04、Apache 2.4.18、PHP 7.3 和 7.4、PHP-FPM、PHP FastCGI、MPM 事件。

我想升级到最新的 Apache 版本(2.4.46-2+ubuntu16.04.1+deb.sury.org+3 amd64 [可升级自:2.4.18-2ubuntu3.17]),如下所示:

添加 apt-存储库 -y ppa:ondrej/apache2

易于更新

apt-get --only-upgrade 安装 apache2

服务 apache2 重新启动

apache2.service 的作业失败,因为控制进程退出并出现错误代码。有关详细信息,请参阅“systemctl status apache2.service”和“journalctl -xe”。

日志控制-xe

apachectl[9010]: [:crit] [pid 9013] (38)函数未实现: AH00141: 无法初始化随机数生成器

我检查了 /dev/random 和 /dev/urandom 已安装。 内核:4.4.0-042stab141.2 和 libc6:2.23-0ubuntu11.2


我在 Ubuntu 上将 apache 升级到版本 2.4.46 后也发生过这种情况。我发现这是内核版本。

我知道我做到了apt-get upgrade并且内核应该是最新版本,并且也在运行sudo update-grub向我展示了较新的版本,但正在运行uname -r显示非常旧的(3.x)内核。

经过几乎一整天的长时间调查并尝试了我在网上找到的有关升级 Ubuntu 内核的所有内容 - 我发现这是 Digitalocean,而不是我。旧的 Droplet 使用外部管理的内核 - 因此无论您在环境中做什么,它总是采用外部内核。解决方案在这里:https://www.digitalocean.com/docs/droplets/how-to/kernel/grubloader/#switch

如果您确实在数字海洋控制面板的 Droplet 设置中看到下拉和更改按钮,那么您的内核是外部管理的。在该下拉列表中输入“grub”并选择 GrubLoader v0.2,按“更改”按钮,就是这样!

现在您需要关闭并重新打开服务器,但在此之前我建议运行以下命令:sudo apt-get update sudo apt-get upgrade

上述升级将更新整个系统。要仅更新内核,请运行上述更新命令,然后运行:sudo apt-get upgrade linux-image-generic

现在关闭(sudo poweroff或从 DigitalOcean 界面关闭电源,但最好从 CLI 执行此操作)。请注意,在这种特殊情况下重新启动是不够的,并且需要完全关闭 (感谢@gauss256的评论)。然后从数字海洋接口重新打开电源,启动后您应该会看到新的内核版本。

提示 - 您可能想在重新启动后删除旧的内核文件,可以通过以下方式完成:sudo apt-get purge $( dpkg --list | grep -P -o "linux-image-\d\S+" | grep -v $(uname -r | grep -P -o ".+\d") )

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 Apache 从 2.4.18 升级到 2.4.46 后,如何修复“(38)功能未实现:AH00141:无法初始化随机数生成器”? 的相关文章

  • 如何将 Windows 上的 Git 升级到最新版本

    我刚刚从之前的版本升级到适用于 Windows 的 Git 1 8 0 11 7 9 mysysgit 0 我下载了来自 Git 站点的新版本 http cloud github com downloads msysgit git Git
  • 升级到 Spring Security 6 后角色层次结构不起作用

    我正在从 spring boot 2 7 x 升级到 3 0 0 按照官方文档中的建议进行更改后 我发现我的角色层次结构没有得到尊重 I added expressionHandler 到我的代码中建议的Spring Security 6
  • Apache2:429,请求响应过多

    当我开始大量使用 API 时 我的 Apache 返回 429 错误代码 API 调用由 SAP BusinessObject 生成并发送到我的 反向代理 以将 HTTP 转换为 HTTPS 反向代理通过 HTTPS 将 HTTP 请求转发
  • 防止 Web 应用程序升级时浏览器缓存

    我有一个非常麻烦的问题 目前还没有找到好的解决方案 我允许浏览器缓存所有应用程序静态文件 JS CSS 和图像 以提高性能 问题是 当我进行升级时 用户仍然使用缓存中的旧版本 这经常会破坏应用程序 并且每次都需要清除缓存才能解决问题 是否有
  • Ajp 收到带有签名的无效消息

    我使用的是 Tomcat 7 0 29 前端是 Apache 2 2 22 modproxy 在 httpd conf 中将 Ajp 配置为协议 在 server xml 中将 AjpNioProtocol 配置为 AjpNioProtoc
  • 修复损坏的符号链接/重新安装 php5

    如何修复损坏的符号链接 删除 死 文件 Context 由于我弄乱了本地测试服务器之一上的 php ini 配置 因此我决定重新安装基本的网络服务器内容 apache2 php5 Problem 安装后 etc apache2 php5 p
  • 如何禁用apache2中的mod_deflate?

    如何在 Apache2 中禁用 mod deflate 对于特定目录中的文件 OR 对于所有具有扩展名的文件 例如 py 您可以设置环境变量no gzip http httpd apache org docs 2 2 mod mod def
  • 从 Django 1.7.1 升级到 1.8.2 失败

    我的 Django 1 7 1 应用程序运行良好 但我想升级到更新的版本 1 8 2 我正在按照说明进行操作here https docs djangoproject com en 1 8 howto upgrade version 基本上
  • 当我启动 apache 并继续杀死我的机器时,如何防止产生大量 apache 进程?

    我在一台 Debian 机器上有一个流量很大的应用程序 而 apache 开始表现得很奇怪 每次我启动 apache 时 都会生成大量的 apache 进程 应用程序根本无法加载 并且整个机器很快就会冻结 必须重新启动才能重新启动 这是启动
  • 从 PHP/Apache 返回 100-Continue

    我正在尝试找到一种方法来防止脚本将不必要的数据上传到 PHP 脚本 我最初试图终止传入的读取连接 这显然违反了 HTTP 协议 我无法让它工作 但我一直在研究替代方案 发现100 Continue状态码正是我所需要的 我的客户应该发送所需的
  • 如何升级SQLite版本?

    我正在开发我的第一个应用程序 并使用以下代码查看我的 SQLite 版本 Cursor cursor SQLiteDatabase openOrCreateDatabase memory null rawQuery select sqlit
  • 关于Android应用程序更新的问题

    几个问题 升级应用程序对存储的数据 即首选项和数据库 有什么影响 系统是否执行新版本的全新安装 即删除旧版本然后安装新版本 或其他操作 如果用户想要保留存储的数据 例如共享首选项或 SQLite 数据库中的值 怎么办 如何模拟此应用程序更新
  • 无法在运行 apache 服务器上访问 http://localhost:80

    在 ubuntu 14 04 中运行 apache 服务器时我得到 This webpage is not available 在浏览器中或 curl 7 Failed to connect to localhost port 80 Con
  • 如何配置 apache 查看隐藏(`.`)文件?

    如何在 apache 中显示目录列表 隐藏文件 我都尝试过
  • PHP APC 潜在的缓存猛击避免了密钥

    我在尝试使用时收到此错误apc store 我用谷歌搜索了一下 发现这是APC定时炸弹错误并看到了一些建议添加的修复apc slam defense Off 到 php ini 我需要知道这是否是由于编程错误而发生的 如果是 如何修复它 这
  • “sites-enabled”和“sites-available”目录之间有什么区别? [关闭]

    Closed 这个问题是与编程或软件开发无关 help closed questions 目前不接受答案 Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的
  • Laravel 5.2 升级 - 找不到类 AuthServiceProvider

    我目前正在花时间将我的项目从 Laravel 4 2 升级到 Laravel 5 2 经过很多麻烦 我设法让 5 1 版本正确运行 因此我按照官方文档中所述开始了 5 1 到 5 2 的过程 https laravel com docs 5
  • 在 apache 上托管多个 SSL 证书

    我希望有人能帮我解决这个问题 我有 2 个 IP 可用于执行此操作 并且需要在同一台 Apache 服务器上托管 2 个不同的安全 SSL 域 我已经读到 从 Apache 2 2 开始 可以使用某种插件来使用单个 IP 但我希望保持尽可能
  • DBus 是我要找的吗?

    我需要一个Linux上的IPC系统 我的要求是 面向数据包 消息 能够处理点对点和一对多通信 没有层次结构 没有服务器和客户端 如果一个端点崩溃 必须通知其他端点 现有 Linux 发行版的良好支持 Apache 存在 绑定 用于创建动态页
  • json文件格式的升级路径

    我们将 Java 应用程序的用户首选项存储在 JSON 文件中 使用Jackson http jackson codehaus org 随着我们继续开发该应用程序 我们将添加首选项 重命名首选项并删除过时的首选项 当用户将应用程序升级到下一

随机推荐