搭建nginx静态资源站

搭建静态资源站包括以下几部分:

  1. root指令与alias指令的区别
  2. 使用gzip压缩资源
  3. 如何访问指定目录下的全部资源文件
  4. 如何限制访问流量
  5. 如何自定义log日志

root指令与alias指令的区别

我们的网站静态资源放到  /home/wwwroot/demo 目录下

[email protected]:/home/wwwroot/demo# ls
about.html  about1.html  css  fonts  gallery.html  images  index.html  js  typography.html

nginx.conf 文件

worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

    server {
        listen       80;
        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;
#压缩级别【1-9】,越大压缩率越高,同时消耗cpu资源也越多,建议设置在4左右。
gzip_comp_level 3;
#需要压缩哪些响应类型的资源,多个空格隔开。不建议压缩图片,下面会讲为什么。
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  1;

events {
    worker_connections  1024;
}

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  65;

    gzip  on;
    gzip_min_length 1k;
    gzip_comp_level 3;
    gzip_types text/plain application/javascript application/x-javascript text/javascript text/xml text/css;

    server {
        listen       80;
        server_name  localhost;

        access_log  logs/host.access.log  main;

        location / {
            root   /home/wwwroot/demo/;
            autoindex on;
            set $limit_rate 1k;
        }

    }

}

原文地址:https://www.cnblogs.com/itsuibi/p/11229287.html

时间: 2024-10-07 09:27:39

搭建nginx静态资源站的相关文章

Nginx——静态资源服务器(一)

java web的项目中,我们经常将项目部署到Tomcat或者jetty上,可以通过Tomcat或者jetty启动的服务来访问静态资源.但是随着Nginx的普及,用Nginx来作为静态资源服务器,似乎有着更高的性能.接下来的Nginx--静态资源服务器系列随笔,我想探讨以下几个问题: Nginx作为静态资源服务器,有什么优势? Nginx如何和tomcat结合起来使用? Nginx如何搭建CDN? 等等 静态资源是指非服务器运行动态生成的文件,主要包括浏览器端渲染(html.css.js).图片

清除nginx静态资源缓存

之前写过一篇如何配置nginx缓存及手动清除缓存的文章: http://www.cnblogs.com/Eivll0m/p/4921829.html 但如果有大量缓存需要清理,手动一条条清理就比较慢了,所以写了个小脚本进行清理,脚本如下: #!/usr/bin/env python # -*- coding: UTF-8 -*- # data:2015-12-08 # author:eivll0m # 脚本用途:清除nginx静态资源缓存 # 使用方法:将要清楚缓存的url粘贴到/app/adm

5. Nginx静态资源处理

基本配置 #开启sendfile sendfile on; #sendfile开启的情况下,针对多个tcp请求,进行延时打包处理,可以有效提高网络包的传输效率 tcp_nopush on; #keepalive连接下,对tcp请求立即响应,与tcp_nopush恰好相反,可以提高网络包的传输实时性 tcp_nodelay off; #对响应的内容,进行压缩 gzip on; #设置压缩等级,范围1-9,数值越大,文件越小.压缩等级太高的话,对服务器和浏览器的性能都有很大影响 gzip_comp_

腾讯云,搭建nginx静态网站服务器

搭建Http静态服务器环境 任务时间:15min ~ 30min 搭建静态网站,首先需要部署环境.下面的步骤,将告诉大家如何在服务器上通过 Nginx 部署 HTTP 静态服务. 安装 Nginx 在 CentOS 上,可直接使用 yum 来安装 Nginx yum install nginx -y 安装完成后,使用 nginx 命令启动 Nginx: nginx 此时,访问 http://<您的域名> 可以看到 Nginx 的测试页面 [?] 如果无法访问,请重试用 nginx -s rel

nginx静态资源文件无法访问,403 forbidden错误

版权声明:本文为博主原创文章,未经博主允许不得转载. 今天在搭建nginx环境时出现一个奇怪问题,配置的静态资源目录下面文件无法访问,浏览器访问出现403 forbidden,环境是centos7 + nginx 1.6.nginx.conf中http配置如下: [plain] view plain copy -- http { include       mime.types; default_type  application/octet-stream; sendfile        on

nginx静态资源服务器简单配置

有时候我们可以把服务器的一些文件放在固定目录以便下载,比如image,css,js等.就可以使用nginx转发静态资源. 参考链接:https://blog.csdn.net/name_is_wl/article/details/52958472 原文地址:https://www.cnblogs.com/2YSP/p/9262539.html

Nginx详解十:Nginx场景实践篇之Nginx静态资源场景配置

一.静态资源WEB服务 1.静态资源类型:非服务器动态运行生成的文件 2.静态资源服务场景-CDN 假设静态资源存储中心在云南,用户在北京去请求一个文件,那么就会造成一个传输的延时,而如果Nginx同一把静态资源提前分发给各地区的代理,而各地区的用户直接访问本地区代理的静态资源,延时就会非常小,可以忽略不计 这里为了方便区分,把之前的auth_mod.conf 配置名改为static_server.conf 3.配置语法 : - 文件读取(除了sendfile方式外,Nginx还有--with-

nginx 静态资源WEB服务

1.静态资源类型 非服务器动态运行生成的文件 类型种类 浏览器端渲染     HTML.CSS.JS 图片            JPEG.GIF.PNG 视频            FLV.MPEG 文件            TXT.等任意下载文件 2.静态资源服务场景-CDN 配置语法 1.文件读取 Syntax:sendfile on l off: Default:sendfile off: Context:http,server,location,if in location 引读:一

spring mvc官网下最新jar搭建框架-静态资源访问处理-注解-自动扫描

1.从官网下载spring相关jar http://spring.io/projects 点击SPRING FRAMEWORK 2.从GitHtb下载 3.向下滚动找到Downloading Artifacts 点击 4.点击Artifacts-->libs-release-local-->org-->springframewor-->spring 5.选中一个自己需要的版本(我选了4.2.5) 6.下载后的文件 配置文件的规范约束下面文件夹有的都可以写(我用到了beans, co