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_module为HTTP2.0的配置,必须包含该模块,openssl为下载的openssl的源码路径,不make install,nginx不会出现/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/2和SPDY指示器(https://chrome.google.com/webstore/detail/http2-and-spdy-indicator/mpbpobfflnpcgagjijhmgnchggcjblin?hl=en)插件查看
以上是关于CnetOS安装Nginx配置HTTP2.0服务的主要内容,如果未能解决你的问题,请参考以下文章