【问题标题】:CentOs 7 cant install mod_wsgiCentOs 7 无法安装 mod_wsgi
【发布时间】:2019-03-02 03:16:45
【问题描述】:

我正在尝试通过使用 mod_wsgi apache 模块来处理脚本来启动并运行服务器以运行 python 脚本(Django 框架)等,但是,它并没有发挥作用,我也不太了解发生了什么或我做错了什么。

我一直无法正确使用YUM 安装程序。到目前为止,这是输出:

# sudo yum install mod_wsgi
Loaded plugins: fastestmirror, universal-hooks
Loading mirror speeds from cached hostfile
 * EA4: 169.255.59.74
 * cpanel-addons-production-feed: 169.255.59.74
 * base: mirror.wiru.co.za
 * epel: fedora.mirror.ac.za
 * extras: mirror.wiru.co.za
 * ius: mirrors.ircam.fr
 * updates: mirror.wiru.co.za
 * webtatic: uk.repo.webtatic.com
Resolving Dependencies
--> Running transaction check
---> Package mod_wsgi.x86_64 0:3.4-12.el7_0 will be installed
--> Processing Dependency: httpd-mmn = 20120211x8664 for package: 
mod_wsgi-3.4-12.el7_0.x86_64
--> Finished Dependency Resolution
Error: Package: mod_wsgi-3.4-12.el7_0.x86_64 (base)
           Requires: httpd-mmn = 20120211x8664
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

首先跳出来的是依赖httpd,我尝试(但失败)使用 yum 安装它。在此之后,我做了一些研究,发现它与 cPanel 存在问题,显然它阻止您使用 Yum 安装 Apache 模块,并且到处都说我应该使用该界面,但我不知道如何使用?

我的目标是弄清楚我“应该”如何加载这些模块以绕过这些障碍并让我的服务器正常运行。有人,请帮忙!

我正在跑步:

  • CentOs 7.5
  • Apache 2.4.34
  • EasyApache 4
  • cPanel 7.40
  • PHP 5.6.38

【问题讨论】:

  • 在 CentOS 7.5 中,httpd 的标准包是 httpd-2.4.6-80.el7.centos.i686.rpm。不知道百胜提供什么。您是如何获得 httpd 版本 2.4.34 的?我只会使用随 .iso 映像或通过 yum 分发的软件包。mod_wsgi-3.4-12.el7_0.i686.rpm 看起来也不错。
  • 哇,谢谢。您刚刚让我意识到 Apache 和 httpd 是一回事(看起来很愚蠢,但我不知道,哈哈)。所以基本上,httpd 2.4.34 是预先安装的(我想这将符合您的.iso)。不管怎样,问题依然存在。我如何实际安装 mod_wsgi? (在 EasyApache 4 中没有显示为选项,只有其他一些名为 Mod_Proxy_uwsgi 的东西?
  • 我将在几个小时后设置一个 CentOS 7.5 服务器。我也会尝试安装mod_wsgi 并会回复您。 .iso 映像可从 CentOS 网站下载,用于创建 CentOS 的 CD/DVD 以进行安装。

标签: apache centos mod-wsgi


【解决方案1】:

在 CentOS 7.5 机器上,我使用 yum 将 httpd (Apache) 更新为 2.4.6-80.el7.centos.1。不完全确定您预装的 httpd 版本 2.4.34 的情况如何。就像我在上面的评论中所说的那样,我只相信 yum 提供的软件版本。您的版本高于标准版本,因此您可能会遇到意想不到的结果。

Updated:
  httpd.i686 0:2.4.6-80.el7.centos.1

Dependency Updated:
  httpd-devel.i686 0:2.4.6-80.el7.centos.1
  httpd-manual.noarch 0:2.4.6-80.el7.centos.1
  httpd-tools.i686 0:2.4.6-80.el7.centos.1
  mod_ldap.i686 0:2.4.6-80.el7.centos.1
  mod_ssl.i686 1:2.4.6-80.el7.centos.1

升级httpd后,我添加了mod_wsgi,安装没有任何问题:

================================================================================
 Package            Arch           Version                 Repository      Size
================================================================================
Installing:
 mod_wsgi           i686           3.4-12.el7_0                base            75 k

Transaction Summary
================================================================================

Install  1 Package

Total download size: 75 k
Installed size: 187 k
Is this ok [y/d/N]: y
Downloading packages:
mod_wsgi-3.4-12.el7_0.i686.rpm                             |  75 kB   00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : mod_wsgi-3.4-12.el7_0.i686                                   1/1
  Verifying  : mod_wsgi-3.4-12.el7_0.i686                                   1/1

Installed:
  mod_wsgi.i686 0:3.4-12.el7_0

Complete!

我想我想说的是,如果您使用无法通过 yum 获得的软件版本,您可能会遇到意想不到的结果。我以前一直走这条路,现在我只使用可以通过 yum 获得的软件版本。

您收到的错误:Requires: httpd-mmn = 20120211x8664 是针对尚未通过 yum 提供的软件包。我在 CentOS 7.5 机器上执行了 yum 搜索,它没有产生任何可用于 httpd-mmn 的信息:

yum search httpd-mmn
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Warning: No matches found for: httpd-mmn
No matches found

因此,您可能必须自己编译它才能使您的设置正常工作。

【讨论】:

  • 好的,所以我设法弄明白了。你确实是对的。这与版本有关。原来 EasyApache 4 不再支持添加自定义可选模块,这就是为什么我无法使用该方法安装 mod_wsgi。 yum 也是不可能的,这要归功于 cPanel 安装中的一个偷偷摸摸的系统文件,它可以防止 yum install 命令触及任何被认为与系统相关或 cPanel 处理的模块或包的东西。仍然设法找到解决办法。原来 mod_proxy_uwsgi 是在 EasyApache 4 中运行 python 的最新支持的 wsgi 替代方案。
猜你喜欢
  • 2020-08-04
  • 2021-01-03
  • 2015-05-16
  • 2015-12-31
  • 1970-01-01
  • 1970-01-01
  • 2016-11-15
  • 2017-05-27
  • 2015-04-28
相关资源
最近更新 更多