在我们的程序应用中经常会有一些配置文件或者是版本文件需要下载,此时如果把这些下载文件放到程序容器中,在文件太大导致下载时间太长或者大量并发下载时可能会影响程序的正常访问。因此我们可将文件服务器与程序服务器分离。保证程序的可用性不因下载量而受到影响。

前置条件:

服务器已经安装nginx服务

步骤:

新增文件服务器配置文件:

在/etc/nginx/conf.d目录中创建文件file-18080.conf。命令参考:


 


vi /etc/nginx/conf.d/file-18080.conf

然后在文件中增加如下内容


 


server { access_log /data02/nginx_logs/version_file_access.log;#配置访问日志存放地址 listen 18080; #文件服务器端口根据实际配置 charset utf-8; autoindex on; autoindex_exact_size off; autoindex_localtime on; location / { root /home/mm/version-file;#文件服务器中存放文件的目录, 请根据实际配置 } }

注意:1.若目录不存在则需要手动创建2.配置文件的命名规则最好出现端口;一目了然,可防止后续有冲突3.存放文件的目录(/home/mm/version-file)需要手动创建,并保证权限;同时需要保证目录所在文件空间比较大4.默认情况下nginx会记录访问记录到默认的日志文件中,在实际使用过程中一般需要将具体的日志文件配置到空间较大的目录中。因此需要根据实际情况来配置access_log 的路径 ,若不需要这个日志也可以通过关闭日志功能

access_log off;

将自定义配置文件 include到nginx.conf中

在nginx.conf配置文件中增加引用


 


include /etc/nginx/conf.d/*.conf;

注意 改命令将/etc/nginx/conf.d目录下所有以.conf结尾的配置文件全部引入。实际操作时需要视实际情况而定。

添加完效果:

 

nginx配置文件服务器java上传 nginx 文件服务器_nginx配置文件服务器java上传

在nginx.conf引入自定义配置文件

 

引入自定义配置

配置完成 重启nginx

进入nginx的sbin目录,重启nginx,


 


./nginx -s reload

启动后查看nginx的日志,确定配置没有问题后。在浏览器中输入


 


http://服务器器IP:配置的端口

根据当前配置 输入http://10.0.1.228:18080

 

nginx配置文件服务器java上传 nginx 文件服务器_nginx_02

自定义配置文件中location配置路径的文件结构

 

显示location中路径的文件结构

图中出现的config和version是配置文件中 location目录下的两个目录

至此,已经完成了简单文件服务器的配置了。

通过增加version-file-18080.conf这样的配置文件,然后在nginx/nginx.conf中进行引用的好处就是

不需要在nginx/nginx.conf做过多的实际业务方面的配置。保证该配置文件简单易读。实际的业务配置文件可以进行版本管理。防止误删、修改错误后可快速回退单个配置修改修改时 仅需要修改对应的文件。