nginx资源服务器

nginx资源服务器

八月 10, 2020

Nginx 局域网资源服务器安装及配置(新手向)

写在前面

这次安装配置Nginx静态服务器的主要目的为了实现在局域网的情况下,实现对Nginx服务器上资源的读取、修改与上传。实现类似(但不限于)NAS网络存储服务器或是windows局域网共享磁盘的功能,本博客只是提供一种我尝试可行的方法,不保证在所以情况下都可行。望给有类似需求以及喜欢DIY的朋友一个参考与简单的思路。

前期准备

系统版本

这是我的系统版本

windows10可以使用win + R在输入winver查看版本

设置静态IP

注:设置静态IP并不是必须的,但如果不设置的话服务器的IP有可能在每次电脑开机时变化,所以当你再次访问IP时需要查看web服务器的IP地址,嫌麻烦的可以跳过

在win10中可以使用win + R在输入cmd打开命令行,或者右击屏幕左下角开始菜单在选择命令行提示符(Windows PowerShell)

1
2
# 查看当前电脑的IP
ipconfig

右击右下角的网络图标点击打开“网络 和 internet”设置,之后按下图操作

http://r.photo.store.qq.com/psc?/V51omi8H2ZybVP1W54I94cQfjz2sEfyp/45NBuzDIW489QBoVep5mcSxUmTZ9Nyu02gmc4lRzgvzMJpKgVB.QhtzIhrDzHEVlt5tpW1ql8ElTcmuHY4CdXRAOZOkxa3aUgBwps3y7e9I!/r

之后保存并关闭,这里的可能需要重启或者插拔网线或者重新连接,再次查看IP可以看到本机IP已经切换到了设置的192.168.1.49

注:这里的网关要和ipconfig查询结果的默认网关相同

关闭局域网防火墙

注:这也不是必须的,你可以添加出入站规则

在桌面右击选择个性化,之后搜索防火墙

http://r.photo.store.qq.com/psc?/V51omi8H2ZybVP1W54I94cQfjz2sEfyp/45NBuzDIW489QBoVep5mcSxUmTZ9Nyu02gmc4lRzgvyRQrs8YuVWlZo1Duy8W4fziW0XTmAFZdf3tYPcdDoN2XA3otzpvH35BLcX6DxzJFg!/r

选择后,点击启用或关闭Windows Defender防火墙,选择关闭

http://r.photo.store.qq.com/psc?/V51omi8H2ZybVP1W54I94cQfjz2sEfyp/45NBuzDIW489QBoVep5mcWSn7zPAbC*Vr5paSSRVGaTLeR9iUaKENZdDGdzrZ8OR5bhLetHJMDUkbHkjJg2lmVQLYxtSmXoRtiwe9yEffdI!/r

下载并安装Nginx

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

我下载的是当前最新版nginx/Windows-1.18.0

下载后解压,注意Nginx启动需要在命令行下,双击图标无法启动

在win10中可以使用win + R在输入cmd打开命令行,或者右击屏幕左下角开始菜单在选择命令行提示符(Windows PowerShell)

1
2
3
4
# 进入程序目录
cd C:\nginx\nginx-1.18.0
# 启动程序
.\nginx.exe

之后打开浏览器访问127.0.0.1,看到下图则表示启动成功

http://r.photo.store.qq.com/psc?/V51omi8H2ZybVP1W54I94cQfjz2sEfyp/45NBuzDIW489QBoVep5mcQqrUz6Gxs4dIVv3.TzWnGAwVASL2dO3KKmr3Bf7zGH3UPq.9*vcmfO9Uko3CvslCGpHyrmjPkECWz8Rw.9bWsg!/r

修改配置文件实现下载

注意:路径不要有中文,否则会出现无法访问的情况

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
server {
listen 100;
#服务器访问端口,在有防火墙的情况下,需要允许该端口访问
root D:/;
#允许访问的文件目录
add_header Cache-Control "no-cache,must-revalidate";
#禁用浏览器缓存
location / {
add_header Access-Control-Allow-Origin *;
#允许跨域请求
autoindex on;
#打开目录浏览功能
autoindex_exact_size off;
#默认为on,显示出文件的确切大小,单位是bytes
#off时,显示出文件的大概大小,单位是kB或者MB或者GB
autoindex_localtime on;
#默认为off,显示的文件时间为GMT时间。
#改为on后,显示的文件时间为文件的服务器时间
}
}

当然这只能,单个进行文件传输,如果我想一次性的传输一个文件夹内的所有文件怎么办?

等等…………网上好像没有找到,那就自己写吧,不过个之后再说,先实现上传功能再说

关于文件续传,这个日后再说

实现文件上传

性能优化及问题解决

这个部分主要记录在使用过程中遇到的问题,以及相关性能优化

  1. 当服务器主机在运行时,出现无线网突然断连的情况

    猜测原因:

    路由器问题,用的老式路由器,当初买来不到50,有可能死机了,或是卡了,因为断流的时候,手机也断流了

    电脑问题,因为之前电脑在连接不同路由,也有断流的情况

    解决方法:

    使用有线连接

  2. 服务器主机在满速传输时,无法对外通讯

    当其他电脑向服务器请求下载文件时,服务器主机电脑无法浏览网页

    猜测原因:

    由于上行传输速度会满

  3. windows任务管理器显示9.9Mbps上传,但请求下载主机0速度

  4. 类似上文情况,但传输断断续续

    可能原因:

    路由器或主机问题

    请求主机使用idm下载,尝试使用其他软件下载再测试

    请求过多,一下请求20多个文件

    解决方法:

    重启路由器,重启服务器主机,重启nginx服务器