我在/var/www/domain.example/web/MY_SYMLINK上有一个指向/var/www/domain.example/web/SOME_FOLDER的符号链接(symbolic link)。这被定义为我的网站文档根目录。
然后,我运行 ln -sfn 将符号链接(symbolic link)更改为/var/www/domain.example/web/NEW_FOLDER。
到现在为止还挺好。如果我运行ls -a,可能会看到更改已应用。
如果我通过http://domain.example击中服务器,则网站仍指向旧文件夹。我知道需要重新启动apache,因此我运行服务apache2重新启动,但是未执行更改。我已经尝试过用apache2停止/启动,重新加载或正常运行。它们都不起作用。
仅当我转到ISPConfig的控制面板并单击 Resync 时,才会应用符号链接(symbolic link)更新。
我想能够从命令行执行此操作。有人知道该怎么做吗?
最佳答案
我非常确定这与PHP以FPM运行的事实有关。我使用了类似的设置,部署过程是在服务器上复制源并重置符号链接(symbolic link),该符号链接(symbolic link)是vhost文件中定义的文档根目录。在部署过程结束时,我必须包括重新启动PHP FPM,否则服务器将继续为旧资源提供服务。
要重新启动PHP FPM服务,最常用的方法是:
sudo service php-fpm restart
或者
sudo /etc/init.d/php-fpm restart
或者以其他方式,您可以从this帖子中查看答案。
关于apache不阅读更新的符号链接(symbolic link),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53363605/