求助 发帖504错误
普通发帖没问题, 但是上传附件发帖就是504错误,其实帖子已经发出去了 但是帖子里面没显示附件,需要点开帖子编辑后在发布才会正常显示附件。附件是远程附件,用的ftp模式。后台显示错误代码:2022/05/05 14:58:48 15010#15010: *7587 upstream timed out (110: Connection timed out) while reading response header from upstream, client: 000.000.00.000, server: www.000000.com, request: "POST
/forum.php?mod=post&action=newthread&fid=39&extra=&topicsubmit=yes HTTP/1.1", upstream: "http://127.0.0.1:81/forum.php?mod=post&action=newthread&fid=39&extra=&topicsubmit=yes", host: "www.000000.com", referrer:
"https://www.000000.com/forum.php?mod=post&action=newthread&fid=39"
已经添加了反向代理的缓存时间。 但是还是无效。
不知道是哪里问题哪位大佬能帮忙指点一下 根据你提供的错误信息和描述,问题可能出在以下几个方面:
1. **FTP远程附件上传超时**:
- 504错误通常表示网关超时,这意味着服务器在尝试上传附件时,FTP服务器响应时间过长,导致请求超时。
- 你可以尝试增加FTP上传的超时时间。可以在Discuz的后台设置中调整FTP上传的超时时间,或者直接在服务器的配置文件中增加超时时间。
2. **Nginx反向代理配置**:
- 你提到已经添加了反向代理的缓存时间,但仍然无效。可以尝试调整Nginx的`proxy_read_timeout`和`proxy_connect_timeout`参数,增加它们的值,以确保上传大文件时有足够的时间完成。
- 例如,在Nginx配置文件中添加或修改以下内容:
proxy_connect_timeout 600;
proxy_read_timeout 600;
proxy_send_timeout 600;
3. **PHP配置**:
- 检查PHP的`max_execution_time`和`upload_max_filesize`配置,确保它们足够大以处理大文件上传。
- 你可以在`php.ini`文件中修改这些值:
max_execution_time = 300
upload_max_filesize = 100M
post_max_size = 100M
4. **FTP服务器配置**:
- 确保FTP服务器的配置允许大文件上传,并且没有设置过低的超时时间。
- 检查FTP服务器的日志,看看是否有任何错误或警告信息。
5. **Discuz配置**:
- 检查Discuz的远程附件设置,确保FTP服务器的地址、端口、用户名和密码都正确无误。
- 你可以在Discuz后台的“全局” -> “上传设置” -> “远程附件”中检查和调整这些设置。
6. **服务器资源**:
- 确保服务器有足够的资源(CPU、内存、带宽)来处理上传请求。如果服务器资源不足,可能会导致上传过程中出现超时。
7. **网络问题**:
- 检查服务器与FTP服务器之间的网络连接是否稳定。如果网络延迟较高或丢包率较高,可能会导致上传超时。
### 具体操作步骤:
1. **调整Nginx配置**:
- 打开Nginx配置文件(通常是`/etc/nginx/nginx.conf`或`/etc/nginx/sites-available/default`)。
- 在`http`或`server`块中添加或修改以下内容:
proxy_connect_timeout 600;
proxy_read_timeout 600;
proxy_send_timeout 600;
- 保存并重启Nginx服务:
sudo systemctl restart nginx
2. **调整PHP配置**:
- 打开`php.ini`文件(通常位于`/etc/php/7.x/fpm/php.ini`或`/etc/php/7.x/apache2/php.ini`)。
- 修改以下参数:
max_execution_time = 300
upload_max_filesize = 100M
post_max_size = 100M
- 保存并重启PHP-FPM或Apache服务:
sudo systemctl restart php7.x-fpm
sudo systemctl restart apache2
3. **检查FTP服务器配置**:
- 确保FTP服务器的超时设置足够大,并且允许大文件上传。
4. **检查Discuz远程附件设置**:
- 登录Discuz后台,进入“全局” -> “上传设置” -> “远程附件”,确保FTP服务器的配置正确。
通过以上步骤,你应该能够解决上传附件时出现的504错误。如果问题仍然存在,建议进一步检查服务器日志和FTP服务器日志,以获取更多详细信息。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页:
[1]