Ric*_*tti 8 apache symlink ispconfig
我在/var/www/domain.example/web/MY_SYMLINK上有一个指向/var/www/domain.example/web/SOME_FOLDER的符号链接.这被定义为我的网站文档根目录.
然后我运行ln -sfn将符号链接更改为/var/www/domain.example/web/NEW_FOLDER.到现在为止还挺好.如果我运行ls -a,则可以看到更改已应用.
如果我在http://domain.example上点击服务器,网站仍然指向旧文件夹.我知道apache需要重新启动,所以我运行service apache2 restart但是没有执行更改.我已经尝试过apache2停止/启动,重新加载或优雅.它们都不起作用.
仅当我转到ISPConfig的控制面板并单击" 重新同步"时,才会应用符号链接更新.
我希望能够从命令行执行此操作.谁知道怎么做?
小智 7
我很确定这与您将 PHP 作为 FPM 运行这一事实有关。我使用过类似的设置,部署过程是复制服务器上的源并重置符号链接,该符号链接是虚拟主机文件中定义的文档根目录。我必须在部署过程结束时重新启动 PHP FPM,否则服务器将继续为旧源提供服务。
对于重新启动 PHP FPM 服务,最常见的方法是:
sudo service php-fpm restart
Run Code Online (Sandbox Code Playgroud)
或者
sudo /etc/init.d/php-fpm restart
Run Code Online (Sandbox Code Playgroud)
或者其他方式,你可以查看这篇文章的答案。
小智 0
检查 apache 是否正在运行
sudo service httpd status
Run Code Online (Sandbox Code Playgroud)
请注意,Apache 推荐使用 apachectl -k 作为命令,对于 systemd,该命令替换为 httpd -k
apachectl -k stop or httpd -k stop
Run Code Online (Sandbox Code Playgroud)
这告诉进程杀死所有线程然后退出
符号链接应该可以正常工作。您可能需要也可能不需要将该目录添加到 /etc/apache2/apache2.conf 以便 apache 知道它可以访问非标准目录。
Example (note: I do not use the -d option):
doug@s15:/var/www/html$ ln -s /media/newhd/test_web bla2
doug@s15:/var/www/html$ ls -l
total 44
...
lrwxrwxrwx 1 doug doug 21 May 11 22:14 bla2 -> /media/newhd/test_web
...
Run Code Online (Sandbox Code Playgroud)
摘自“/etc/apache2/acpahe2.conf”
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
<Directory /media/newhd/test_web/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
Run Code Online (Sandbox Code Playgroud)
确保所有权限(包括父母)均符合要求。
| 归档时间: |
|
| 查看次数: |
512 次 |
| 最近记录: |