发布于2026-07-31 阅读(0)
扫一扫,手机访问
在LNMP(Linux, Nginx, MySQL, PHP)这套经典组合里,想启用HTTP/2协议,核心工夫其实都落在Nginx身上。下面就把操作步骤拆开来讲,每一步都尽量说清楚,避免你踩坑。

HTTP/2可不是所有Nginx版本都能直接支持的。它要求Nginx版本至少是1.9.5,而且编译时得带上http2模块。怎么确认呢?直接跑这条命令:
nginx -V 2>&1 | grep http2
如果输出里出现了--with-http_v2_module,那就说明你的Nginx已经准备好了。要是没看到,那就得考虑升级或者重新编译了。
找到Nginx的主配置文件,通常在/etc/nginx/nginx.conf,或者在/etc/nginx/sites-a vailable/default这种站点配置里。你需要做的是把监听端口那行改成下面这样:
server {
listen 443 ssl http2;
server_name example.com;
ssl_certificate /path/to/your/fullchain.pem;
ssl_certificate_key /path/to/your/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
root /var/www/html;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # 注意根据你的PHP版本调整
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
关键点就在listen 443 ssl http2;这一行——加上http2参数,就告诉Nginx在443端口上使用HTTPS并启用HTTP/2协议。其他SSL配置和PHP解析部分按常规来就行。
HTTP/2强制要求走HTTPS,所以SSL证书是绕不过去的。如果你还没有证书,最简单的方式是用Let's Encrypt免费获取,配合Certbot工具自动搞定:
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d example.com
按提示操作,Certbot会自动帮你申请证书、修改Nginx配置。整个过程几分钟就完事。
配置改好后,别忘了重启Nginx服务:
sudo systemctl restart nginx
如果没报错,说明配置基本没问题。要是报错,仔细检查一下配置文件里的路径、证书文件是否存在,以及监听端口是否被占用。
验证方法很简单,两种方式随便选一个:
浏览器开发者工具
打开你的网站,按F12进入开发者工具,切换到“网络”标签。刷新页面,随便点一个请求,查看响应头(Response Headers)。如果看到HTTP/2或者h2,就说明成功了。
命令行用curl
如果你习惯终端操作,直接跑:
curl -I --http2 https://example.com
如果返回的第一行是HTTP/2 200,那恭喜你,配置完全正确。
按照这几个步骤,在LNMP环境下启用HTTP/2其实并不复杂。关键在于确认Nginx版本、正确配置http2参数,以及搞定SSL证书。一旦跑起来,网站加载速度的提升还是相当明显的。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8