我刚刚把我的rails应用程序移到了一台新机器上。我使用的是apache 2.2.3和passenger 3.0.11。在初始加载数据库后,我断断续续地看到一个错误,说rails应用程序无法启动。下面是我在apache错误日志中看到的内容:
[Sun Mar 18 04:02:13 2012] [notice] Apache/2.2.3 (CentOS) configured -- resuming normal operations
[ pid=10788 thr=47366521234240 file=ext/apache2/Hooks.cpp:860 time=2012-03-18 08:51:10.215 ]: Unexpected error in mod_passenger: Cannot connect to Unix socket '/tmp/passenger.1.0.13044/generation-0/socket': No such file or directory (2)
Backtrace:
in 'Passenger::ApplicationPool::Client* Passenger::ApplicationPool::Client::connect(const std::string&, const std::string&, const Passenger::StaticString&)' (Client.h:438)
in 'Passenger::ApplicationPool::Client* Hooks::getApplicationPool()' (Hooks.cpp:266)
in 'Passenger::SessionPtr Hooks::getSession(const Passenger::PoolOptions&)' (Hooks.cpp:292)
in 'int Hooks::handleRequest(request_rec*)' (Hooks.cpp:561)我已经做了一些谷歌搜索,但我似乎只能找到乘客说要将passenger升级到版本3,但我已经在版本3上了。我还看到有人说要更改logrotate脚本以重启apache,而不是重新加载,这对我没有任何帮助。有谁有什么想法吗?这是我为乘客准备的apache会议。我使用的是作为gem安装的ruby enterprise和passenger的rvm版本:
LoadModule passenger_module /usr/local/rvm/gems/ree-1.8.7-2012.02/gems/passenger-3.0.11/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/rvm/gems/ree-1.8.7-2012.02/gems/passenger-3.0.11
PassengerRuby /usr/local/rvm/wrappers/ree-1.8.7-2012.02/ruby我还尝试添加rails派生方法作为保守方法,并添加最大池大小,结果相同。不知道该往哪里走。
发布于 2012-03-21 17:51:12
您是否启用了SELinux?运行cat /selinux/enforce来找出答案。如果打印1,请尝试使用echo 0 > /selinux/enforce禁用SELinux,看看这是否能解决问题。如果这解决了问题,您可以选择尝试解决它(例如,通过设置PassengerTempDir设置。在Passenger user guide中搜索SELinux )或将其永久关闭。
发布于 2014-01-04 00:24:13
最近我也遇到了同样的问题。我试过了:
sudo /etc/init.d/httpd restart
Stopping httpd: [FAILED]
Starting httpd: (98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
[FAILED]作为最后的解决方案你总是可以“真正”重启一切:
sudo killall httpd # <---------
sudo service httpd status
httpd is stopped
sudo service httpd start
Starting httpd: [ OK ]https://stackoverflow.com/questions/9791677
复制相似问题