虚拟主机搭建文件下载功能,很容易和另一个操作弄混:把虚拟主机里网站源码、配置文件下载到本地电脑。前者是让网站访客下载服务器文件,后者是你通过FTP把服务器文件拉到本地。两种场景操作方式完全不同,先分清再动手。
让访客下载文件
最基础做法,在网站根目录新建专门存放下载文件的文件夹。亿速云教程提到,虚拟主机根目录一般是wwwroot,可以在根目录新建download文件夹,把供访客下载的文件放进去。相比直接把文件堆在根目录,目录分类更整洁,安全性也更好。之后在网页添加超链接,地址写http://你的网站/download/文件名.后缀,访客点击链接就能触发下载。

部分虚拟主机服务商对根目录文件下载有限制,西部数码帮助文档记录过这类情况,根目录文件不支持直接下载,需要将文件放到二级域名对应的目录。按上面操作放好文件访问提示无法下载,大概率碰到这个限制,可以咨询空间商确认,或者改用二级域名承载下载服务。
使用宝塔面板配置
宝塔带图形化管理界面,操作直观。先在网站根目录新建下载目录,命名down或者download都可以。打开网站设置,找到配置文件选项,手动添加location配置,把URL路径映射到新建目录。Nginx环境参考配置:location /down/ { alias /www/wwwroot/你的域名/down/; }。保存配置,重启Nginx生效,访客访问你的域名/down/文件名就可以直接下载。
有个细节需要留意,如果希望访问你的域名/down/时直接展示目录内全部文件列表,配置里要增加一行autoindex on。不加这一行,只访问目录地址会返回403或者404,但直接带上完整文件名访问,下载功能依旧正常。
Apache环境配置思路
Apache配置逻辑和Nginx有区别,但整体思路相近。建好下载目录之后设置权限,一般权限755,保证Apache进程能够读取目录文件。在虚拟主机配置文件使用指令指定下载目录路径,增加Options Indexes开启目录浏览。使用XAMPP或者WAMP这类集成环境,虚拟主机配置文件一般在httpd-vhosts.conf,修改完成重启Apache。
下载虚拟主机配置文件
这个场景是你把服务器文件下载到本地电脑。通用方案使用FTP工具连接主机,进入站点对应目录或者根目录,找到目标文件右键下载。虚拟主机管理面板内可以查到FTP连接信息,地址、用户名、密码三项。
如果你要下载Web服务器虚拟主机配置文件本身,存放路径取决于操作系统发行版和Web服务类型。Debian系列Nginx配置文件,一般存放在/etc/nginx/sites-available/和/etc/nginx/sites-enabled/,后者目录内是软链接指向前者启用的配置文件。CentOS系统LNMP一键包环境,虚拟主机配置文件通常放在/usr/local/nginx/conf/vhost/,每个域名对应单独.conf文件。CentOS下Apache虚拟主机配置分散在/etc/httpd/conf.d/,主配置文件路径/etc/httpd/conf/httpd.conf。
不用死记这些路径,了解大致存放位置即可。实际操作用FTP或者SSH连接服务器,进入对应目录查找,文件名带有你的域名的.conf文件,基本就是目标配置文件。