在开始测试站点服务之前,必须确保服务器底层的资源充足且环境配置正确。这是所有测试的基础,忽略这一步会导致后续所有测试结果不可信。
首先登录服务器,使用以下命令检查CPU、内存和磁盘的负载情况。如果资源占用过高,测试结果会严重失真。
free -h 命令。重点关注 available 列,确保至少有20%的内存余量。如果 Swap 被大量使用,说明物理内存已不足。df -h 命令。检查站点所在的目录挂载点(通常是 / 或 /home),Use% 不能超过85%,否则可能导致日志写入失败或程序崩溃。top 或 uptime 命令。观察 load average,如果数值长期超过CPU核心数,说明服务器本身存在性能瓶颈。根据你的技术栈,检查Web服务器和数据库服务是否处于正常运行状态。
systemctl status nginx 或 systemctl status httpd。输出中必须包含 Active: active (running) 绿色字样。systemctl status mysqld。如果是PHP环境,还需检查PHP-FPM状态:systemctl status php-fpm。netstat -tulpn | grep LISTEN。确认80(HTTP)、443(HTTPS)以及数据库端口(如3306)处于 LISTEN 状态,且监听地址为 0.0.0.0(允许外部访问)或 ::。服务配置正确不代表外部能访问,防火墙是导致测试失败最常见的原因。必须同时检查系统内部防火墙和云厂商的安全组。
针对CentOS(Firewalld)和Ubuntu(UFW)分别执行检查命令。
firewall-cmd --list-all。在 services 或 ports 行中,必须包含 http、https 或对应的端口映射。如果缺失,执行 firewall-cmd --permanent --add-service=http 并重载防火墙。ufw status。确保输出中包含 80/tcp 和 443/tcp 的 ALLOW 规则。登录阿里云、腾讯云或AWS控制台,找到该实例关联的安全组。
0.0.0.0/0 的配置。curl localhost,但外网无法访问。错误的配置文件会导致服务无法重启或产生意外的跳转。在修改配置后,必须进行语法测试。
执行 nginx -t 命令。
syntax is ok 和 test is successful。{} 不匹配、分号 ; 遗漏或变量名拼写错误。修复后必须执行 nginx -s reload 使配置生效。确保Nginx配置文件中的 server 块包含以下核心指令:
index.php index.html。try_files $uri $uri/ /index.php?$query_string;,否则会导致除了首页以外的所有页面返回404。如果站点配置了域名,必须确保DNS解析生效且HTTPS证书未过期。
在本地电脑或服务器终端执行:
nslookup yourdomain.com 或 dig yourdomain.com。nslookup yourdomain.com。检查返回的 Address 是否为你服务器的公网IP地址。如果不是,请前往域名服务商修改DNS记录,并等待生效(通常TTL设置为600秒即10分钟)。

使用 curl 命令模拟HTTPS请求并检查证书:
执行命令:
```bash curl -Iv https://yourdomain.com 2>&1 | grep -E "SSL|certificate|expire" ```expire date。如果时间早于当前时间,说明证书已过期,浏览器会拦截访问。openssl s_client -connect yourdomain.com:443 -showcerts。如果输出中包含 Verify return code: 0 (ok),说明证书链完整。如果报错 unable to get local issuer certificate,说明缺少中间证书,需要去证书服务商下载完整的CA证书链并配置到Nginx的 ssl_certificate 指令中。这是核心环节,通过模拟浏览器请求,验证站点是否返回了正确的内容。
使用 curl -I 仅获取响应头,速度快且不下载内容:
curl -I http://yourdomain.com。期望返回 HTTP/1.1 200 OK 或 301 Moved Permanently(如果强制跳转HTTPS)。curl -I http://yourdomain.com。检查 Location 字段是否指向 https://yourdomain.com。curl -I http://yourdomain.com/not-exist-page。应返回 404 Not Found,且不应返回默认的Nginx 404页面(应返回站点自定义的404页面),这验证了错误处理配置。创建一个简单的测试文件,如 info.php,内容为 。
http://yourdomain.com/info.php。/wp-admin。如果能正常显示登录框,说明程序已成功连接数据库读取配置。在正式生产环境上线前,使用简单的工具模拟并发访问,防止高流量下直接崩溃。
如果未安装,执行 yum install httpd-tools 或 apt install apache2-utils。
执行模拟100个并发,总共发送1000个请求的命令:
```bash ab -n 1000 -c 100 http://yourdomain.com/ ```Failed requests 数值,必须为0。如果有失败,通常是因为Nginx配置的连接数限制或PHP-FPM进程数不足。Requests per second。对于静态站点,该数值通常应在几百到上千;对于动态站点,数值取决于服务器性能和代码复杂度。在压测过程中,开启另一个终端窗口,实时监控错误日志,这是发现隐藏Bug的最佳时机。
tail -f /var/log/nginx/error.log。tail -f /var/log/php-fpm/error.log(路径视php.ini配置而定)。如果在压测期间日志中频繁出现 Max request reached 或 Resource temporarily unavailable,说明需要调高 pm.max_children 等配置参数。
测试通过后,不要忘记清理测试遗留物并开启缓存加速。
test.php、info.php 等文件。/var/log/nginx/ 拥有写入权限,防止上线后无法记录访问日志。在Nginx配置的 http 块中添加以下配置以优化传输速度:
配置修改后执行 nginx -s reload。使用 curl -I -H "Accept-Encoding: gzip" http://yourdomain.com 检查响应头中是否包含 Content-Encoding: gzip。
易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。
Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图