nginx 新版本 软链 变化

升级了nginx新版本,好像对 document_root 设置的文件夹如果是软链,有些变化了。假设 document_root 是 /data/web/www,而 /data/web/www 软链 -> /data/release/version1。
以前的nginx版本,在index.php里拿到的 DIR 是 /data/web/www,新的nginx版本,拿到的是 /data/release/version1。

如果用的发布系统是基于软链更新代码的,比如发布新版本由 /data/release/version1 切换到 /data/release/version2。

那么nginx好像有缓存,永远不会生效新的代码,改了软链后 index.php 拿到的 DIR 依然是 /data/release/version1 不会变成 version2,只能 service nginx reload。与 php 的opcache无关。

然后我试了下设置 fastcgi参数,
把 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
改成 fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;

这个软链就可以自动更新了,index.php 拿到的 DIR 是最新的。

曾经我做个一个企业产品,老大说是企业的数据非常非常重要,一定要保留原始数据,一定不能真删除,然后就做了。
后来发现累死个人,最后过了半年多,数据改成真删除,但是找另外一个地方备份下。企业误删了是吧,好,花钱找回数据,我才不在我的程序代码里搞这么累的逻辑。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容