简介

HTTP/2 (原名HTTP/2.0)即超文本传输协议 2.0,是下一代HTTP协议。是由互联网工程任务组(IETF)的Hypertext Transfer Protocol Bis (httpbis)工作小组进行开发。是自1999年http1.1发布后的首个更新。HTTP 2.0在2013年8月进行首次合作共事性测试。在开放互联网上HTTP 2.0将只用于https://网址,而 http://网址将继续使用HTTP/1,目的是在开放互联网上增加使用加密技术,以提供强有力的保护去遏制主动攻击。DANE RFC6698允许域名管理员不通过第三方CA自行发行证书。

一、前置要求

Nginx1.10.0以上版本才支持Http2.0,如果使用的是Tengine,版本需要大于2.2.1,且需要添加--with-http_v2_module模块。
Http2.0只支持Https协议的网站,且openssl版本需要高于1.0.2。

二、检查当前Nginx的版本及安装的组件(组件未安装)

[root@VM-0-2-centos sbin]# 
[root@VM-0-2-centos sbin]# ./nginx -V
nginx version: nginx/1.19.6
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) 
built with OpenSSL 1.0.2k-fips  26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/nginx --pid-path=/nginx/nginx.pid --lock-path=/nginx.lock --error-log-path=/nginx/error.log --http-log-path=/nginx/access.log --with-http_gzip_static_module --http-client-body-temp-path=/nginx/client --http-proxy-temp-path=/nginx/proxy --http-fastcgi-temp-path=/nginx/fastcgi --http-uwsgi-temp-path=/nginx/uwsgi --http-scgi-temp-path=/nginx/scgi --with-http_stub_status_module --with-http_ssl_module --with-file-aio --with-http_realip_module --with-http_gzip_static_module --with-http_sub_module

三、编译配置安装

在解压后的nginx目录下执行以下脚本,安装目录根据个人实际环境修改

./configure \
--prefix=/nginx \
--pid-path=/nginx/nginx.pid \
--lock-path=/nginx.lock \
--error-log-path=/nginx/error.log \
--http-log-path=/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/nginx/client \
--http-proxy-temp-path=/nginx/proxy \
--http-fastcgi-temp-path=/nginx/fastcgi \
--http-uwsgi-temp-path=/nginx/uwsgi \
--http-scgi-temp-path=/nginx/scgi \
--with-http_stub_status_module \
--with-http_ssl_module \
--with-file-aio \
--with-http_realip_module \
--with-http_v2_module \
--with-http_gzip_static_module \
--with-http_sub_module

四、安装

在编译后的nginx目录下执行以下命令,在执行前请关闭nginx进程。

make
nake install

五、修改配置 文件

在配置文件如下位置,添加http2

server
    {
        listen 80;
        listen 443 ssl http2;
        server_name img.collick.xyz; #这里写你网站的域名,注意别删掉结尾的分号
        index index.php index.html index.htm default.php default.htm default.html;
        root /www/wwwroot/default; #这里写你网站根目录的地址
        real_ip_header X-Forwarded-For; #用于接收远端frps服务器上nginx传递的真实IP
        real_ip_recursive on;
#省略

六、检查配置文件是否正确

[root@VM-0-2-centos sbin]# ./nginx -t
nginx: the configuration file /nginx/conf/nginx.conf syntax is ok
nginx: configuration file /nginx/conf/nginx.conf test is successful

七、启动nginx进程

[root@VM-0-2-centos sbin]# ./nginx
[root@VM-0-2-centos sbin]# ps -ef | grep nginx
root     13572     1  0 21:44 ?        00:00:00 nginx: master process ./nginx
nobody   13573 13572  0 21:44 ?        00:00:00 nginx: worker process
root     19347 32280  0 22:23 pts/1    00:00:00 grep --color=auto nginx

参考网站:
零~的博客
lywJee的博客



最后修改:2021 年 01 月 31 日
如果觉得我的文章对你有用,请随意赞赏