我正在使用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
更新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
请帮助我
答案 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