我的知识记录

FTP中home文件夹作用_用户主目录与个人文件

很多站长用FTP上传文件时,不知道该把文件放到哪个文件夹,导致上传后访问不到,或者误把网站程序放到了非根目录,网站打不开。其实关键就是找到网站根目录,不同环境下根目录的名称不同——cPanel是public_html,宝塔是wwwroot,Plesk是httpdocs,IIS是wwwroot,有些主机是www或htdocs。本文不仅讲解网站根目录的识别方法,还详细介绍根目录下和根目录外的其他文件夹作用,让你对整个目录结构有完整的认识,上传文件、排查问题、做安全配置都能得心应手。

backup或backups文件夹存放网站和数据库的备份文件。很多虚拟主机面板会自动定期备份,备份文件存放在这个目录,包括完整备份(文件+数据库+邮件+配置)和增量备份。备份文件通常是tar.gz或zip格式,文件名包含备份日期。备份目录对数据安全非常重要,网站被黑、误删文件、数据库损坏时,可以从备份恢复。注意不要把备份文件放在网站根目录下(public_html内),否则可能被他人通过URL下载,导致数据泄露。备份文件应该放在根目录外的backup目录,或者下载到本地和云端存储。定期检查备份是否正常生成,测试备份文件能否正常恢复。

.well-known文件夹是标准化的验证目录,用于各种域名所有权验证和协议配置。最常见的是acme-challenge子目录,Let's Encrypt等免费SSL证书在申请时需要验证域名所有权,验证方式是在网站根目录的.well-known/acme-challenge下创建一个验证文件,证书颁发机构通过HTTP访问该文件确认你拥有域名。.well-known还用于其他验证,如Apple Pay的域名验证、Google Search Console的验证、Bing网站管理员工具验证等。这个目录通常由验证工具自动创建和管理,不需要手动操作,但如果自动验证失败,可以手动创建目录和验证文件。.well-known目录在网站根目录下,需要确保Web服务器可以访问。

.ssh文件夹存放SSH密钥对和配置文件,包括id_rsa(私钥)、id_rsa.pub(公钥)、authorized_keys(授权公钥列表)、known_hosts(已知主机指纹)、config(SSH客户端配置)。.ssh目录权限必须是700,authorized_keys文件权限必须是600,否则SSH密钥认证会失败(SSH出于安全考虑会拒绝权限过宽的密钥文件)。私钥文件id_rsa是敏感文件,泄露后他人可以用你的密钥登录服务器,必须严格保护。如果你用SSH密钥登录服务器,.ssh目录会自动创建。FTP中.ssh是隐藏目录,需要开启显示隐藏文件才能看到。不要删除.ssh目录,否则SSH密钥登录失效。

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

public_html是cPanel面板Linux虚拟主机的网站根目录,域名访问的文件都放在这个目录下。你上传的网站程序(WordPress、dedecms等)、图片、CSS、JS等所有可通过域名访问的文件都要放在public_html里。这个目录的权限通常是750或755,所有者是你的cPanel用户。不要在public_html外放置需要通过域名访问的文件,否则访问不到。子域名或附加域名的根目录默认在public_html下的子目录,如public_html/blog,也可以在cPanel中修改为public_html外的目录。

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

node_modules文件夹是Node.js的依赖包目录,存放通过npm install安装的所有包。如果你的网站用Node.js构建(如React、Vue前端项目),项目目录下会有node_modules。node_modules通常非常大(几百MB到几GB),包含大量小文件,FTP上传很慢且容易失败。正确的做法是在服务器上运行npm install安装依赖,或者在本地构建后只上传构建产物(dist目录),不上传node_modules和源码。node_modules不需要通过域名访问,应该放在网站根目录外,或者在Web服务器配置中禁止访问node_modules目录。不要把node_modules放到public目录下,会暴露源码和依赖。

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

操作提示:用FTP连接主机后,先确认网站根目录名称(public_html/wwwroot/htdocs),网站程序上传到根目录下。上传前在本地整理好文件结构,避免上传后再移动。重要操作前备份文件,删除文件前确认是否有用。隐藏文件(.开头的文件如.htaccess、.user.ini、.ssh)需要在FTP设置中开启显示隐藏文件才能看到。日志文件可以下载到本地分析,不需要在线修改。如果不确定某个文件夹的作用,不要随便删除,先查资料或咨询主机商。

FTP中home文件夹作用_用户主目录与个人文件

标签:

更新时间:2026-08-26 23:23:47

上一篇:网站404对SEO影响_死链对排名收录的影响(配置详解)

下一篇:图片站迁移到对象存储+VPS架构_虚拟主机实用教程