我的知识记录

FTP中.subversion文件夹作用_SVN版本控制目录

用FTP连接虚拟主机后,根目录下通常有多个文件夹,很多新手站长不知道这些文件夹分别是做什么用的,不敢随便操作,怕删错文件导致网站崩溃。实际上虚拟主机的目录结构是有规律的,不同文件夹有明确的用途,了解这些目录的作用能帮助你更高效地管理网站文件、排查问题、做好安全配置。本文详细讲解FTP中常见文件夹的用途,包括网站根目录、日志目录、临时目录、配置目录、备份目录、证书目录等,帮助你彻底搞懂虚拟主机的目录结构。

bin文件夹存放可执行文件(二进制程序和脚本)。系统级的/bin目录存放基础命令(ls、cp、mv等),/usr/bin存放用户程序,这些目录普通用户没有写入权限,FTP中通常看不到。虚拟主机用户目录下的bin目录可能存放用户自己安装的程序或脚本,如自定义的备份脚本、命令行工具。如果你不需要自己安装命令行程序,bin目录基本用不到。不要把网站文件放到bin目录,无法通过域名访问。如果自己编写脚本放到bin目录,需要设置可执行权限(chmod +x)才能运行。

var文件夹存放可变数据,包括运行时文件、缓存、锁文件、spool文件等。系统级的/var目录下有/var/log(日志)、/var/tmp(临时文件)、/var/run(进程PID文件)、/var/spool(邮件和打印队列)。虚拟主机用户目录下的var目录可能存放用户级的运行时数据。大部分站长不需要直接操作var目录,日志在logs目录查看,临时文件在tmp目录。如果程序需要写入运行时数据,可能会在var目录创建文件,确保该目录有写入权限。不要随意删除var目录下的文件,可能导致正在运行的进程异常。

lib文件夹存放库文件(动态链接库.so和静态链接库.a),是程序运行依赖的共享库。系统级的/lib和/usr/lib目录存放系统库,普通用户只读。虚拟主机用户目录下的lib目录可能存放用户安装程序的依赖库,如自己编译的PHP扩展、Python模块。大部分站长不需要操作lib目录,只有在自己安装自定义扩展或程序时才需要用到。如果安装程序时提示找不到某个库文件,可能需要把库文件放到lib目录并设置LD_LIBRARY_PATH环境变量。不要删除lib目录中的文件,可能导致依赖的程序无法运行。

cgi-bin文件夹用于存放CGI脚本(Perl、Python、Shell等可执行脚本),是早期动态网页技术的标准目录。cgi-bin目录通常在网站根目录下,有执行权限,放在这里的脚本可以通过http://域名/cgi-bin/脚本名执行。现在PHP、Node.js等技术已经取代了CGI,大部分网站不需要cgi-bin目录。但有些老程序或特定功能(如FormMail表单处理)仍然需要CGI支持。如果你不用CGI,可以删除cgi-bin目录,不影响PHP网站运行。如果需要用CGI,确保cgi-bin目录有执行权限(755),脚本文件有执行权限,脚本第一行指定解释器路径(如#!/usr/bin/perl)。

vendor文件夹是PHP Composer的依赖包目录,存放通过composer install安装的第三方库。ThinkPHP、Laravel等现代PHP框架都用Composer管理依赖,vendor目录包含框架核心和所有第三方扩展。vendor目录通常很大(几百MB),包含大量文件,上传时耗时较长。正确的做法是在服务器上用composer install安装依赖,而不是把本地vendor目录上传。如果虚拟主机不支持SSH和Composer,只能在本地安装后上传vendor目录。vendor目录不需要写入权限,设为只读即可(755)。不要手动修改vendor目录中的文件,更新依赖时会被覆盖,自定义修改应该在自己的代码中完成。

.git文件夹是Git版本控制系统的仓库数据目录,包含所有提交历史、分支、标签、配置信息。如果你用Git管理网站代码,在网站目录下初始化Git仓库后会生成.git目录。.git目录包含完整的代码历史,如果放到网站根目录且允许访问,他人可以通过http://域名/.git/config获取仓库信息,甚至下载完整源码,造成代码泄露。所以绝对不要把.git目录放到网站根目录下,或者在Web服务器配置中禁止访问.git目录(Nginx用location ~ /.git { deny all; },Apache用.htaccess的RewriteRule)。正确的做法是用Git部署时,代码仓库放在网站根目录外,只把需要运行的文件复制或软链接到根目录。

wwwroot是宝塔面板和Windows IIS环境的网站根目录名称。宝塔Linux面板中,每个网站的根目录默认是/www/wwwroot/域名,通过FTP连接后看到的wwwroot就是该网站的根目录。Windows IIS环境中,网站根目录默认是C:inetpubwwwroot,也可以在IIS管理器中自定义路径。无论哪种环境,wwwroot的作用和public_html一样,都是存放网站程序文件、用户通过域名访问的内容。上传文件时确认放到wwwroot目录下,不要放到上层目录。

www文件夹在很多虚拟主机中是public_html或wwwroot的符号链接(快捷方式),指向真正的网站根目录。有些主机同时提供www和public_html两个目录,其实是同一个位置,文件放哪个都一样。早期的一些主机面板用www作为根目录名称,现在更多用public_html或wwwroot。如果你在FTP中看到www和public_html同时存在,不要以为是两个独立目录,它们指向同一个位置,在一个目录中添加文件在另一个目录中也能看到。上传文件选哪个都行,但建议统一用一个,避免混淆。

tmp文件夹是临时文件目录,用于存放PHP上传的临时文件、会话文件(如果配置为文件存储)、程序生成的临时数据。PHP上传文件时,文件先存放在tmp目录,处理完成后移动到目标目录,如果上传失败tmp中的临时文件会被自动清理。tmp目录需要有写入权限,否则文件上传会失败。tmp目录的文件系统会自动清理,不需要手动删除,但如果磁盘空间不足可以手动清理旧的临时文件。注意不要把重要文件放到tmp目录,随时可能被删除。部分主机的tmp目录在网站根目录外,FTP中可能看不到,需要通过面板的文件管理器访问。

session文件夹用于存储PHP会话文件(如果session配置为文件存储)。每个用户访问网站时,PHP会在session目录创建一个以sess_开头的文件,存储该用户的会话数据(如登录状态、购物车内容)。session目录需要写入权限,否则用户登录状态无法保持、购物车内容丢失。session文件有过期时间,过期后会被PHP的垃圾回收机制自动删除,但如果访问量小或配置不当,旧session文件可能积累占用空间,可以定期手动清理15天以上的session文件。注意不要删除正在使用的session文件,会导致用户掉线。部分主机的session目录在/tmp下,FTP中看不到。

运维评价:「了解目录结构是虚拟主机运维的基础,很多问题都是因为文件放错目录或权限设置不对。给客户做培训时都会先讲目录结构,能避免很多低级错误」「安全方面确实要注意,.git、备份文件、配置文件绝对不能放根目录,见过不少因为这个被拖库的案例,目录权限和位置一定要重视」。

安全提醒:网站根目录是公开可访问的,任何放到根目录下的文件都可能被他人通过URL下载,敏感文件(数据库备份、配置文件、SSL私钥、SSH密钥、.git仓库)必须放到根目录外的目录(如backup、ssl、.ssh)。目录权限遵循最小权限原则,需要写入的目录才开写入权限,其他目录只读。上传目录(uploads)必须禁止执行PHP脚本,防止webshell上传。定期检查目录文件,发现异常立即排查。FTP密码使用复杂组合,不要在公共网络使用明文FTP,建议用SFTP加密传输。

FTP中.subversion文件夹作用_SVN版本控制目录

标签:

更新时间:2026-08-27 12:08:24

上一篇:网站菜单图片logo跳转错误处理:链接配置与路径检查_500错误_网站故障_排查修复

下一篇:Windows修改文件创建时间修改时间详细教程|安装包文件时间统一专用Windows 10下html文件时间戳调整