Mercurial 工作正常,但几次推送后它开始返回错误。 我正在使用 TortoiseHg 并且日志返回
command returned code 255
当我检查 Apache 的日志时,它提到 hgweb.cgi 是问题所在
我可以在网络浏览器上看到 Mercurial 存储库。
我正在运行 Linode 服务器并使用 Apache2 来托管 Mercurial。
我尝试让 /var/hg 中的每个文件都可以被每个用户执行
sudo chmod -R a+rx /var/hg
我尝试授予脚本本身可执行权限。
chmod +x hgweb.cgi
我尝试在整个存储库上为 Apache 运行 chown,但它仍然不起作用
chown www-data -R /var/hg
我尝试执行
.cgi
文件本身来查看是否有任何问题,但它的终止方式与本地 Ubuntu 服务器上的 Mercurial 完全相同(运行完美)。
我可能已经发现问题了。我的系统有 1GB RAM,OOM 快要毁了它。
在我的沮丧中,我切换到nginx并做了反向代理。我使用 systemd 服务运行它并使用
journalctl -u nameofyourmercurialservice
从中收集日志
推送 400mb 的文件会导致 OOM 杀手启动。我随后将系统升级到 4GB 并且成功了。