我正准备开始托pipe我自己的Ruby应用程序。 我的生产服务器上已经安装了RVM。 现在我想安装Passenger。
我把Ruby 1.9.2设置为默认值。 我安装了乘客gem,运行passenger-install-apache2-module 。 这显示了一个缺less依赖关系的列表,其中一个是对Ruby的OpenSSL支持。 它解释说我需要重新安装OpenSSL支持的Ruby。 我不知道该怎么做,也不知道为什么不在那里。 以下是其他错误的列表:
这些东西好像应该已经可用了。 我安装了RVM吗? 有没有一种更简单的方法让客运启动,而不需要安装一堆我以后可能永远不会使用的依赖关系? 我该怎么办?
更新:我忘了提及这是一个在Rackspace托pipe的RedHat服务器。 我不确定是否有Rackspace推荐的方法。 我知道他们维护自己的可信软件包/存储库列表。
我不得不安装Passenger(特别是mod_passenger),这是我做的。 我的环境是CentOS 6,x86_64。
安装所需的rpms
yum install httpd httpd-devel openssl-devel mod_ssl
添加EPEL回购。 请记住编辑/etc/yum.repos.d/epel.repo并将其设置为0来禁用它.epel-release-6-5.noarch.rpm的实际源码不会来自fedoraproject.org / … as你将会碰到一个镜像服务器。
wget http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-5.noarch.rpm rpm -ivh epel-release-6-5.noarch.rpm
设置使用yum回购在stealthymonkeys.com主办rpms乘客。 安装需要epel回购一些从属RPM的mod_passenger。
rpm -Uvh http://passenger.stealthymonkeys.com/rhel/6/passenger-release.noarch.rpm
使用以下命令安装mod_passenger。
yum --enablerepo=epel --enablerepo=passenger install mod_passenger
不能提供更好的答案,因为我不知道你的环境,但希望这会有所帮助。
Rackspace并没有太多的帮助,但是这样做比我想像的要容易得多,没有任何问题。 我只是按照乘客给我的指示。 它说我需要安装一堆软件包,所以我跑过了每一个,一次一个(即sudo yum install openssl-devel )。 没有一个软件包与我安装的其他软件包冲突,因为它们都是新的(我不需要更新)。 然后,我再次运行乘客安装程序,它能够编译自己就好了。
我遇到的唯一问题是Passenger只能让你运行一个Ruby版本,所以当你通过RVM安装Passenger时,确保你rvm use的是你要使用的Ruby版本。