nginx配置访问本地静态资源
下面说说如何在windows下使用nginx作为静态资源服务器,
1、修改config目录下,这个配置文件,基本上所有的配置都在这里面做,

2、主要的配置参数如下,一些无关的参数我直接去掉了,注意,里面的location可以配置多个,这样可以根据业务的需要指定相关的路径方便后续的运维和管理,
server {
listen 80; #nginx监听的端口
server_name localhost; #拦截的用户访问路径
#charset koi8-r;
#access_log logs/host.access.log main;
# 访问本地绝对路径下的静态html
location / {
#root html;
root D:/tools/nginx/2/html1;
index index.html index.htm;
}
#访问路径拼接 upload 访问本地绝对路径下的某图片
location /upload/ {
alias D:/tools/nginx/2/image1/;
autoindex on;
}
#访问路径拼接 /pages 访问本地绝绝对路径下的静态html
location /pages/ {
alias D:/tools/nginx/2/html1/;
autoindex on;
}
# 精细化 配置相关静态资源参数,优化访问静态资源文件
location ~ .*\.(gif|jpg|jpeg|png)$ {
expires 24h;
root D:/tools/nginx/2/image1/;#指定图片存放路径
proxy_store on;
proxy_temp_path D:/tools/nginx/2/image1/;#图片访问路径
proxy_redirect off;
proxy_set_header Host 127.0.0.1;
client_max_body_size 10m;
client_body_buffer_size 1280k;
proxy_connect_timeout 900;
proxy_send_timeout 900;
proxy_read_timeout 900;
proxy_buffer_size 40k;
proxy_buffers 40 320k;
proxy_busy_buffers_size 640k;
proxy_temp_file_write_size 640k;
if ( !-e $request_filename)
{
proxy_pass http://127.0.0.1;#默认80端口
}
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
3、正常情况下,双击exe启动文件后,访问localhost:80,nginx默认回去找到nginx的html下面的index.html,

第一种配置,使用本地绝对路径,将静态的html放到你的这个目录下,我这里的路径是:D:/tools/nginx/2/html1;
所以配置如下:
# 访问本地绝对路径下的静态html
location / {
#root html;
root D:/tools/nginx/2/html1;
index index.html index.htm;
}
然后,在黑窗口:nginx -s reload 一下:可以看到访问的是自己目录下的页面,

4、当然,为了保证一定的安全性,也可以在访问的地址后拼接上一个字符串,比如我这里加了page,总体的配置如下,
#访问路径拼接 /pages 访问本地绝绝对路径下的静态html
location /pages/ {
alias D:/tools/nginx/2/html1/;
autoindex on;
}
再次访问,仍然可以访问到该目录下的html,

5、图片的访问,这里我使用了两种方式,第一种和配置访问静态html相似,使用绝对路径进行访问,
#访问路径拼接 upload 访问本地绝对路径下的某图片
location /upload/ {
alias D:/tools/nginx/2/image1/;
autoindex on;
}
浏览器访问一下,可以看到,能够成功访问到图片,

再看第二种方式,通常为了优化nginx的静态资源访问,我们需要做一下参数调优配置,例如对图片进行压缩,缓存,添加用户名和密码的安全校验等,都可以直接进行配置,如下,这个里面还可以继续添加其他的参数,大家可查阅相关资料进行学习研究,
# 精细化 配置相关静态资源参数,优化访问静态资源文件
location ~ .*\.(gif|jpg|jpeg|png)$ {
expires 24h;
root D:/tools/nginx/2/image1/;#指定图片存放路径
proxy_store on;
proxy_temp_path D:/tools/nginx/2/image1/;#图片访问路径
proxy_redirect off;
proxy_set_header Host 127.0.0.1;
client_max_body_size 10m;
client_body_buffer_size 1280k;
proxy_connect_timeout 900;
proxy_send_timeout 900;
proxy_read_timeout 900;
proxy_buffer_size 40k;
proxy_buffers 40 320k;
proxy_busy_buffers_size 640k;
proxy_temp_file_write_size 640k;
if ( !-e $request_filename)
{
proxy_pass http://127.0.0.1;#默认80端口
}
}
然后我们访问一下试试,可以看到,通过这个方式仍然可以成功访问到图片,因为我们在配置参数里面做了路径代理的配置,

总结:这里说一个应用场景,在一些大型的电商网站中,有一些商品详情页面上,需要的聚合多种不同维度的数据,比如像下面一张图,

大家试一下,初次进入某个商品详情页面,如果网速不是太好的话你会发现加载的速度是比较慢的,据说,为了解决这样的问题,后来许多架构师在这个问题上开始偏向于使用维度化数据聚合+缓存+页面静态化综合解决这个问题,其中静态化模板技术在这里得到了很好的应用,至于里面的详细内容大家可以找找资料学习一下,其主要的思想就是将包含了大量待渲染的数据根据相关的业务参数进行页面提前渲染成静态模板,通过nginx访问时可以大大提升访问的速度,当然,为了改善总体的页面渲染速度,页面静态化技术只是其中的一方面,背后的架构思想是很值得我们学习和探究的!
————————————————
版权声明:本文为CSDN博主「神秘的葱」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zhangcongyi420/article/details/89216867
nginx配置访问本地静态资源的更多相关文章
- linux服务器上如何使用nginx访问本地静态资源
查看80端口是否被占用,一般80端口多被apache服务占用. netstat -anp|grep 80 2.修改apache服务的端口号 vim /etc/apache2/ports.conf 3. ...
- nginx配置访问本地资源
参考博客:https://www.cnblogs.com/xy51/p/9973326.html 需要访问路径:http://IP:10013/p1upgrade/picfiles/image73b4 ...
- nginx配置多个静态资源
#user nobody; worker_processes ; worker_cpu_affinity ; #error_log logs/error.log; #error_log logs/er ...
- Nginx 配置访问本地目录
server { listen 8888; # 监听端口 server_name peer; # 服务名 charset utf-8; # 字符集,可处理中文乱码 location / { autoi ...
- 二.Nginx反向代理和静态资源服务配置
2018年03月31日 10:30:12 麦洛_ 阅读数:1362更多 所属专栏: nginx 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/M ...
- Charles学习(四)之使用Map local代理本地静态资源以及配置移动端代理在真机上调试iOS和Android客户端
前言 问题一:我们在App内嵌H5开发的过程中,肯定会遇到一个问题就是我不想在chrome的控制台中调试也不想在模拟器中调试,我想要在真机上调试,那么如何解决这个问题呢? 问题二:我们期待调试时达到的 ...
- Charles学习(三)之使用Map local代理本地静态资源以及配置网页代理在Mac模拟器调试iOS客户端
前言 问题一:我们在App内嵌H5开发的过程中,肯定会遇到一个问题就是我不想在chrome的控制台中调试,我想要在手机上调试,那么如何解决这个问题呢? 问题二:我们期待调试时达到的效果就是和Charl ...
- Charles学习(二)之使用Map local代理本地静态资源以及配置网页代理在Mac浏览器上调试移动端
前言 我们在开发的过程肯定是一边写代码,一边查看自己的代码写的是否存在问题,那么问题来了,有两种情况 情况一:我们可以本地起服务,那么我们就可以在本地检查自己的代码,查看运行结果 情况二:本地无法起服 ...
- node.js怎么配置访问本地的html文件?
node.js怎么配置访问本地的html文件? https://segmentfault.com/q/1010000000251204
随机推荐
- 自用java购物
@RequestMapping("listgoodscart") public ResultEntity listGoodsCart(@RequestParam(name = &q ...
- mysql 时区更改;5.7 弱口令
一.mysql 更改表名称: show databases; use 库名; show tables; rename table 旧表名 to 新表名: 示例: rename table old to ...
- Ubuntu下彻底卸载默认安装的mysql,自己手动下载安装MYSQL
彻底卸载: sudo apt-get autoremove --purge mysql-server-5.7 sudo apt-get remove mysql-common sudo rm -rf ...
- C二维字符数组的使用及如何获取二维数组的总行数和总列数!
#include <stdio.h> #include <stdlib.h> int main(){ char str[][30] = {"zhangsan" ...
- 微信小程序微信登录
开发接口 登录 wx.login wx.checkSession 签名加密 小程序登录 小程序可以通过微信官方提供的登录能力方便地获取微信提供的用户身份标识,快速建立小程序内的用户体系. 登录流程时序 ...
- Jmeter 5.1实现图片上传接口测试
背景: 项目过程中需要抓取接口进行图片上传的接口测试,所有上传功能大同小异,无非就是参数内容不同,此处记录一下,为其他上传做一些参考 1.通过fiddler抓取到的参数如下: Content-Disp ...
- Selenium向iframe富文本框输入内容
目录 前言 只输入纯文本 通过JS注入HTML代码 前言 在使用Selenium测试一些CMS后台系统时,有时会遇到一些富文本框,如下图所示: 整个富文本编辑器是通过iframe嵌入到网页中的,手动尝 ...
- Note_4.7
2019/4/7 奇奇怪怪的笔记 狄利克雷卷积 \(μ∗1=ϵ\),莫比乌斯反演 \(Id=φ∗1⇒φ=μ∗Id\) \(d=1∗1⇒1=μ∗d\) \(σ=Id∗1⇒Id=μ∗σ\) \(σ=φ∗ ...
- Samba文件共享服务设置
SMB的主程序 smbd:SMB-TCP139,CIFS-TCP445 nmbd:NetBios-UDP137,138 SMB主程序对应的两个服务 /etc/init.d/smb /etc/init. ...
- FLUENT不同求解器离散格式选择【转载】
转载自:http://blog.163.com/wu_yangfeng/blog/static/16189737920104158950438/ 离散格式对求解器性能的影响 控制方程的扩散项一般采用中 ...