你好我向超级用户问了这个问题,但我没有得到一个好问题,我真的需要答案.我知道你们中的一些人可以回答这个问题.
我已经通过yum安装了Nginx.现在我想添加一个模块,但我必须再次编译源代码并包含新模块.
但我找不到来源.有人知道我要做什么来重新编译源代码并获取模块.
Update
我在帕特里克的答案中做了一切,效果很好.但是,当我运行yum update时,它想要使用相同的版本更新已安装的rpm.
我可以让它更新,或者我应该指定它已经是最新的.
解决方法:
Redhat和相关发行版(fedora,centos)将其源代码保存在高度规则的目录树中.对于您想要的RHEL5:ftp://ftp.redhat.com/pub/redhat/linux/enterprise/5Server/en/os/SRPMS/对于其他版本,您可以浏览ftp服务器,直到找到您想要的内容.否则,谷歌获取你所拥有的Nginx的确切版本(rpm -q Nginx)
假设您可以找到srpm,请使用rpm安装它:
rpm -ivh Nginx-xxxx.src.rpm
这将把源和构建文件放在/usr/src / redhat / {BUILD,SPEC,SRC,SOURCES}中.您可以修改/usr/src / redhat / SPEC中的.spec文件来构建您想要的模块以及其余的Nginx,或者您可以手动构建Nginx.
你想建立哪个模块?在fedora’s nginx.spec中,运行configure时指定了几个模块.这可能就像在这里添加一行一样简单:
./configure \
[snip...]
--with-http_realip_module \
--with-http_addition_module \
--with-http_sub_module \
--with-http_dav_module \
--with-http_flv_module \
--with-http_gzip_static_module \
--with-http_stub_status_module \
--with-http_perl_module \
[snip...]
在向Nginx.spec添加任何更改后,您可以使用rpmbuild构建最终rpm:
rpmbuild -ba Nginx.spec
假设包构建没有错误,rpmbuild将它留在/usr/src / redhat / RPMS /
更新:yum将在更新可用时替换您的Nginx包.您可能希望使用与上面相同的过程重建每个新包.但是,如果安全性不是问题,您可以通过在yum配置中添加以下内容(可能是/etc/yum.repos.d/${repo}.repo或类似内容)来简单地从更新列表中排除Nginx.请务必关联它与正确的回购):
exclude=Nginx*
或者使用–exclude选项运行yum
yum --exclude=Nginx*
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。