Apache在所有页面上发送“找不到文件”

时间:2019-02-20 16:00:22

标签: php laravel apache

我正在使用Laravel,当我将项目上传到服务器时,它返回500、503和其他类型的错误。因为我使用的是Virtualmin,所以我检查了/var/log/virtualmin中的error_log,发现没有启用php-fpm。因此,我启用了该功能,现在在所有页面上都出现File not found错误!

因此我将ProxyErrorOverride on添加到/etc/httpd/conf/httpd.conf文件中,但随后得到Not Found The requested URL /index.php was not found on this server.的评论,并添加了<FilesMatch \.php$> SetHandler "proxy:fcgi://127.0.0.1:9000" </FilesMatch>,但它又返回了File not found

然后我进入/etc/php-fpm.d/www.conf,并将此部分从;chroot =编辑为chroot = /home/mysite/public_html/public。但没有结果:(

更新

我在根文件夹中没有任何.htaccess文件,但是在公用文件夹中,我有:

<IfModule mod_rewrite.c>
    Options +SymLinksIfOwnerMatch

    RewriteEngine On

    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} (.+)/$
    RewriteRule ^ %1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

更新2

Screenshot of error

更新3

我修改了/etc/php-fpm.d/www.conf

从这里:

user = apache
group = apache

对此:

user = php-fpm
group = php-fpm

从这里:

listen = 127.0.0.1:9000
;listen = /run/php-fpm/www.sock

对此:

;listen = 127.0.0.1:9000
listen = /run/php-fpm/www.sock

反之亦然。

从这里:

listen.owner = apache
listen.group = apache

对此:

listen.owner = php-fpm
listen.group = php-fpm

从这里:

;listen.acl_users = apache,nginx

对此:

listen.acl_users = apache,nginx

从这里:

;listen.allowed_clients = 127.0.0.1

对此:

listen.allowed_clients = any

从这里:

;chroot = /

对此:

chroot = /home/mysite/public_html

从这里:

;chdir = /

对此:

chdir = /public

对不起,我分别说了一个,因为我做了各种各样的更改,每次更改值时,每个可能会有所不同。

现在错误是:

Service Unavailable
The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.

和我的error_log:

[Thu Feb 21 02:58:13.318048 2019] [proxy:error] [pid 4170] (111)Connection refused: AH00957: FCGI: attempt to connect to 127.0.0.1:9000 (127.0.0.1) failed
[Thu Feb 21 02:58:13.318146 2019] [proxy:error] [pid 4170] AH00959: ap_proxy_connect_backend disabling worker for (127.0.0.1) for 60s
[Thu Feb 21 02:58:13.318155 2019] [proxy_fcgi:error] [pid 4170] [client 69.689.30.21:64560] AH01079: failed to make connection to backend: 127.0.0.1

请帮助我

1 个答案:

答案 0 :(得分:0)

我也遇到了同样的错误,只是花了整整一天的时间才弄清楚原因。

对于我来说,问题是我的vps中启用了IP v6,而我的界面中却分配了npo实际IP6地址。

我刚刚禁用了IPV6,一切又恢复了正常。 (如果在virtualmin中未使用,则禁用IPv6 / IPv4)

第1步-在外壳程序中使用以下命令编辑sysctl.conf文件

vi /etc/sysctl.conf

第2步-将以下两行添加到禁用的IPv6

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

第3步-保存并关闭文件(Esc->:wq)

第4步-为立即生效,在shell中运行以下代码

sysctl -p