nginx搭建文件下载服务器无法显示和下载中文文件

背景:

想自己搭建一个下载文件服务器,网上很多教程,就跟着做了,搭建的过程中碰到了如下的几个问题,在这里记录一下,以免后面忘记了

问题:

1.路径分隔符/和\的问题.在写alias的时候是直接粘贴的windows的路径,因此默认是\,后面发现有问题,后面就切换成/就可以了
2.location块后的路径以及配合下面的alias的问题:
假如监听的是8000端口 location块后是/source,alias后配置的路径是: d:/temp.那你的路径如果是这样: http://127.0.0.1:8000/source/test.txt
就代表,到d:/temp下找叫test.txt的文件.说这个的意思是可以把前面的http://127.0.0.1:8000/source 替换成d:/temp.这样就好理解了.替换后的路径就是这样d:/temp/test.txt 这个就是我们在本机上访问这个test.txt文件的绝对路径么.
假如d:/temp下有个文件夹demo,demo里有个文件叫test2.txt那通过nginx访问这个test2.txt的路径就是:http://127.0.0.1:8000/source/demo/test2.txt 之所以记录这个是我刚开始老是搞不清楚这个路径的问题,经常配置后想要访问文件的时候老是404
3.windows系统搭建nginx下载服务器无法识别中文路径名称,报500.:
这个问题其实能大致猜到原因,肯定是乱码的原因.我们的系统默认字符集应该都是GBK,而一般浏览器用的是utf-8.因此,解决办法就是是把我们的nginx下载服务器配置成使用utf-8编码,并且把windows设置成默认utf-8编码
(1)nginx配置utf-8编码:

server和location下都要加
(2)更改windows系统的设置:

有感:

nginx真的太强大了!!!特别是他的stream模块的代理功能!简直了!后面再总结!

  • 9
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 Windows 中搭建一个支持上传和下载文件文件服务器,可以使用 Nginx 和一些插件来实现。以下是步骤: 1. 下载 Nginx for Windows,可以从官网下载:http://nginx.org/en/download.html 2. 解压缩下载Nginx 文件到某个目录下,例如 C:\nginx。 3. 在 C:\nginx\conf 目录下创建一个名为 nginx.conf 的文件,并在其中添加以下配置: ``` worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; server_name localhost; location / { root C:/nginx/html; index index.html index.htm; autoindex on; } location /upload { client_max_body_size 100m; alias C:/nginx/upload/; autoindex on; dav_methods PUT DELETE MKCOL COPY MOVE; dav_access user:rw group:rw all:r; } } } ``` 这个配置文件中定义了一个 http 服务,监听 80 端口,其中 /upload 路径是用来上传文件的,其它路径是用来下载文件的。注意修改 root 和 alias 的路径为你自己的路径。 4. 在 C:\nginx\html 目录下创建一个名为 index.html 的文件,用于测试下载文件是否成功。 5. 在 C:\nginx\upload 目录下创建一个名为 index.html 的文件,用于测试上传文件是否成功。 6. 启动 Nginx,打开命令行窗口,切换到 C:\nginx 目录下,执行命令:nginx.exe。 7. 打开浏览器,访问 http://localhost/,应该可以看到 index.html 页面,用于测试下载文件是否成功。 8. 打开浏览器,访问 http://localhost/upload/,应该可以看到 index.html 页面,用于测试上传文件是否成功。 现在你的文件服务器已经搭建好了,可以用来上传和下载文件了。上传文件时,可以使用 PUT 方法,例如使用 curl 命令上传文件: ``` curl -T file.txt http://localhost/upload/ ``` 下载文件时,可以使用 GET 方法,例如使用浏览器访问 http://localhost/file.txt。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值