Nginx 在没有符号链接的根路径下工作正常(例如.../1.0/public)。当使用符号链接时(例如.../current/public,其中 current 是指向 2.0 的链接),除非我更改旧目标文件夹的名称,否则更改不会受到影响。我使用的是 nginx 版本 1.13.6。
我已经disable_symlinks off;
在我的 nginx.conf 中给出了。有人可以告诉我如何在 nginx 中使用符号链接指定根路径,并使用这些链接指向不同的目标,而无需重新启动 nginx,以便用户体验不会受到干扰并且更改是无缝的?
答案1
问题是因为 fastCGI 正在缓存路径。当 nginx 配置中的行:
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
php 位置块中的内容替换为:
fastcgi_param DOCUMENT_ROOT $realpath_root;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
每个更改都会立即受到影响。