CnetOS安装Nginx配置HTTP2.0服务

Posted 书生水墨

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CnetOS安装Nginx配置HTTP2.0服务相关的知识,希望对你有一定的参考价值。

1、安装依赖

  • Pcre安装

官网:http://www.pcre.org

FTP镜像下载:ftp://ftp.pcre.org/pub/pcre/

HTTPS镜像下载:https://ftp.pcre.org/pub/pcre/

第三方下载:https://sourceforge.net/projects/pcre/files/

  • #下载(下载一个比较新的)

wget https://ftp.pcre.org/pub/pcre/pcre2-10.34.tar.gz

  • #解压安装包:

tar -zxvfpcre2-10.34.tar.gz

  • #进入安装包目录

cdpcre2-10.34

  • #编译安装  

./configure

make && make install

  • #查看pcre版本

pcre-config --version

  • Zlib安装

官网:http://www.zlib.net/

下载镜像在官网页面中间位置

  • #下载(下载一个比较新的)

wget http://zlib.net/zlib-1.2.11.tar.gz

  • #解压安装包:

tar -zxvfzlib-1.2.11.tar.gz

  • #进入安装包目录

cd zlib-1.2.11

  • #编译安装  

./configure

make

make check

make install

  • #更新版本

yum install zlib -y

libz.a是一个静态库,使用时在链接命令后加-lz /usr/llocal/lib/libz.a

  • Openssl安装

官网:https://www.openssl.org/

  • #下载(下载一个比较新的)

wget https://www.openssl.org/source/openssl-1.1.0l.tar.gz

  • #解压安装包:

tar -zxvfopenssl-1.1.0l.tar.gz

  • #进入安装包目录

cd openssl-1.1.0l.tar.gz

  • #编译安装  

./config shared alib

make && make install

  • #设置软连接指向刚编译好的openssl-1.1.0l

ln -s /usr/local/bin/openssl /usr/bin/openssl

ln -s /usr/local/include/openssl /usr/include/openssl

  • #添加libssl.so.1.1的软链接

ln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/libssl.so.1.1

ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1

  • #查看openssl版本

openssl version -a

2、利用openssl生产密钥

  • 安装mod_ssl

yum install mod_ssl

  • 制作私钥

openssl genrsa -out server.key 2048

  • 制作CRS证书请求文件

      openssl req -new -key server.key -out server.csr

  • 制作自我签署的金钥

       openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

  • 将crt跟key合并生成pem文件

cat server.crtserver.key > server.pem

       注:制作请求文件需要填写下表的信息

Country Name

ISO国家代码(两位)

CN

State or Province Name

所在省份

BJ

Organization Name

公司名称

BJ

Organizational Unit Name

部门名称

IT Dept

Common Name

申请证书的域名

www.excape.com

邮箱


A challenge password

挑战密码


An optional company name

可选的公司名称


3、配置nginx

nginx官网:http://nginx.org/

下载链接:http://nginx.org/en/download.html

  • #下载(下载一个比较新的)

wget http://nginx.org/download/nginx-1.16.1.tar.gz

  • #解压安装包:

tar -zxvf nginx-1.16.1.tar.gz

  • #进入安装包目录

cd nginx-1.16.1.tar.gz

  • #编译安装  

./configure --prefix=/usr/local/nginx--with-http_stub_status_module --with-http_ssl_module --with-http_realip_module--with-http_gzip_static_module --with-http_stub_status_module  --with-http_stub_status_module--with-http_v2_module --with-openssl=/usr/local/src/openssl-1.1.0l

make && make install

(注意http_v2_moduleHTTP2.0的配置,必须包含该模块,openssl为下载的openssl的源码路径,不make installnginx不会出现/usr/local/nginx

  • #在nginx源码路径下执行

make upgrade

  • #查看nginx版本

nginx -v

  • #修改nginx配置文件,使HTTP2.0生效

vim/usr/local/nginx/conf/nginx.conf

将文件中的HTTPSserver配置替换为如下设置(其中ssl_certificate、ssl_certificate_key为使用openssl生成的密钥所在路径,listen 后面添加http2

# HTTPS server

server {

    listen      443 http2 ssl;

    server_name localhost;

 

    ssl_certificate      /usr/local/nginx/server.pem;

    ssl_certificate_key  /usr/local/nginx/ca.key;

 

    ssl_session_cache    shared:SSL:1m;

    ssl_session_timeout  5m;

 

    ssl_ciphers HIGH:!aNULL:!MD5;

    ssl_prefer_server_ciphers  on;

 

    location / {

        root  html;

        index index.html index.htm;

    }

}

  • #重启nginx

nginx -s reload

4、验证是否配置成功

谷歌浏览器安装HTTp/2SPDY指示器https://chrome.google.com/webstore/detail/http2-and-spdy-indicator/mpbpobfflnpcgagjijhmgnchggcjblin?hl=en插件查看



以上是关于CnetOS安装Nginx配置HTTP2.0服务的主要内容,如果未能解决你的问题,请参考以下文章

CentOS6下Nginx安装配置

如何在项目中使用Http2.0?

Windows环境下Nginx配置HTTP/2.0

http2.0反向代理遇到的坑

ssl证书及http2.0

2021-07-06 .NET高级班 94-nginx集成grpc的配置