在 Amazon EC2 micro-perl 和 python 问题上构建 nginx 1.0.4

在 Amazon EC2 micro-perl 和 python 问题上构建 nginx 1.0.4

我想在我的 EC2 微型实例上使用 apache2 将 nginx 作为反向代理运行。yum install nginx 为我提供了 nginx-0.8.53-1.2.amzn1.x86_64.rpm 当前 nginx 是 1.0.4

我找到并遵循了该指南:http://kdn2.info/2011/05/install-nginx-on-amazon-ec2/ 直到“make”为止它都运行良好。

当我得到 checkinstall --fstrans=no 时我得到了

ERROR: ld.so: object '/usr/lib/installwatch.so' from LD_PRELOAD cannot be preloaded: ignored.
test -d '/var/log/nginx' ||             mkdir -p '/var/log/nginx'
ERROR: ld.so: object '/usr/lib/installwatch.so' from LD_PRELOAD cannot be preloaded: ignored.
make[1]: Leaving directory `/root/src/nginx-1.0.4'

======================== Installation successful ==========================
Copying documentation directory...
./
./CHANGES
./LICENSE
./README
cp: cannot stat `//var/tmp/gRWoVgIcdbmjfTjoVGBM/newfiles.tmp': No such file or directory

Copying files to the temporary directory...OK
Striping ELF binaries and libraries...OK
Compressing man pages...OK
Building file list...OK
Building RPM package... FAILED!
*** Failed to build the package

...日志文件充满了:

Building target platforms: x86_64
Building for target x86_64
Processing files: nginx-1.0.4-1.x86_64
error: File not found: /usr/src/rpm/BUILDROOT/nginx-1.0.4-1.x86_64/usr
error: File not found: /usr/src/rpm/BUILDROOT/nginx-1.0.4-1.x86_64/usr/doc

有 /usr/src/rpm/BUILDROOT/nginx-1.0.4-1.x86_64/ 但没有 /usr

继续往下看,页面内容是:

“例如,如果我们想使用 PHP 5.2,我们可以从 CentosALT 存储库下载与 Amazon Kernel(Xen Kernel)兼容的 PHP 和 Nginx。”

因此我安装了这两个存储库,但是当我

yum install http://centos.alt.ru/pub/nginx/1.0/RPMS/x86_64/nginx-stable-1.0.4-1.el5.x86_64.rpm

我明白了

Error: Package: nginx-stable-1.0.4-1.el5.x86_64 (/nginx-stable-1.0.4-1.el5.x86_64)
           Requires: perl(:MODULE_COMPAT_5.8.8)  You could try using --skip-broken to work around the problem

但这并不能解决问题。

当我执行 yum update 时,我得到

--> Finished Dependency Resolution
Error: Package: python-distribute-0.6.19-10.1.x86_64 (devel_languages_python)
           Requires: python < 2.5
           Installed: 1:python-2.6-1.19.amzn1.noarch (@amzn-main)
               python = 1:2.6-1.19.amzn1
Error: Package: python-distribute-0.6.19-10.1.i586 (devel_languages_python)
           Requires: python < 2.5
           Installed: 1:python-2.6-1.19.amzn1.noarch (@amzn-main)
               python = 1:2.6-1.19.amzn1

我已经尝试了所有方法 - yum clean all 以及在其他网站上找到的各种其他建议。

如果有人对当前在 EC2 Micro 上运行的 1.04 nginx 有任何建议或已知软件包(Linux ip-10-56-63-85 2.6.35.11-83.9.amzn1.x86_64 #1 SMP Sat Feb 19 23:42:04 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux - 我认为是 RHEL 5?)那么我将不胜感激。

顺便问一下,这个 repolist 看起来正确吗?

repo id                                 repo name                                                                          status
CentALT                                 CentALT Packages for Enterprise Linux 5 - x86_64                                   enabled:   112+157
amzn-main                               amzn-main-Base                                                                     enabled:     2,706
amzn-main-debuginfo                     amzn-main-debuginfo                                                                disabled
amzn-main-nosrc                         amzn-main-nosrc                                                                    disabled
amzn-updates                            amzn-updates-Base                                                                  enabled:       328
amzn-updates-debuginfo                  amzn-updates-debuginfo                                                             disabled
amzn-updates-nosrc                      amzn-updates-nosrc                                                                 disabled
devel_languages_python                  Python and Python Modules (SLE_10)                                                 enabled: 1,452+768
epel                                    Extra Packages for Enterprise Linux 5 - x86_64                                     enabled: 5,892+604
epel-debuginfo                          Extra Packages for Enterprise Linux 5 - x86_64 - Debug                             disabled
epel-source                             Extra Packages for Enterprise Linux 5 - x86_64 - Source                            disabled
epel-testing                            Extra Packages for Enterprise Linux 5 - Testing - x86_64                           disabled
epel-testing-debuginfo                  Extra Packages for Enterprise Linux 5 - Testing - x86_64 - Debug                   disabled
epel-testing-source                     Extra Packages for Enterprise Linux 5 - Testing - x86_64 - Source                  disabled
s3tools                                 Tools for managing Amazon S3 - Simple Storage Service (RHEL_6)                     enabled:       2+1
repolist: 10,492

答案1

顺便说一句,nginx 包现在以 RPM 格式提供,因此后续人员在构建软件时不一定会遇到 OP 遇到的问题。

http://nginx.org/en/download.html

我不知道 Amazon Linux 在 yum 设置方面是如何标记的,但 RHEL5/6 在那里。

在最坏的情况下,有人可以获取适当的 SRPM 并从那里重建。

http://nginx.org/packages/rhel/5/SRPMS/

答案2

我在 CentOS 6 上遇到了同样的问题

epel我认为你可以通过禁用存储CentALT库或向 yum 添加此选项来 解决这个问题:yum install nginx --disablerepo=epel,CentALT

相关内容