我的知识记录

FTP中logs文件夹作用_网站访问日志与错误日志查看

用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目录下的文件,可能导致正在运行的进程异常。

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

ssl或certs文件夹存放SSL证书文件,包括证书文件(.crt或.pem)、私钥文件(.key)、证书链文件(.ca-bundle)。cPanel中SSL证书在「SSL/TLS」中管理,证书文件实际存放在用户目录下的ssl文件夹。宝塔面板的证书存放在/server/panel/vhost/cert目录。证书文件包含敏感的私钥,私钥泄露会导致HTTPS通信被破解,所以ssl目录权限要严格设置,只有所有者可读(600或700),不要把私钥文件放到网站根目录。如果需要手动安装证书,把证书文件和私钥文件上传到ssl目录,然后在面板中配置或在Web服务器配置文件中引用。

.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密钥登录失效。

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

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)。

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

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

FTP中logs文件夹作用_网站访问日志与错误日志查看

标签:

更新时间:2026-09-01 14:39:31

上一篇:虚拟主机独立IP适合哪些网站?_电商/企业/邮件服务器的IP需求分析_站长实用教程

下一篇:IIS屏蔽蜘蛛保留百度谷歌抓取_Apache IIS屏蔽蜘蛛抓取教程详解