Cgwin编译nginx-1.18.0,解决中文目录乱码,并实现简易流媒体服务器

本文讲述了在Windows环境下,使用Cgwin编译nginx-1.18.0以解决中文目录乱码问题,并详细介绍了编译过程中的依赖库安装,以及如何构建简易流媒体服务器,包括设置UTF-8字符集和MP4格式的调整。
摘要由CSDN通过智能技术生成

一、问题由来

最近学习Java过程中接触到nginx Web服务器,于是从官网(http://nginx.org/en/download.html)下载nginx/Windows-1.18.0版软件,解压,配置nginx-1.18.0\conf下nginx.conf文件如下:

		location /nginx {
   
            root   H:/apache-tomcat-9.0.44/webapps;
            autoindex on;
			autoindex_exact_size off;
			autoindex_localtime on; 
        }

运行nginx.exe,打开浏览器,输入网址http://localhost/nginx/video/,正常输出如下:
1.目录浏览这里中文文件显示均为正常,但是鼠标点击**“中文课程.mp4”文件后,出现“502 Bad Gateway”错误,如下图:
2. 502 Bad Gateway且浏览器栏中出现乱码“
%D6%D0%CE%C4%BF%CE%B3%CC**”,初步怀疑该乱码为“中文课程”的某种编码。通过python函数'中文课程'.encode('GBK')函数得到输出正是该乱码,如下图:

3 python输出乱码说明win7系统的中文编码为GBK,浏览器地址栏无法解析GBK编码,于是将nginx.conf中编码改为utf-8(charset utf-8;),得到输出如下:
4. 目录乱码于是上网查询原因,按照网上的方法,先后将charset 设置为charset ISO-88509-1; charset utf-8; charset GBK; charset GB2312; charset utf-8, GBK; charset GBK, utf-8等字段,均不能解决问题,win7系统中也未找到将中文字符集改为utf-8的方法,同时在查询资料中得知nginx默认版本不包含--WITH-HTTP_MP4_MODULEMP4模块。于是决定在windows下采用cgwin编译nginx-1.18.0。

二、cgwin编译nginx-1.18.0

从官网下载源码包nginx-1.18.0.tar.gz,编译命令如下:

1. tar zxvf nginx-1.18.0.tar.gz
2. ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_sub_module --with-threads --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-stream
3. make && make install

编译命令不难,但是编译过程中遇到不少坑,原因是cgwin下缺少不少必备库:

1. pcre

通过cgwin setup安装了libpcre-dev,如图
在这里插入图片描述

2. zlib

通过cgwin setup安装了libzlib-dev,如图
在这里插入图片描述

3. openssl

由于找不到libopenssl-dev,怕缺少库,安装了下面一些库
在这里插入图片描述

4. crypt

这个库比较坑,网上没有资料说要装这个,而且编译过程中报的错误不明显,花了不少时间研究,装了这个libcrypt-dev后能正常编译代码:

在这里插入图片描述

5. libgd

通过cgwin setup安装了libgd-dev,如图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值