网站出现问题时的基本诊断
如果您的 VPS 网站出现问题,例如网站无法访问、500、502、504 错误以及数据库错误等,强烈建议您在联系技术支持之前,先按照下文所述进行基本诊断。这些信息可以帮助您自行解决问题,或加快我们的专家处理您请求的速度。
从外部网络访问服务器
检查服务器是否可访问的最简单方法是使用提供此功能的在线服务。互联网上有很多这样的服务,您可以通过搜索 “ping online”、“在线 ping”、“网站可用性检测” 等关键词找到它们。这些服务通常是免费的,而且使用简单。
您也可以在自己电脑的命令行中执行以下命令,检查服务器是否可访问:
ping 服务器IP地址
如果服务器可访问,您将看到与服务器之间收发数据包的信息,大致如下所示:
要停止执行该命令,请按 Ctrl+C。
如果看不到数据包的交换,说明服务器无法访问。
这种情况下,建议检查服务器上的网络设置:通过 SSH 连接或使用管理面板中的 Web 控制台,执行以下命令:
ifconfig
以下是正确输出的示例,其中 inet addr 一行不为空,表示网络设置正确:
如果 inet addr 一行为空,说明网络设置存在问题,可能需要配置静态 IP 地址。
网站运行所需的服务是否已启动
要检查负责网站运行的服务的状态,请通过 SSH 连接到服务器或使用管理面板中的 Web 控制台,并执行以下命令:
Apache:
service apache2 status
或
service httpd status
Nginx:
service nginx status
MySQL:
service mysql status
service mysqld status
MariaDB:
service mariadb status
服务正在运行时的状态示例:
如果输出中没有 running 一词,说明该服务没有运行。
这种情况下,首先尝试使用以下命令启动服务:
service 服务名 start
例如,Apache2:
service apache2 start
或者:
service httpd start
Nginx:
service nginx start
MySQL:
service mysql start
service mysqld start
MariaDB:
service mariadb start
启动服务后,检查网站是否正常工作。如果问题仍然存在,请进行下一项检查。
磁盘空间状态
可以使用以下命令获取磁盘空间的总体信息:
df -h
输出中将显示磁盘大小和可用空间。
如果磁盘空间已用完,需要采取措施:扩容磁盘或删除不需要的文件。
您可以使用 ncdu 和 du 工具来分析磁盘空间。
索引节点(inodes)状态
如果索引节点(inodes)已用完,同样会引发问题。服务器上将开始出现错误以及磁盘空间不足的提示。
日志目录的访问权限
需要检查服务器主要服务写入日志的目录是否设置了正确的访问权限:
/var/log/mysql/
/var/log/nginx/
/var/log/apache2/
# 或
/var/log/httpd/
可以使用以下命令检查访问权限:
ls -l /var/log/
以下是正确输出的示例,其中我们关注的目录为所有者设置了正确的访问权限 (rwx):
drwxr-x--- 2 root adm 4096 Aug 16 09:26 apache2
drwxrwxr-x 2 mysql adm 4096 Aug 16 09:26 mysql
drwxr-xr-x 2 root adm 4096 Aug 16 09:27 nginx
如果目录没有所需的访问权限,可以使用 chmod 命令进行设置:
chmod -R 755 /目录路径/
例如:
chmod -R 755 /var/log/nginx/
这将设置访问权限 755 (rwxr-xr-x),即所有者可以写入、读取和执行文件,其他用户可以读取和执行文件。
如果在检查时发现日志目录不存在,可以使用 mkdir 命令创建该目录并设置所需的访问权限,例如:
mkdir /var/log/mysql/
chmod -R 775 /var/log/mysql/
以上操作可以帮助您检查磁盘空间、inodes 和访问权限的状态。如果检查后某些服务仍然无法启动,或网站的问题依然存在,请向技术支持提交请求,并告知您获得的信息。