linux安装nginx配置https与开启gzip压缩,解决接口数据量过大问题

linux安装nginx配置https与开启gzip压缩,解决接口数据量过大问题

    • 前言
    • 安装nginx
    • 配置https代理
    • 开启gzip

前言

在做的项目要在地图上展示海量的桩号点数据 接口返回的数据量太大 差不多六七万条数据 前端海量点渲染加分层展示还好 但是接口请求速度太慢 数据太大 因为项目的时间问题 来不及去优化代码 就想到了 nginx有个gzip
配置完后 数据从20m压缩到了2m 响应时间也大大的减少了 下面是在做配置时候用到的所有步骤 有需求的朋友可以按照下面一步一步来配置

安装nginx

  1. 安装编译工具及库文件
yum install gcc
yum install pcre-devel
yum install zlib zlib-devel
yum install openssl openssl-devel
  1. 创建nginx文件夹
mkdir /usr/local/nginx
  1. 在nginx文件夹中下载nginx安装包
wget http://nginx.org/download/nginx-1.13.7.tar.gz
  1. 解压
tar -xvf nginx-1.13.7.tar.gz
  1. 进入安装好的文件夹编译安装 我这边编译的是对应https的
cd nginx-1.13.7/
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module 
make
make install
  1. 查看nginx版本
/usr/local/nginx/sbin/nginx -v

在这里插入图片描述
到此,nginx安装完成。

配置https代理

  • 进入nginx conf文件夹
cd /usr/local/nginx/conf
  • 编辑nginx.conf
vi nginx.conf
  • 加入以下配置 nginx自带了https的默认配置 也可以把注释去掉在原来的基础上修改
server {
		#监听443端口
        listen       443 ;
        #对应的域名,把gzyh.gzgsgly.com改成你们自己的域名
        server_name  gzyh.gzgsgly.com;
        ssl on;
        #nginx证书 我把证书都放到了 /etc/ssl
        ssl_certificate     /etc/ssl/gzyh.gzgsgly.com_bundle.pem;
        ssl_certificate_key   /etc/ssl/gzyh.gzgsgly.com.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;
            		#代理的地址,就是tomcat的访问地址
                    proxy_pass http://192.168.250.2:8080; 
                    proxy_set_header Host $host:$server_port;
                    proxy_set_header X-Real-IP $remote_addr;
                    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
                    proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
                    proxy_http_version 1.1;
                    proxy_set_header X-Forwarded-Proto https;
        }
    }

开启gzip

  • 打开nginx.conf gzip默认是关闭的 在文件中找到gzip 并在下面添加以下配置
#将gzip打开
gzip  on;
# 压缩级别 级别越高,压的越小,越浪费CPU计算资源
gzip_comp_level 2;  
#对哪些类型的文件用压缩
gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
# 开始压缩的最小长度 我这边是1000k 不建议调到很小
gzip_min_length 1000k;
#缓冲
gzip_buffers 16 64k;
#开始压缩的http协议版本
gzip_http_version 1.1;

到此安装到配置全部完成 下面就是启动tomcat服务器与nginx服务器 测试一下

  • 启动nginx
/usr/local/nginx/sbin
./nginx
  • 重启命令
./nginx -s reload
  • 停止命令
./nginx -s stop

登录系统查看是否有压缩数据
https正常

linux安装nginx配置https与开启gzip压缩,解决接口数据量过大问题_第1张图片
接口的数据从最开始的20m 压缩成了2m
公司的网速慢 响应时间从40多秒 变成了4秒以内

在这里插入图片描述

你可能感兴趣的:(nginx,https,linux)