我有Centos 6-Apache-Passenger-Ruby的组合。按照说明here进行安装。我也有whm,这意味着必须通过点击对httpd.conf进行更改。在尝试加入/etc/httpd/conf.d/*.conf
时,告诉我错误原因是:Cannot load /usr/local/apache/modules/mod_passenger.so into server.
问题出在/etc/httpd/conf.d/passenger.conf
:
LoadModule passenger_module modules/mod_passenger.so
句子的最后一部分应该指向实际的mod_passenger.so
,而不是/etc/httpd/modules
内部......问题出在哪里?
我通过yum安装,这意味着:
sudo yum install -y epel-release pygpgme curl
sudo curl --fail -sSLo /etc/yum.repos.d/passenger.repo https://oss-binaries.phusionpassenger.com/yum/definitions/el-passenger.repo
sudo yum install -y mod_passenger
当我运行sudo /usr/bin/passenger-config validate-install
时,安装apache(已经运行它们)并不重要,如下所示:
You did not specify 'LoadModule passenger_module' in any of your
Apache configuration files. This means that Phusion Passenger
for Apache is not installed or not active. Please run the
Phusion Passenger Apache module installer:
/usr/bin/ruby /usr/bin/passenger-install-apache2-module --apxs2=/usr/bin/apxs
我运行安装程序,说一切都好,但从不工作......
我知道我必须像这样指定位置的位置:
LoadModule passenger_module /path/to/the/module
但我找不到它。找到mod_passenger.so不起作用。我不能去.rvm位置,因为不存在。乘客不是作为宝石安装,而是通过yum ......
找到乘客找到mod_passenger.so
的位置的任何技巧?感谢。
答案 0 :(得分:2)
rpm
将为您提供任何已安装软件包的文件列表,如下所示:
rpm -ql mod_passenger
这可以通过grep
仅针对您的文件进一步细化:
rpm -ql mod_passenger | grep 'so$'
具有不同apache模块包的完整示例是:
$ rpm -ql mod_ssl
/etc/httpd/conf.d/ssl.conf
/etc/httpd/conf.modules.d/00-ssl.conf
/usr/lib64/httpd/modules/mod_ssl.so
/usr/libexec/httpd-ssl-pass-dialog
/var/cache/httpd/ssl
$ rpm -ql mod_ssl | grep 'so$'
/usr/lib64/httpd/modules/mod_ssl.so