我有一个运行Apache 2的Centos Stream 9服务器。我认为它配置得很好,因为在执行sudo systemctl restart httpd.service
命令时,我从来没有在CLI中得到错误消息。但是我得到一个503错误信息,试图访问我的服务器与IP或域名在浏览器中。
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>503 Service Unavailable</title>
</head><body>
<h1>Service Unavailable</h1>
<p>The server is temporarily unable to service your
request due to maintenance downtime or capacity
problems. Please try again later.</p>
</body></html>
问题是我在那里安装了Laravel,我通常运行composer来做更新,我也从git中拉。这些命令由我的默认用户centos:centos
运行,而我的web服务器由apache:apache
运行。我想把我的web服务器切换到相同的用户,因为在执行composer install
命令时,我得到了写权限错误。/storage
和/bootstrap
目录属于apache
用户。所以,我仍然不知道这是否与我的Laravel安装或服务器配置有关。我认为这是一个防火墙的事情,但我猜一定有一种方法来运行我的httpd服务与我的centos用户来解决这个问题。
查看错误日志,我发现它实际上得到了一个关于FastCGI的消息。
(13)Permission denied: AH02454: FCGI: attempt to connect to Unix domain socket /run/php-fpm/www.sock (*) failed
对这个错误进行了一些研究,我了解到它与php-fpm
的配置有关。下面是一个帖子的链接,其中包含解决问题的好信息,尽管批准的答案不是问题的正确答案,我不得不挖掘一点配置php-fpm模块:FPM与apache2不工作(权限被拒绝)
最后,我将分享一个PHP-FPM安装说明的链接,它也给了我一个关于如何修复它的想法,但并不完全适用于我的问题:PHP-FPM配置Apache
是否可以更改当前配置?
如果是的…PHP-FPM能够使用套接字文件或tcp套接字工作,因此您可以:
1。修改TCP配置(/etc/php- fmp .d/www.conf默认)
listen = 127.0.0.1:9000
listen.allowed_clients = 127.0.0.1
2。修改apache配置
来自:
SetHandler "proxy:unix:/run/php-fpm/www.sock|fcgi://localhost"
:
SetHandler "proxy:fcgi://127.0.0.1:9000"
3。重启两个服务