老张小站

  1. 欢迎光临

    感谢访问老张的博客!

  • 1
3,343

CentOS (Linux) / Nginx 下给网站添加虚拟目录

分类 网站技术/村民张先生 发布于 2015-03-27 04:08
0

案例:A、B、C三个站点放置在同一台服务器上,现在需要为三个站点的图片附件目录添加CDN服务,且仅使用一个专用的域名 cdn.xxx.com 。

首先,我们要在服务器上按常规方法添加一个站点 cdn.xxx.com ;

接下为其添加虚拟目录,分别指向A、B、C三个站点的附件目录。有两种方法:

方法一(推荐):使用Linux的软链接。SSH登录到服务器,执行以下命令:

ln -s /A站绝对路径/A站附件目录 /CDN站点绝对路径/A站虚拟目录名(自定义,CDN域名下使用);

假设 A站的附件目录路径 为 /home/wwwroot/a/upload ,CDN站点路径为 /home/wwwroot/a/cdn ,需要使用 cdn.xxx.com/a 去访问A站的附件目录,可执行:

ln -s /home/wwwroot/a/upload /home/wwwroot/a/cdn/a;

B、C站同样的方法,重复操作即可。

怎样取消/删除虚拟目录?直接使用FTP或其它文件管理工具、SSH等登录上去删除该虚拟目录即可。

方法二:使用Nginx的 location alias :

在Nginx配置文件中 cdn.xxx.com 的 server 段中加入以下代码。

location /a/ {
alias /home/wwwroot/a/upload;
}
location /b/ {
alias /home/wwwroot/b/upload;
}
location /c/ {
alias /home/wwwroot/c/upload;
}

注意:此方法在某些特定情况下可能异常。经测试,在 LuManager 管理面板中,添加此代码的同时若设置了“浏览器缓存过期时间”,会造成此代码无效。

欢迎转载分享,转载请注明 来源:大张小站 https://www.zhang.cq.cn/20151351.html
若您喜欢这篇文章,欢迎订阅老张小站以获得最新内容。 / 欢迎交流探讨,请发电子邮件至 mail[at]vdazhang.com 。


欢迎谈谈你的看法(无须登录) *正文中请勿包含"http://"否则将被拦截