解决 Ghost 博客导入大文件的设置
Ghost 博客,导入 json(4.6M),报错:Request is larger than the maximum file size the server allows 如何解决?
如何解决 Ghost 博客导入 JSON 文件时的文件大小限制问题
当您在 Ghost 博客导入大于服务器允许的最大文件大小的 JSON 文件时,出现错误提示“Request is larger than the maximum file size the server allows”,可以按照以下步骤进行解决:
-
检查 Ghost 配置:
在您的 Ghost 安装目录中,找到config.production.json
文件,添加或修改以下配置项:{ "server": { "maxBodySize": "10mb" } }
这将把最大请求体大小设置为 10MB(可以根据需要调整)。
-
重启 Ghost 服务:
修改配置文件后,需要重启 Ghost 服务以使更改生效。可以使用以下命令:ghost restart
-
检查 Nginx 或 Apache 配置(如适用):
如果您使用 Nginx 或 Apache 作为反向代理,确保在相应的配置中设置了文件大小限制。-
对于 Nginx,在您的 server 块中添加或修改以下行:
client_max_body_size 10M;
-
对于 Apache,在您的虚拟主机配置中添加或修改以下行:
LimitRequestBody 10485760
-
-
重启 Web 服务器:
修改完成后,需要重启 Nginx 或 Apache 服务:-
Nginx:
sudo systemctl restart nginx
-
Apache:
sudo systemctl restart apache2
-
-
尝试重新导入:
完成上述步骤后,再次尝试导入 JSON 文件。
通过这些步骤,您应该能够解决 Ghost 博客导入大文件时的大小限制问题。
client_max_body_size 10M; nginx 这个配置,请给写一个示例
Nginx 配置示例
以下是一个完整的 Nginx 配置示例,包含 client_max_body_size 10M;
设置。假设您正在为 Ghost 博客配置 Nginx,并且您的配置文件名为 ghost.conf
。
server {
listen 80;
server_name yourdomain.com; # 替换为您的域名
# 设置最大请求体大小
client_max_body_size 10M;
location / {
proxy_pass http://127.0.0.1:2368; # Ghost 的默认端口
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
# 静态文件配置(可选)
location ~ ^/(assets|favicon\.ico|robots\.txt) {
access_log off;
expires 1y;
add_header Cache-Control "public, no-transform";
}
}
配置说明
- server_name: 替换为您自己的域名。
- client_max_body_size 10M: 设置允许的最大请求体大小为 10MB。
- proxy_pass: 代理请求到 Ghost 服务的地址和端口(通常为 2368)。
- location 配置可以根据需要进行调整,以支持静态文件或其他特定路径的处理。
应用配置
-
将以上内容添加到您的 Nginx 配置文件中(如
/etc/nginx/sites-available/ghost.conf
)。 -
创建符号链接到
sites-enabled
(如果尚未链接):sudo ln -s /etc/nginx/sites-available/ghost.conf /etc/nginx/sites-enabled/
-
测试 Nginx 配置:
sudo nginx -t
-
重启 Nginx 服务以应用更改:
sudo systemctl restart nginx
完成后,您就可以尝试重新导入大于默认限制的 JSON 文件了。
2024 年 10 月 17 日写于〔深圳福田〕