FTP中.ssh文件夹作用_SSH密钥目录与授权密钥
用FTP连接虚拟主机后,根目录下通常有多个文件夹,很多新手站长不知道这些文件夹分别是做什么用的,不敢随便操作,怕删错文件导致网站崩溃。实际上虚拟主机的目录结构是有规律的,不同文件夹有明确的用途,了解这些目录的作用能帮助你更高效地管理网站文件、排查问题、做好安全配置。本文详细讲解FTP中常见文件夹的用途,包括网站根目录、日志目录、临时目录、配置目录、备份目录、证书目录等,帮助你彻底搞懂虚拟主机的目录结构。
etc文件夹是Linux系统的配置文件目录,存放系统级和服务级的配置文件,如apache的httpd.conf、nginx的nginx.conf、php.ini、mysql的my.cnf等。虚拟主机用户通常只能看到自己用户目录下的etc子目录,存放用户级自定义配置,如.htaccess、php.ini、user.ini等。系统级的/etc目录普通用户没有访问权限,FTP中看不到。如果你需要修改PHP配置,可以在网站根目录创建php.ini或.user.ini文件覆盖默认配置,不需要也不能修改系统级的/etc/php.ini。修改配置后可能需要重启PHP进程才能生效。
var文件夹存放可变数据,包括运行时文件、缓存、锁文件、spool文件等。系统级的/var目录下有/var/log(日志)、/var/tmp(临时文件)、/var/run(进程PID文件)、/var/spool(邮件和打印队列)。虚拟主机用户目录下的var目录可能存放用户级的运行时数据。大部分站长不需要直接操作var目录,日志在logs目录查看,临时文件在tmp目录。如果程序需要写入运行时数据,可能会在var目录创建文件,确保该目录有写入权限。不要随意删除var目录下的文件,可能导致正在运行的进程异常。
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目录中的文件,更新依赖时会被覆盖,自定义修改应该在自己的代码中完成。
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目录下,会暴露源码和依赖。
session文件夹用于存储PHP会话文件(如果session配置为文件存储)。每个用户访问网站时,PHP会在session目录创建一个以sess_开头的文件,存储该用户的会话数据(如登录状态、购物车内容)。session目录需要写入权限,否则用户登录状态无法保持、购物车内容丢失。session文件有过期时间,过期后会被PHP的垃圾回收机制自动删除,但如果访问量小或配置不当,旧session文件可能积累占用空间,可以定期手动清理15天以上的session文件。注意不要删除正在使用的session文件,会导致用户掉线。部分主机的session目录在/tmp下,FTP中看不到。
logs文件夹存放网站的访问日志和错误日志。访问日志记录每个请求的IP、时间、请求URL、状态码、User Agent等信息,错误日志记录PHP错误、服务器错误、404错误等。日志文件通常按天或按大小轮转,文件名包含日期,如access_log.2024-01-01。日志目录对排查问题非常重要——网站被攻击时可以查访问日志找攻击IP,页面报错时可以查错误日志定位原因,SEO分析时可以查搜索引擎蜘蛛的抓取记录。日志文件不要删除,但可以定期清理旧日志释放空间,面板通常有日志轮转自动清理。
.user.ini文件是PHP的用户级自定义配置文件,放在网站根目录下,用于覆盖php.ini的默认配置,如memory_limit、upload_max_filesize、max_execution_time、display_errors等。.user.ini是PHP 5.3以上版本支持的功能,比php.ini更灵活,每个目录可以有自己的.user.ini。虚拟主机通常允许用户通过.user.ini自定义PHP参数,不需要修改全局php.ini。.user.ini是隐藏文件,FTP中需开启显示隐藏文件。修改.user.ini后,PHP有缓存机制(默认user_ini.cache_ttl=300秒),最多5分钟后生效,不需要重启服务器。注意不要在.user.ini中设置危险参数(如disable_classes清空),可能被主机商限制。
.htaccess文件是Apache和LiteSpeed Web Server的分布式配置文件,放在网站根目录下,用于配置伪静态规则、301重定向、访问控制、自定义错误页、Gzip压缩、浏览器缓存、PHP参数等。WordPress设置固定链接后会自动生成.htaccess,dedecms、ThinkPHP等程序也需要配置.htaccess伪静态规则。.htaccess是隐藏文件,FTP中需要开启显示隐藏文件才能看到。如果.htaccess不存在,可以手动创建。修改.htaccess后不需要重启服务器,立即生效。注意.htaccess语法错误会导致网站500错误,修改前备份,修改后测试网站是否正常访问。Nginx不支持.htaccess,需要在配置文件中写规则。
robots.txt文件放在网站根目录,用于告诉搜索引擎爬虫哪些页面可以抓取、哪些不要抓取。robots.txt是纯文本文件,格式为User-agent(指定爬虫)和Disallow(禁止抓取的路径)、Allow(允许抓取的路径)。如Disallow: /admin/禁止抓取后台目录,Disallow: /?禁止抓取带参数的URL。robots.txt只是协议,不是强制,恶意爬虫会忽略,但正规搜索引擎(百度、Google)会遵守。注意不要用robots.txt禁止整个网站(Disallow: /),否则搜索引擎不会收录你的网站。robots.txt可以在搜索引擎站长平台提交和测试。如果不需要限制爬虫,robots.txt可以不存在或内容为空。
站长反馈:「刚用虚拟主机时FTP里一堆文件夹不知道干嘛的,看了这篇才清楚public_html是放网站的,logs是看日志的,tmp是临时文件,以后管理文件不再乱删了」「之前把数据库备份放到public_html里,幸好看到文章说不能放根目录,赶紧移到backup目录,不然被人下载就麻烦了」。
经验总结:FTP目录结构虽然因面板和环境不同而有差异,但核心逻辑一致——网站根目录放可访问文件,根目录外放敏感文件和系统文件。记住几个关键目录:网站根目录(public_html/wwwroot)、日志目录(logs)、临时目录(tmp)、备份目录(backup)、证书目录(ssl)。管理网站文件时,上传前确认目录,删除前确认用途,权限设置遵循最小原则。遇到问题时先查日志(logs目录),很多错误都能从日志中找到原因。熟悉目录结构后,网站管理和故障排查都会高效很多。

更新时间:2026-08-27 13:13:53
上一篇:FTP软件书签收藏功能使用_FTP软件安装及上传下载教程详解