【问题标题】:Error when deploying Rails with Passenger and Apache: Unexpected error in mod_passenger: Cannot connect to Unix socket Permission denied (errno=13)使用Passenger和Apache部署Rails时出错:mod_passenger中出现意外错误:无法连接到Unix套接字权限被拒绝(errno = 13)
【发布时间】:2017-03-16 21:05:40
【问题描述】:

我一直在尝试通过在 CentOS 7 上使用 Phusion Passenger 和 Apache 来部署我的 Rails 应用程序。 我正在关注 Phusion Passenger 网站上的tutorial,但我被卡住了。

当我启动 Apache 并使用浏览器访问应用程序时,我得到:500 Internal Server Error。 在 /etc/httpd/logs/error_log 的错误日志文件中发现如下错误:

[ 2017-03-15 22:57:15.5385 18290/7f4c6eb61880 apa/Hooks.cpp:690 ]: Unexpected error in mod_passenger: Cannot connect to Unix socket '/tmp/passenger.8zZ83f3/agents.s/core': Permission denied (errno=13)
  Backtrace:
     in 'int Passenger::connectToServer(const Passenger::StaticString&, const char*, unsigned int)' (IOUtils.cpp:459)
     in 'Passenger::FileDescriptor Hooks::connectToCore()' (Hooks.cpp:273)
     in 'int Hooks::handleRequest(request_rec*)' (Hooks.cpp:561)

到目前为止我尝试过:

  1. 禁用 SELinux:设置 SELINUX=disabled(在 /etc/sysconfig/selinux 中)
  2. 将 'umask 0022'(甚至是 'umask u=rwx,g=rx,o=rx')添加到 /etc/sysconfig/httpd
  3. 为 /tmp 文件夹分配 755 个权限
  4. 将PassengerInstanceRegistryDir 更改为我的用户主目录下的不同文件夹(并分配755 权限)

但这些似乎都不起作用。 我正在使用 Phusion Passenger 5.1.2 和 Apache 2.4.6。

另外,这是我通过运行得到的

$ sudo /usr/bin/passenger-config validate-install
  • 正在检查此乘客安装是否在 PATH 中... ✓
  • 检查是否有其他Passenger安装... ✓
  • 正在检查是否安装了 Apache... ✓
  • 检查Passenger 模块是否在Apache 中正确配置... ✓

这是我运行时的输出

$ sudo /user/sbin/passenger-memory-status

Version: 5.1.2
Date   : 2017-03-16 07:42:59 -0500

---------- Apache processes ----------
PID    PPID   VMSize    Private  Name
--------------------------------------
18237  1      227.0 MB  0.2 MB   /usr/sbin/httpd -DFOREGROUND
18286  18237  229.0 MB  0.2 MB   /usr/sbin/httpd -DFOREGROUND
18287  18237  229.0 MB  0.2 MB   /usr/sbin/httpd -DFOREGROUND
18288  18237  229.0 MB  0.2 MB   /usr/sbin/httpd -DFOREGROUND
18289  18237  229.0 MB  0.3 MB   /usr/sbin/httpd -DFOREGROUND
18290  18237  229.0 MB  0.3 MB   /usr/sbin/httpd -DFOREGROUND
18300  18237  229.0 MB  0.2 MB   /usr/sbin/httpd -DFOREGROUND
### Processes: 7
### Total private dirty RSS: 1.73 MB


-------- Nginx processes --------

### Processes: 0
### Total private dirty RSS: 0.00 MB


----- Passenger processes -----
PID    VMSize    Private  Name
-------------------------------
18264  417.0 MB  1.0 MB   Passenger watchdog
18267  649.9 MB  3.2 MB   Passenger core
18275  427.3 MB  3.0 MB   Passenger ust-router
### Processes: 3
### Total private dirty RSS: 7.11 MB

【问题讨论】:

    标签: ruby-on-rails apache centos passenger


    【解决方案1】:

    我通过运行以下命令解决了这个问题:

    $ sudo chcon -R -v -t httpd_sys_rw_content_t /tmp
    

    我不知道更改整个文件夹的权限是否会影响其他事情。你们觉得这可能是个问题吗?

    作为替代方案,我也可以将PassengerInstanceRegistryDir 设置为不同的位置,然后再次运行上述命令。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-24
      • 1970-01-01
      • 2018-07-19
      • 1970-01-01
      • 2016-12-25
      • 1970-01-01
      • 2018-02-12
      • 1970-01-01
      相关资源
      最近更新 更多