LNMP环境启用HTTP/2:Nginx版本需≥1.9.5且含http2模块,修改监听为listen443sslhttp2,配置SSL证书,重启后可用浏览器或curl验证。
在LNMP(Linux, Nginx, MySQL, PHP)环境里,启用HTTP/2协议的关键在于Nginx的配置。以下步骤将详细说明如何操作,避免踩坑。

长期稳定更新的攒劲资源: >>>点此立即查看<<<
HTTP/2要求Nginx版本至少为1.9.5,且编译时需包含http2模块。执行以下命令确认:
nginx -V 2>&1 | grep http2
如果输出包含--with-http_v2_module,则说明Nginx已支持。若未出现,需升级或重新编译Nginx。
找到Nginx主配置文件(通常位于/etc/nginx/nginx.conf或/etc/nginx/sites-available/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参数,表示在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进入开发者工具,切换到“网络”标签。刷新页面,点击任意请求,查看响应头。若出现HTTP/2或h2,则说明成功。
命令行用curl
执行以下命令:
curl -I --http2 https://example.com
若返回第一行为HTTP/2 200,则配置正确。
按照以上步骤,在LNMP环境下启用HTTP/2并不复杂。关键在于确认Nginx版本、正确配置http2参数以及完成SSL证书配置。启用后,网站加载速度将有明显提升。
侠游戏发布此文仅为了传递信息,不代表侠游戏网站认同其观点或证实其描述