使用Nginx搭建静态资源WEB服务器

使用Nginx搭建静态资源WEB服务器

一、下载一个静态WEB资源示例

从这个网站中可以下载dclib的静态资源示例:

https://sourceforge.net/projects/dclib/

二、将静态资源放到nginx目录下

/dev/servers/nginx/dlib

$tree dlib | more
dlib
├── CMakeLists.txt.html
├── algs.h.html
├── all
│   └── source.cpp.html
├── any
│   ├── any.h.html
│   ├── any_abstract.h.html
│   ├── any_decision_function.h.html
│   ├── any_decision_function_abstract.h.html
│   ├── any_function.h.html
│   ├── any_function_abstract.h.html
│   ├── any_function_impl.h.html
│   ├── any_function_impl2.h.html
│   ├── any_trainer.h.html
│   └── any_trainer_abstract.h.html
├── any.h.html
├── appveyor
......

三、配置Nginx

  • 配置需要监听的端口

  • 配置一个location

    配置的时候一定要注意语法问题,使用“;”结尾

    可以使用./sbin/nginx -t 检查语法是否有问题

        server {
            listen       8088;
            server_name  localhost;
    
            #charset koi8-r;
    
            #access_log  logs/host.access.log  main;
    
            location / {
                alias  dlib/;
                #root   html;
                #index  index.html index.htm;
            }
    

    所有的访问请求都访问dlib下面的文件,location后面的/表示所有的请求。

    需要指定url的后缀与文件名的后缀一一对应,这个时候有两种用法:

    (1)使用root

    使用root有一个问题,它会将Url的路径带到目录中来。所以一般使用alias

    (2)使用alias

    这里的含义是,location后面的路径与 dlib目录的路径一一对应。

    四、启动nginx

    cd /dev/servers/nginx/sbin
    ./nginx
    

    五、访问

    http://localhost:8088/

    六、其他功能

    6.1 GZIP压缩

    这时候通过查看抓包的大小,发现所抓包的大小和文件大小一致。

    所有的文本可以做GZIP压缩的,压缩之后的大小会大幅度减少。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hrvuED1F-1589408854050)(photos/01gzip压缩之前.png)]

    打开gzip压缩:

        # 开启gzip压缩
        gzip  on;
        # 小于 1字节 的不压缩
        gzip_min_length 1;
        # gzip 压缩的级别
        gzip_comp_level 2;
        # 对哪些文件进行压缩
        gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
    
        server {
            listen       8088;
            server_name  localhost;
    ......
    

    重启nginx:

    ./sbin/nginx -s reload

    再次访问:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wQRIWJrq-1589408854051)(photos/02gzip压缩之后.png)]

6.2 使用 autoindex 来共享资源文件

这个访问“/”结尾的URL,可以在页面上展示目录结构:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8nrKWN1H-1589408854053)(photos/03autoindex示例.png)]

6.3 使用$limit_rate限制访问速度

http://nginx.org/en/docs/http/ngx_http_core_module.html#limit_rate


        location / {
            alias  dlib/;
            autoindex on;
            set $limit_rate 1k;
            #root   html;
            #index  index.html index.htm;
        }

再次访问首页,发现访问速度非常慢

6.4 记录access日志

  • 定义日志格式

  • 对日志格式进行命名

    上面的main就是对日志格式的命名

  • 设置日志记录在在哪

    http {
    ......
        # 日志的一种格式
        log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                          '$status $body_bytes_sent "$http_referer" '
                          '"$http_user_agent" "$http_x_forwarded_for"';
    
        # 日志记录的位置,采用名称为“main” 的日志格式
        access_log  logs/access.log  main;
    ......
    
原创文章 161 获赞 19 访问量 6万+

猜你喜欢

转载自blog.csdn.net/hefrankeleyn/article/details/106111421