搭建nginx静态资源站
搭建静态资源站包括以下几部分:
- root指令与alias指令的区别
- 使用gzip压缩资源
- 如何访问指定目录下的全部资源文件
- 如何限制访问流量
- 如何自定义log日志
root指令与alias指令的区别
我们的网站静态资源放到 /home/wwwroot/demo 目录下
root@2a33e33fa785:/home/wwwroot/demo# ls
about.html about1.html css fonts gallery.html images index.html js typography.html
nginx.conf 文件
worker_processes ;
events {
worker_connections ;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout ;
server {
listen ;
server_name localhost;
location /demo/ {
root /home/wwwroot;
#alias /home/wwwroot/demo/;
}
}
}
上面的配置文件中 root和alias 指令配置完之后实现的效果是一样的,其实用的区别在于:
- 使用root指令时,访问 http://ip:端口号/demo/index.html 时,nginx回去root 指定的目录下按照url地址来寻找index.html文件
- 使用 alias 指令就相当于为 /demo/ 起了个别名 /demo/ 与 alias 指定的目录是等同的所以当同样访问 http://ip:端口号/demo/index.html 时,nginx 获取 alias 指定的目录下寻找 index.html 文件
使用gzip压缩
#开启gzip
gzip on;
#低于1kb的资源不压缩
gzip_min_length 1k;
#压缩级别【-】,越大压缩率越高,同时消耗cpu资源也越多,建议设置在4左右。
gzip_comp_level ;
#需要压缩哪些响应类型的资源,多个空格隔开。不建议压缩图片,下面会讲为什么。
gzip_types text/plain application/javascript application/x-javascript text/javascript text/xml text/css;
使用前 index.html 的请求大小

开启gzip之后

访问指定目录下的全部资源文件
在 server 或者 http 或者 location 指令中 加入 autoindex on; 指令
限制访问流量
添加 set $limit_rate 1k 限制请求每秒只能传输1kB数据,这时我们访问页面会明显感觉到很慢
设置log日志
设置日志格式 log_format 模板名称 日志中包含的内容 注意:模板中所保存的内容可以是nginx模块及第三方模块提供的任意参数内容,例如 这里 提供的变量都可以存储起来
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
设置日志的存储路径以及使用哪个定义好的模板保存日志内容 access_log 日志路径 模板名称;
access_log logs/host.access.log main;
最后是完整的配置文件
worker_processes ;
events {
worker_connections ;
}
http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
sendfile on;
keepalive_timeout ;
gzip on;
gzip_min_length 1k;
gzip_comp_level ;
gzip_types text/plain application/javascript application/x-javascript text/javascript text/xml text/css;
server {
listen ;
server_name localhost;
access_log logs/host.access.log main;
location / {
root /home/wwwroot/demo/;
autoindex on;
set $limit_rate 1k;
}
}
}
搭建nginx静态资源站的更多相关文章
- 用node.js搭建一个静态资源站 html,js,css正确加载 跳转也完美实现!
昨天买了一个服务器想着用来测试一些自己的项目,由于是第一次建站,在tomcat,linux,node.js间想了好久.最终因为node搭建比较方便没那么麻烦就决定用node.js来搭建网站项目. 搭建 ...
- Nginx——静态资源服务器(一)
java web的项目中,我们经常将项目部署到Tomcat或者jetty上,可以通过Tomcat或者jetty启动的服务来访问静态资源.但是随着Nginx的普及,用Nginx来作为静态资源服务器,似乎 ...
- 清除nginx静态资源缓存
之前写过一篇如何配置nginx缓存及手动清除缓存的文章: http://www.cnblogs.com/Eivll0m/p/4921829.html 但如果有大量缓存需要清理,手动一条条清理就比较慢了 ...
- Nginx 静态资源缓存配置
示例 # Media: images, icons, video, audio, HTC location ~* \.(?:jpg|jpeg|gif|png|ico|cur|gz|svg|svgz|m ...
- nginx静态资源设置缓存的方法
nginx静态资源设置缓存的方法 直接加expires 30d; 就是就可以了 缓存时间30天完整如下 <pre> location / { root /home/www/wordpres ...
- 06 . Nginx静态资源缓存
Nginx静态资源 Nginx可以处理静态资源 非Web服务器可以运行处理而生成的文件,即服务器只需要从硬盘或者缓存中读取然后直接给客户端响应即可. 常见的静态资源 # 浏览器渲染: html文件,样 ...
- 008.Nginx静态资源
一 Nginx静态资源概述 1.1 静态资源类型 Nginx作为静态资源Web服务器部署配置, 传输非常高效, 常常用于静态资源处理,请求以及动静分离.通常非服务器动态运行生成的文件属于静态资源. 类 ...
- nginx系列3:搭建一个静态资源web服务器
搭建静态资源web服务器 1,创建静态页面 在nginx的安装目录(/usr/local/nginx)下创建文件夹webapplications/helloworld,然后创建一个名为index.ht ...
- 基于CentOS搭建Nginx 静态网站
系统要求: CentOS 7.2 64 位操作系统 一. 安装 Nginx(在 CentOS 上,可直接使用 yum 来安装 Nginx) yum install nginx -y 安装完成后,使用 ...
随机推荐
- NTC热敏电阻温度计算方法,Steinhart-Hart方程和B值法(转)
NTC热敏电阻计算器使用方法 NTC热敏电阻计算器 V1.0 10K负温度系数热敏电阻(NTC)温度与阻值对应关系表 Rt = R(25℃)*EXP[B*(1/T - 1/(T+25))] 说明: 1 ...
- Spring Boot属性配置&自定义属性配置
一.修改默认配置 例1.spring boot 开发web应用的时候,默认tomcat的启动端口为8080,如果需要修改默认的端口,则需要在application.properties 添加以下记录: ...
- ubuntu 12.04 nfs-server/client安装配置
由于opennebula的共享存储的方式需要nfs,为了opennebula 3.8在ubuntu 12.04上搭建做铺垫,先介绍下nfs server和client端的安装和配置. 1. nfs ...
- Ubunut16.04 安装 g++ gcc 降级
1. 查看gcc版本和g++版本 cd /usr/bin ls -l gcc* ls -l g++* 2. 安装gcc和g++ 4.4版本 sudo apt-get install gcc-4.4 g ...
- Node.js使用MySQL连接池示例
下面是一个封装好的工具类: var fs = require('fs'); var mysql = require('mysql'); var pool = mysql.createPool({ ho ...
- Spring Boot中一个Servlet主动断开连接的方法
主动断开连接,从而返回结果给客户端,并且能够继续执行剩余代码. 对于一个HttpServletResponse类型的对象response来说,执行如下代码: response.getWriter(). ...
- 斑马打印机和欧姆龙CP1H串口通信打印
欧姆龙CP1HPLC和斑马打印机通信 1. PLC 1.1PLC型号 CP1H 1.2通信方式 232通信,使用232扩展卡槽CP1W-CIF01. CP1W-CIF01是RS232选件板,通信距离最 ...
- 【转载】利用Amazon ECR和ECS部署容器应用
众所周知现在容器的技术越来越火,很多企业已经将整个业务架构容器化,利用容器的灵活性.可移植性.轻量等优势为企业开发和运维带来很大的优势,目前整个容器编排服务中最吃香的当然是Kubernetes (简称 ...
- 解决jdk卸载出错2502、2503
之前装的jdk1.6,后来软件要求用1.8,就卸载了1.6,卸载的时候出现了这个问题.后来又有其他软件用1.8出错,就又要装1.6,脑壳疼.网上建议先卸载1.8再装低版本,结果卸载1.8,又出现错误2 ...
- async/await小知识点
一.使用async修饰的函数,返回的内容就是一个Promise,因此可以使用Promise对象所有的方法,如then等 二.在async函数中使用await是否会影响其他代码的执行,答案是:不会.