Ruby on rails 使用Passenger和Apache部署Rails时出错:mod_Passenger中出现意外错误:无法连接到Unix套接字权限被拒绝(errno=13)
我一直在尝试在CentOS 7上使用Phusion Passenger和Apache部署我的Rails应用程序。 我正在关注Phusion乘客网站上提供的信息,但我被卡住了 当我启动Apache并使用浏览器访问应用程序时,我得到:500内部服务器错误。 在/etc/httpd/logs/error\u log中的错误日志文件中发现以下错误:Ruby on rails 使用Passenger和Apache部署Rails时出错:mod_Passenger中出现意外错误:无法连接到Unix套接字权限被拒绝(errno=13),ruby-on-rails,apache,centos,passenger,Ruby On Rails,Apache,Centos,Passenger,我一直在尝试在CentOS 7上使用Phusion Passenger和Apache部署我的Rails应用程序。 我正在关注Phusion乘客网站上提供的信息,但我被卡住了 当我启动Apache并使用浏览器访问应用程序时,我得到:500内部服务器错误。 在/etc/httpd/logs/error\u log中的错误日志文件中发现以下错误: [ 2017-03-15 22:57:15.5385 18290/7f4c6eb61880 apa/Hooks.cpp:690 ]: Unexpected
[ 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)
到目前为止,我试过:
禁用SELinux:在/etc/sysconfig/SELinux中设置SELinux=disabled
将“umask 0022”甚至“umask u=rwx,g=rx,o=rx”添加到/etc/sysconfig/httpd
将755权限分配给/tmp文件夹
将PassengerInstanceRegistryDir更改为用户主目录下的其他文件夹,并分配755个权限
但这些似乎都不起作用。
我使用的是Phusion Passenger 5.1.2和Apache 2.4.6
而且,这也是我跑步时得到的
$ sudo /usr/bin/passenger-config validate-install
正在检查此乘客安装是否在路径中。。。✓
检查是否没有其他乘客装置。。。✓
正在检查是否已安装Apache。。。✓
正在检查乘客模块是否在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
我通过运行以下命令解决了问题:
$ sudo chcon -R -v -t httpd_sys_rw_content_t /tmp
我不知道更改整个文件夹的权限是否会影响其他内容。你们认为这可能是个问题吗
另外,我还可以将PassengerInstanceRegistryDir设置到不同的位置,并再次运行上述命令