当前位置: 首页 > news >正文

brew+nginx配置静态文件服务器

背景

一下子闲下来了,了解的我的人都知道我闲不下来。于是,我在思考COS之后,决定自己整一个本地的OSS,实现静态文件的访问。那么,首屈一指的就是我很熟的nginx。也算是个小复习吧,复习一下nginx代理静态文件。

nginx的使用场景

  • 反向代理

作为中间层的服务器,将来自客户端的请求转发到对应的后端服务器上

  • 动静分离

动:指的是后端处理过的数据;静:静态的资源,如图片、css、js代码。nginx可以直接提供静态资源访问,动态的则直接转发到对应的后端服务

  • 负载均衡
http {upstream backend {server backend1.example.com;server backend2.example.com;server backend3.example.com;}server {listen 80;location / {proxy_pass http://backend;}}
}

以上配置的就是轮询的负载均衡算法还有随机加权轮训ip hash最小连接数基于URI的负载均衡等方式,具体问题具体分析,其实很好的做好了后端之前的负载工作。对,还有一个神器keep alive,感兴趣的可以了解一下,nginx+keep alive, 绝配。

  • 静态文件服务

nginx其实本身就是应对高并发的场景设计的,用它代理很多静态的资源、视频、图片等,都是很好的选择。

mac上的配置

安装

brew install nginx

启动

(base) ~|⇒ brew services start nginx
==> Successfully started `nginx` (label: homebrew.mxcl.nginx)

启动了就是这个样子,就可以看到默认的访问页面。

nginx的配置文件也是超级不好找的,不过适应了就好,因为homebrew已经提前帮我们规划好了。

# 配置文件
/opt/homebrew/etc/nginx

nginx的默认的配置文件都在这里:

(base) nginx|stable ⇒ ls
fastcgi.conf           fastcgi_params.default mime.types             nginx.conf.default     scgi_params.default    win-utf
fastcgi.conf.default   koi-utf                mime.types.default     nginx.conf_cpy         uwsgi_params
fastcgi_params         koi-win                nginx.conf             scgi_params            uwsgi_params.default

重头戏

说了这么久,我要的静态资源服务器呢?安排上。在开始之前,我们需要做一下的准备:

  1. 开放的端口号是什么,我这里就8080了,免得以后别的服务端口占用了;
  2. 挂载的路径 我就选~/imgs吧,放了一些我的typora的笔记截图

好的,现在资源规划完成了,我们开始整。

配置的过程

cp nginx.conf nginx.conf_bck
vim nginx.conf

我就直接扔出来具体的配置了,每个配置都有详细的解释:

     location /downloads {#转到的Nginx文件目录alias /xxx/files;#打开目录浏览功能autoindex on;#默认为on,显示出文件的确切大小,单位是bytes#显示出文件的大概大小,单位是kB或者MB或者GBautoindex_exact_size off;#默认为off,显示的文件时间为GMT时间。#改为on后,显示的文件时间为文件的服务器时间autoindex_localtime on;#让浏览器不保存临时文件add_header Cache-Control no-store;#避免中文乱码charset utf-8,gbk;#希望请求文件是下载而不是显示内容#add_header Content-Disposition attachment; }

nginx重新加载配置:

/opt/homebrew/bin/nginx -s reload

访问地址:http://127.0.0.1:8080/downloads 即可看到效果:

点击文件就可以实现类似于文件预览的效果。

怎么样子,是不是很好用!直接一个nice

服务关闭

作为节省资源型的猿,我喜欢不用的时候关闭软件,来看看搭载了brew的包管理器如何关闭服务。

(base) nginx|stable ⇒ brew services stop nginx
Stopping `nginx`... (might take a while)
==> Successfully stopped `nginx` (label: homebrew.mxcl.nginx)

检查一下:

ps -ef | grep nginx | grep -v grep

OK, 以上就是brew nginx配置静态资源服务器的全部过程了。伙伴们也记得关注,这样就不会错过很多干货了。

http://www.lryc.cn/news/119667.html

相关文章:

  • JavaFx异常: Not on FX application thread; currentThread = Timer-0
  • 【Django】无法从“django.utils.encoding”导入名称“force_text”
  • docker-compose redis 一直启动失败
  • 使用GUI Guider工具在MCU上开发嵌入式GUI应用 (1) - GUI Guider简介及安装
  • 解决:django设置DEBUG=false时出现的问题
  • 2023-08-10力扣每日一题
  • C#与halcon联合 缩放移动自适应图像
  • 推荐 4 个 yyds 的 GitHub 项目
  • chrome插件开发实例05-页面间通信
  • linux安装ftp
  • 前后端分离------后端创建笔记(上)
  • Java不可变集合详解
  • 常见的JavaScript日常问题
  • css modules的用法和在react项目中的应用
  • 【LangChain概念】了解语言链️:第2部分
  • 步入React前厅 - Css In React
  • OpenCV(三)——图像分割(二)
  • 28.Netty源码之缓存一致性协议
  • 造个轮子-任务调度执行小框架-任务清单执行恢复实现
  • 若依部署前后端
  • 2009年上半年 软件设计师 下午试卷
  • SpringBoot使用自定义事件监听器的demo
  • arcgis定义投影与投影
  • Flink多流处理之Broadcast(广播变量)
  • LVS/DR+Keepalived负载均衡实战(一)
  • 测试DWPose的onnx +Unity barracuda
  • 轻装上阵,不调用jar包,用C#写SM4加密算法【卸载IKVM 】
  • redis学习笔记(一)
  • 最优化问题 - 拉格朗日对偶
  • 关于ISO27701隐私信息安全管理体系介绍