Macos 升级到苹果服务器应用程序第5版后,在安装Passenger时遇到不同的问题

Macos 升级到苹果服务器应用程序第5版后,在安装Passenger时遇到不同的问题,macos,apache,server,passenger,osx-yosemite,Macos,Apache,Server,Passenger,Osx Yosemite,我已成功运行Passenger 4.0.59和服务器应用程序的版本4。在升级到服务器5.0.4后,4.0.59出现了一个小问题。我认为问题出在服务器应用程序上,所以我决定在更新服务器应用程序之前将服务器回滚到。使用服务器4.1.13,我能够成功升级并运行Passenger 5.0.20 当时我正在我的MacMini服务器上运行最新版本的Yosemite。服务器应用程序版本5.0.4和5.0.15已发布,可在约塞米蒂和El Capitan上运行。我又开始和乘客有问题了。我按照说明中的指示卸载了Pa

我已成功运行Passenger 4.0.59和服务器应用程序的版本4。在升级到服务器5.0.4后,4.0.59出现了一个小问题。我认为问题出在服务器应用程序上,所以我决定在更新服务器应用程序之前将服务器回滚到。使用服务器4.1.13,我能够成功升级并运行Passenger 5.0.20

当时我正在我的MacMini服务器上运行最新版本的Yosemite。服务器应用程序版本5.0.4和5.0.15已发布,可在约塞米蒂和El Capitan上运行。我又开始和乘客有问题了。我按照说明中的指示卸载了Passenger,然后重新开始

当我同时安装5.0.21的企业版和开源版时,我遇到了错误。当我执行乘客配置验证安装命令时,它会说一切看起来都和以前一样好。但是现在,当我执行乘客配置验证安装命令时,它会说一切看起来都和以前一样好。但是现在,当我执行乘客状态命令时,它尚未启动,但出现以下错误。根据文件,该要求仅适用于5.x.x版乘客

XXXXXXXX$ rvmsudo passenger-status
ERROR: Phusion Passenger doesn't seem to be running. If you are sure that it is running, then the causes of this problem could be:

1. You customized the instance registry directory using Apache's PassengerInstanceRegistryDir option, Nginx's passenger_instance_registry_dir option, or Phusion Passenger Standalone's --instance-registry-dir command line argument. If so, please set the environment variable PASSENGER_INSTANCE_REGISTRY_DIR to that directory and run passenger-status again.
2. The instance directory has been removed by an operating system background service. Please set a different instance registry directory using Apache's PassengerInstanceRegistryDir option, Nginx's passenger_instance_registry_dir option, or Phusion Passenger Standalone's --instance-registry-dir command line argument.
 command it has not started but gets the following error.

    XXXXXXXX$ rvmsudo passenger-status
    ERROR: Phusion Passenger doesn't seem to be running. If you are sure that it is running, then the causes of this problem could be:

    1. You customized the instance registry directory using Apache's PassengerInstanceRegistryDir option, Nginx's passenger_instance_registry_dir option, or Phusion Passenger Standalone's --instance-registry-dir command line argument. If so, please set the environment variable PASSENGER_INSTANCE_REGISTRY_DIR to that directory and run passenger-status again.
    2. The instance directory has been removed by an operating system background service. Please set a different instance registry directory using Apache's PassengerInstanceRegistryDir option, Nginx's passenger_instance_registry_dir option, or Phusion Passenger Standalone's --instance-registry-dir command line argument.
我尝试根据添加到Apache配置文件中的语句(一次添加一条语句),但得到了相同的错误

PassengerInstanceRegistryDir /tmp

PassengerInstanceRegistryDir /private/tmp
我决定卸载5.0.21并安装开放源码版本的Passenger 4.0.60,认为这将解决问题。然而,当我尝试并执行rvmsudo乘客安装-apache2-module时,我得到了一个我不熟悉的绿色诺雷图错误

rm -f buildout/libev/libev.la
cd buildout/libev/ && make libev.la
/bin/sh ./libtool --tag=CC   --mode=compile cc -DHAVE_CONFIG_H -I. -I/Users/server1/.rvm/gems/ruby-2.2.2@LightBeCorp_Rails42Ruby222/gems/passenger-4.0.60/ext/libev     -D_REENTRANT -I/usr/local/include -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-long-long -Wno-missing-field-initializers -fcommon -fvisibility=hidden -DVISIBILITY_ATTRIBUTE_SUPPORTED -g -DHAS_ALLOCA_H -DHAS_SFENCE -DHAS_LFENCE -DPASSENGER_DEBUG -DBOOST_DISABLE_ASSERTS -w -MT ev.lo -MD -MP -MF .deps/ev.Tpo -c -o ev.lo /Users/server1/.rvm/gems/ruby-2.2.2@LightBeCorp_Rails42Ruby222/gems/passenger-4.0.60/ext/libev/ev.c
libtool: compile:  cc -DHAVE_CONFIG_H -I. -I/Users/server1/.rvm/gems/ruby-2.2.2@LightBeCorp_Rails42Ruby222/gems/passenger-4.0.60/ext/libev -D_REENTRANT -I/usr/local/include -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-long-long -Wno-missing-field-initializers -fcommon -fvisibility=hidden -DVISIBILITY_ATTRIBUTE_SUPPORTED -g -DHAS_ALLOCA_H -DHAS_SFENCE -DHAS_LFENCE -DPASSENGER_DEBUG -DBOOST_DISABLE_ASSERTS -w -MT ev.lo -MD -MP -MF .deps/ev.Tpo -c /Users/server1/.rvm/gems/ruby-2.2.2@LightBeCorp_Rails42Ruby222/gems/passenger-4.0.60/ext/libev/ev.c -o ev.o
/Users/server1/.rvm/gems/ruby-2.2.2@LightBeCorp_Rails42Ruby222/gems/passenger-4.0.60/ext/libev/ev.c:970:42: error: '_Noreturn' keyword must precede function declarator
  ecb_inline void ecb_unreachable (void) ecb_noreturn;
                                         ^~~~~~~~~~~~
  _Noreturn 
/Users/server1/.rvm/gems/ruby-2.2.2@LightBeCorp_Rails42Ruby222/gems/passenger-4.0.60/ext/libev/ev.c:773:26: note: expanded from macro 'ecb_noreturn'
  #define ecb_noreturn   _Noreturn
                         ^
1 error generated.
make: *** [ev.lo] Error 1
rake aborted!
Command failed with status (2): [cd buildout/libev/ && make libev.la...]
/Users/server1/.rvm/gems/ruby-2.2.2@LightBeCorp_Rails42Ruby222/gems/passenger-4.0.60/build/common_library.rb:143:in `block in <top (required)>'
Tasks: TOP => apache2 => buildout/agents/PassengerHelperAgent => buildout/libev/.libs/libev.a
(See full trace by running task with --trace)

--------------------------------------------

It looks like something went wrong
rm-f buildout/libev/libev.la
cd buildout/libev/&&make libev.la
/bin/sh./libtool--tag=CC--mode=compile CC-DHAVE_CONFIG_H-I.-I/Users/server1/.rvm/gems/ruby-2.2。2@LightBeCorp_Rails42Ruby222/gems/passenger-4.0.60/ext/libev-D_REENTRANT-I/usr/local/include-Wall-Wextra-Wno未使用参数-Wno括号-Wpointer arith-Wwrite字符串-Wno long-Wno缺少字段初始值设定项-fcommon-fvisibility=hidden-DVISIBILITY\u ATTRIBUTE\u SUPPORTED-g-DHAS\u ALLOCA\u H-DHAS\u SFENCE-DHAS\u LFENCE-DPASSENGER\u DEBUG-DBOOST\u DISABLE\u ASSERTS-w-MT ev.lo-MD-MP-MF.deps/ev.Tpo-c-o ev.lo/Users/server1/.rvm/gems/ruby-2.2。2@LightBeCorp_Rails42Ruby222/gems/passenger-4.0.60/ext/libev/ev.c
libtool:compile:cc-DHAVE\u CONFIG\u H-I.-I/Users/server1/.rvm/gems/ruby-2.2。2@LightBeCorp_Rails42Ruby222/gems/passenger-4.0.60/ext/libev-D_REENTRANT-I/usr/local/include-Wall-Wextra-Wno未使用参数-Wno括号-Wpointer arith-Wwrite字符串-Wno long-Wno缺少字段初始值设定项-fcommon-fvisibility=hidden-DVISIBILITY\u ATTRIBUTE\u SUPPORTED-g-DHAS\u ALLOCA\u H-DHAS\u SFENCE-DHAS\u LFENCE-DPASSENGER\u DEBUG-DBOOST\u DISABLE\u ASSERTS-w-MT ev.lo-MD-MP-MF.deps/ev.Tpo-c/Users/server1/.rvm/gems/ruby-2.2。2@LightBeCorp_Rails42Ruby222/gems/passenger-4.0.60/ext/libev/ev.c-o ev.o
/Users/server1/.rvm/gems/ruby-2.2。2@LightBeCorp_Rails42Ruby222/gems/passenger-4.0.60/ext/libev/ev.c:970:42:错误:“\u Noreturn”关键字必须在函数声明符之前
ecb在线无效ecb无法访问(无效)ecb noreturn;
^~~~~~~~~~~~
_诺雷图恩
/Users/server1/.rvm/gems/ruby-2.2。2@LightBeCorp_Rails42Ruby222/gems/passenger-4.0.60/ext/libev/ev.c:773:26:注:从宏“ecb_noreturn”扩展而来
#定义ecb_noreturn_noreturn
^
生成1个错误。
制造:**[ev.lo]错误1
雷克流产了!
命令失败,状态为(2):[cd buildout/libev/&&make libev.la…]
/Users/server1/.rvm/gems/ruby-2.2。2@LightBeCorp_Rails42Ruby222/gems/passenger-4.0.60/build/common_library.rb:143:in'block in'
任务:TOP=>apache2=>buildout/agents/passengerherperagent=>buildout/libev/.libs/libev.a
(通过使用--trace运行任务查看完整跟踪)
--------------------------------------------
看起来好像出了什么问题

我在网上搜索了升级到El Capitan和/或当前版本的服务器应用程序的问题,但没有一个是针对我遇到的乘客错误的问题。

我在Phusion乘客谷歌群中发布了我的问题。他们建议我运行
rvmsudo乘客记忆统计数据
。这表明Apache配置随服务器应用程序的版本5而改变。我通过联系苹果企业支持团队确认了这一点。服务器应用程序版本5的新Apache配置文件是
/Library/Server/Web/config/Proxy/Apache_serviceproxy.conf
。我复制了我的passenger语句和虚拟主机include语句,并使passenger 5.0.22正常工作。

在某个时候,我已经厌倦了web服务器配置文件被覆盖,并注意到“其他”中的所有.conf文件(
/Library/server/web/config/apache2/other/
)默认情况下,将加载目录。在该目录中创建一个passenger.conf文件(或任何您想称之为passenger.conf的文件),使用您的passenger配置选项,它将始终被加载,并且永远不会被覆盖