寻找一种安全的方式来部署PHP代码

我们现在如何做事

我们有一个文件服务器(使用NFS),多个Web服务器挂载并使用这些挂载作为Web根目录.当我们部署代码库时,我们将SCP存档(tar.gz)发送到NFS服务器,并直接在文件服务器的“web目录”中取消归档数据.

问题

在部署过程中,我们看到一些i / o错误,主要是在无法读取请求的文件时:Smarty错误:无法读取资源:“header.tpl”这些错误似乎在部署完成后消失,因此我们假设这是因为将数据直接归档到web目录并不是最安全的.我猜我们需要一些原子的东西.

我的问题

我们如何将新文件原子地复制到现有目录(Web服务器的根目录)?

编辑

我们不妥协到web目录中的文件不是目录中的唯一文件.我们正在将文件添加到已有文件的目录中.所以复制目录或使用符号链接不是一个选项(我知道).

最佳答案
这就是我的工作.

例如,DocumentRoot是/var/www/sites/www.example.com/public_html/:

cd /var/www/sites/www.example.com/
svn export http://svn/path/to/tags/1.2.3 1.2.3
ln -snf 1.2.3 public_html

您可以在更改符号链接之前轻松修改此扩展名.tar.gz,而不是从svn导出.重要的是,更改是符号链接的原子应用程序.

相关文章

linux常用进程通信方式包括管道(pipe)、有名管道(FIFO)、...
Linux性能观测工具按类别可分为系统级别和进程级别,系统级别...
本文详细介绍了curl命令基础和高级用法,包括跳过https的证书...
本文包含作者工作中常用到的一些命令,用于诊断网络、磁盘占满...
linux的平均负载表示运行态和就绪态及不可中断状态(正在io)的...
CPU上下文频繁切换会导致系统性能下降,切换分为进程切换、线...