[Day2] Nginx静态文件
上一节我们介绍了nginx的三个使用场景和一些配置语法参数,今天我们就用一章的内容来介绍一下Nginx作为静态资源服务器的配置和常见问题。
一. 简单的静态服务器
话不多说,直接上配置代码。
server{
listen 8080;
server_name localhost;
location / {
alias /home/user/nginx/html/static_html/;
index index_static.html;
}
}
二. 压缩静态文件
静态文件如html、css、js等有时候比较大,使用压缩可以很好的提升网络传输的性能。不过压缩需要占用服务器的cpu时间,是否启用压缩以及选择压缩率还是要视情况而定。
命令:
gzip on;
gzip_min_length 1024;
gzip_comp_level 2;
gzip_types test/plain application/x-javascript application/javascript text/css application/xml image/jpeg image/gif image/png;
注解:
可配置到server中局部生效。也可以配置在server外 http中文件内生效。
gzip: on 启动压缩 off 关闭压缩
gzip_min_length: 需要压缩的最小字节数,小于此配置的文件将不会被压缩
gzip_comp_level: 压缩级别,1-10,数字越大压缩的越好,也越占用CPU时间。一般设置为1- 2,过高的设置压缩效果提升的不明显。
gzip_types: 需要压缩的文件类型
三. 设置成目录文件
有时候一个nginx服务就是为了用来下载文件的,例如prce官网的下载页面。这个在nginx中配置一个命令即可。
命令:
auto_index on;
注:如果server首页就要显示目录文件,应该将 index 配置的首页设置为不存在的文件。Nginx的处理流程中index模块要先与auto_index模块,如果index模块生效,auto_index模块将不会执行。
四. 设置大文件时的限速
为了避免用户请求大文件时将带宽占满,而对其他用户访问小文件产生影响,我们可以在nginx上进行配置,对文件的下载速度进行限速。
命令:
set $limit_rate 300k;
注:$limit_rate是Nginx提供的参数变量,几乎所有Nginx模块都有变量,在官网文档中可以在相关模块的Embedded Variables中找到该模块提供的所有变量以及其用处。
300k是设置的每秒请求文件大小
五. 设置日志文件
Nginx日志文件access.log可以记录每一次访问请求的相关数据,根据这些数据我们了解网站的整个运行情况。Nginx会默认开启日志模块功能,并允许我们对日志格式、文件路径做自定义的配置。
命令:
1. 设置日志格式规则
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
注:main是格式规则名,后边是日志的格式
2. 设置启用main格式规则
access_log logs/host.access.log main;
注:logs/host.accesss.log 是日志文件路径,main则表示启用规则名为main的日志
六. GoAccess
GoAccess是一款可视化监控access日志的组件,用起来非常简单,它会将access文件的内容解析成各种维度的图表,在生产环境经常会使用到它。
[Day2] Nginx静态文件的更多相关文章
- Nginx 静态文件服务
Nginx 静态文件服务 我们先来看看最简单的本地静态文件服务配置示例: server { listen 80; server_name www.test.com; charset utf-8; ro ...
- nginx静态文件缓存的解决方案
nginx的一大功能就是完成静态资源的分离部署,减轻后端服务器的压力,如果给这些静态资源再加一级nginx的缓存,可以进一步提升访问效率. 第一步:添加nginx.conf的http级别的缓存配置 # ...
- 记一次vue2项目部署nginx静态文件404解决过程
github上下的一个vue2的项目,运行可以的,webpack打包后,nginx请求报错: 发现路径很奇怪啊,所以果断来到build.js文件中看看是不是哪里不对. 已经一番引用查找: 发现在这里配 ...
- nginx静态文件访问404
在http模块下加入下面的代码 server { listen 80; server_name 192.168.1.249; #本机ip #access_log logs/host.access.lo ...
- Nginx静态文件服务器配置方法
在Java开发以及生产环境中,最常用的web应用服务器当属Tomcat,尽管这只猫也能够处理一些静态请求,例如图片.html.样式文件等,但是效率并不是那么尽人意.在生产环境中,我们一般使用Nginx ...
- nginx静态文件不设置缓存
找到nginx安装目录下的nginx.conf文件,再nginx里面添加如下的内容 location / { add_header Cache-Control no-cache; add_header ...
- Nginx静态文件路径配置
root目录与alias目录的区别 Nginx路径location配置中,使用root目录与alias目录的区别 1)alias指定的目录是准确的,即location匹配访问的path目录下的文件直接 ...
- 用Lua控制Nginx静态文件的url访问权限
需求背景:比如我们有一个存储文件的web服务器,一般通过url可直接访问到:http://127.0.0.1/uploads/test.rar,如果我们需要限制别人的访问,可以通过添加lua脚本来控制 ...
- nginx静态文件缓存
open_file_cache max=65535 inactive=30s; open_file_cache 打开缓存的同时也指定了缓存最大数目,以及缓存的时间 open_file_cache_va ...
随机推荐
- PAT甲级——A1104 Sum of Number Segments【20】
Consider a positive integer N written in standard notation with k+1 digits ai as ak⋯a1a0 ...
- IIR滤波器数字频带转换
<DSP using MATLAB>(Ingle & John Proakis)3ed,书中表8.2似乎不对. <Discrete Time signal processin ...
- USACO 2013 January Silver Painting the Fence /// oj23695
题目大意: 输入n,k :n次操作 找到覆盖次数在k及以上的段的总长 一开始位置在0 左右活动范围为1-1000000000 接下来n行描述每次操作的步数和方向 Sample Input 6 22 R ...
- 在VMare Workstation 10中安装Ubuntu
(1) 下面就是成功配置了VM的环境 (2)在弹出的settings里,点击"CD/DVD(IDE)",然后在右侧点击"Use ISO image file", ...
- Newtonsoft.Json高级篇:TypeNameHandling设置
原文:Newtonsoft.Json高级篇:TypeNameHandling设置 此示例使用TypeNameHandling 设置在序列化JSON和读取类型信息时包含类型信息,以便在反序列化JSON时 ...
- C++单纯的指针传参的问题
C++指针传参也是单纯的复制一份地址,如下代码: #define _CRT_SECURE_NO_WARNINGS #include<iostream> using namespace st ...
- centos 7 开机优化shell
vim start_init.sh #!/bin/bash#####dns echo "nameserver 114.114.114.114" >/etc/resolv.c ...
- 【JZOJ3423】Vani和Cl2捉迷藏&【BZOJ1143】祭祀river
description vani和cl2在一片树林里捉迷藏-- 这片树林里有N座房子,M条有向道路,组成了一张有向无环图. 树林里的树非常茂密,足以遮挡视线,但是沿着道路望去,却是视野开阔.如果从房子 ...
- 廖雪峰Java11多线程编程-3高级concurrent包-9Fork_Join
线程池可以高效执行大量小任务: Fork/Join线程池可以执行一种特殊的任务: 把一个大任务拆成多个小任务并行执行 Fork/Join是在JDK 1.7引入的 示例:计算一个大数组的和 Fork/J ...
- Django简介以及安装
目录 前言 Web框架本质 服务器和应用程序 基于第三方模块实现Web框架 Python三大主流Web框架 django flask tornado Django框架介绍 安装 创建项目 创建App ...