我们有标准的 php 和 apache,但在定义的 tmp 目录中看不到任何内容,如何检查非应用程序 500 的日志?
我实际上有两个问题,一个是路由日志https://www.test.com
另一个原因是 '/tmp/' 或我们系统上的 dev 当前正在写入私有系统目录
例如 /tmp/systemd-private-840c0bc8008041628bfc86e69a7bb944-httpd.service-z3oDEZ/tmp/
我们的旧服务器写入“/tmp/”,没有添加“systemd-...”
我还遇到了一个问题,即“/tmp”目录根据执行请求的服务将内容存储到私有目录中,而不是“/tmp”根目录中。有人能帮我解决这个问题吗?
我们有需要静态临时文件目录的 CRON,有没有办法让临时文件持续创建
从类似 serverfault.com/a/912098/984089 的答案
所以我理解 '/etc/systemd/system/[name-goes-here].service.d/config_name.conf' 不应该已经存在,对吗?
该文件在我们的旧服务器上不存在,并且不存在“tmp”问题,还有其他方法可以配置吗?
还需要任何帮助吗?
答案1
您所体验的是较新版 systemd 中的“私有临时目录”功能。这是一项安全功能,其中服务被分配到隔离的临时空间,而不是全局 linux 系统/tmp.
为了为您的 apache 服务禁用此功能并让 apache2 查看整个 /tmp:
- 停止你的 apache2 服务:
systemctl stop apache2
- 转到您的 apache2 服务配置文件:
nano /etc/systemd/system/multi-user.target.wants/apache2.service
- 注释掉
PrivateTmp=true
此文件中的指令。 - 保存文件并重新加载配置:
systemctl daemon-reload
- 最后重新启动 apache 服务:
systemctl start apache2
现在,Apache tmp 根目录应为全局 linux /tmp 目录。
希望能帮助到你。