Linux上如何启用Nginx的HTTP/2

发布时间 - 2023-05-17 00:00:00    点击率:

http/2的推出主要是为了改善http 1.1性能差的问题。当初google为了提高http性能,做出了spdy,它就是http/2的前身,后来也发展成为http/2的标准。

必备条件

在服务器上启用 HTTP/2 协议,需要先安装 Nginx。并且确保功能正常而且配置没有错误。你可以使用下面的命令来检查一下:

sudo nginx -t

此外,你需要有服务器的 root 访问权限,或者至少有一个具有 sudo 权限的非 root 系统用户,以便你在修改 Nginx 配置文件的时候不会出现权限问题。最终,您必须拥有一个域名和一个为该域名颁发的有效 SSL 证书。

在 Ubuntu 上开启 Nginx 的 HTTP/2 协议

为了在 Ubuntu VPS 上开启 Nginx 的 HTTP/2 协议,你需要编辑默认的 Nginx 的服务(server)块,我们使用的是nano,你可以使用你自己的文本编辑器。

sudo nano /etc/nginx/sites-available/default

增加下面的服务块:

server {  
       server_name domain.com www.domain.com;
       listen 443 ssl http2 default_server;
       root /var/www/html;
       index index.html;

       location / {
               try_files $uri $uri/ =404;
       }

       ssl_certificate /etc/nginx/ssl/domain.com.crt;
       ssl_certificate_key /etc/nginx/ssl/domain.com.key;
}

server {
      listen         80;
      server_name    domain.com www.domain.com;
      return         301 https://$server_name$request_uri;
}

确保domain.com替换成你真正的域名。除此之外,还需确保正确配置文档根目录及 SSL 证书和密钥路径。 当你编辑完成这个服务块之后,需要保存并关闭文件。使用以下命令检查 Nginx 配置是否有错误:

sudo nginx -t

为了刚刚的改变生效,需要重启 Nginx:

sudo systemctl restart nginx.service

如果你想为另一个域名开启 HTTP/2 协议,你可以查看我们的博客如何在 Ubuntu 和 CentOS 上设置 Nginx 服务块。

在 CentOS 上开启 Nginx 的 HTTP/2 协议

为了在 CentOS VPS 开启 Nginx 的 HTTP/2 协议,你需要按照 Ubuntu 上完全相同的步骤做。唯一的不同点是 Nginx 块文件的位置。为了在 CentOS 上编辑默认的 Nginx 服务块,你需要进入/etc/nginx/conf.d这个文件夹。

# nano /etc/nginx/conf.d/default.conf

再次检查配置是否有错误,保存并关闭文件,然后使用以下命令重新启动 Nginx 服务:

# systemctl restart nginx.service

使用在线HTTP/2检测工具可以检验Nginx的HTTP/2协议是否成功开启。


# linux  # nginx  # 你可以  # 编辑器  # 有错误  # 自己的  # 的是  # 出了  # 你在  # 当你  # 你想  # 重启 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel怎么连接多个数据库_Laravel多数据库连接配置  Python图片处理进阶教程_Pillow滤镜与图像增强  HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】  如何在不使用负向后查找的情况下匹配特定条件前的换行符  ,交易猫的商品怎么发布到网站上去?  Laravel如何处理CORS跨域问题_Laravel项目CORS配置与解决方案  宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法  再谈Python中的字符串与字符编码(推荐)  Laravel Admin后台管理框架推荐_Laravel快速开发后台工具  活动邀请函制作网站有哪些,活动邀请函文案?  JavaScript如何实现错误处理_try...catch如何捕获异常?  Laravel如何安装使用Debugbar工具栏_Laravel性能调试与SQL监控插件【步骤】  制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?  Laravel的契約(Contracts)是什么_深入理解Laravel Contracts与依赖倒置  微信小程序 require机制详解及实例代码  php读取心率传感器数据怎么弄_php获取max30100的心率值【指南】  公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  如何快速搭建支持数据库操作的智能建站平台?  如何快速重置建站主机并恢复默认配置?  企业网站制作这些问题要关注  Python制作简易注册登录系统  WEB开发之注册页面验证码倒计时代码的实现  教学论文网站制作软件有哪些,写论文用什么软件 ?  Edge浏览器怎么启用睡眠标签页_节省电脑内存占用优化技巧  Python高阶函数应用_函数作为参数说明【指导】  如何安全更换建站之星模板并保留数据?  Laravel全局作用域是什么_Laravel Eloquent Global Scopes应用指南  html5的keygen标签为什么废弃_替代方案说明【解答】  如何在 Pandas 中基于一列条件计算另一列的分组均值  JavaScript中的标签模板是什么_它如何扩展字符串功能  高性能网站服务器部署指南:稳定运行与安全配置优化方案  详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)  CSS3怎么给轮播图加过渡动画_transition加transform实现【技巧】  如何在建站之星绑定自定义域名?  成都网站制作公司哪家好,四川省职工服务网是做什么用?  Laravel怎么判断请求类型_Laravel Request isMethod用法  laravel服务容器和依赖注入怎么理解_laravel服务容器与依赖注入解析  清除minerd进程的简单方法  如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框  ,南京靠谱的征婚网站?  昵图网官方站入口 昵图网素材图库官网入口  弹幕视频网站制作教程下载,弹幕视频网站是什么意思?  Python面向对象测试方法_mock解析【教程】  html5如何实现懒加载图片_ intersectionobserver api用法【教程】  Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】  Gemini手机端怎么发图片_Gemini手机端发图方法【步骤】  Laravel Blade组件怎么用_Laravel可复用视图组件的创建与使用  Laravel用户认证怎么做_Laravel Breeze脚手架快速实现登录注册功能  大型企业网站制作流程,做网站需要注册公司吗?  Laravel如何使用模型观察者?(Observer代码示例)