美文网首页
[Nginx]使用Nginx搭建一个静态网页服务器

[Nginx]使用Nginx搭建一个静态网页服务器

作者: AbstractCulture | 来源:发表于2023-04-05 20:18 被阅读0次

    准备工作

    首先我们需要一个index页面,这里我简单一点,直接用baidu的首页进行演示.
    直接进入百度,在浏览器按下ctrl+s即可保存网页,然后放到对应的文件夹,我放置的位置是:

    D:/docker/nginx/html/index.html  
    

    配置nginx.conf文件

    events {
        worker_connections  1024;
    }
    
    http {
        include       mime.types;
        default_type  application/octet-stream;
    
    
        sendfile        on;
        keepalive_timeout  65;
    
        #gzip  on;
    
        server {
            listen       80;
            server_name  localhost;
            charset utf-8;
            #charset koi8-r;
    
            #access_log  logs/host.access.log  main;
    
            location / {
                alias   /usr/share/nginx/html/;
                index  index.html index.htm;
                charset utf-8;
            }
            
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   /usr/share/nginx/html;
            }
        }
    
    
    }
    

    alias和root的区别

    这里要注意aliasroot的区别,root会将uri作为资源访问路径到进行查找.
    举例说明:

    location /css/ {
        root   /usr/share/nginx/html/;
        index  index.html index.htm;
        charset utf-8;
    }
    

    uri/css/xxx.css时,服务器会返回/usr/share/nginx/html/css/xxx.css.
    如果配置换成alias:

    location /css/ {
        alias   /usr/share/nginx/html/;
        index  index.html index.htm;
        charset utf-8;
    }
    

    访问/css/xxx.css时,服务器返回: /usr/share/nginx/html/xxx.css

    使用alias时,目录名一定要加上/符号
    alias只能位于location中.

    使用gzip对资源进行静态压缩

    我们在web传输过程中,可以对静态资源进行压缩处理减少传输的字节数,来优化页面响应的速度.

    # 打开gzip
    gzip on;  
    # 当传输的字节小于gzip_min_length时,不再进行压缩  
    gzip_min_length 1;
    # 压缩级别
    gzip_comp_level 2;
    # 对某些类型的文件才进行压缩
    gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/git image/png;
    

    从响应头的Content-Encoding:gzip可以看到字节被进行压缩了.

    使用autoindex来展示文件树

    对你想要渲染的文件夹配置一下autoindex即可. 注意,需要以/结尾

    location / {
        alias /usr/share/nginx/
        autoindex on;
    }
    

    使用set指令限制静态资源的响应速度

    location / {
        alias /usr/share/nginx/
        autoindex on;
        # 限制每秒响应的速度
        set $limit_rate 100k;
    }
    

    使用log_format进行日志格式定义

    log_format main '$remote_addr - $remote_user [$time_local] "$request"'
                    '$status $body_bytes_send "$http_referer"'
                    '"$http_user_agent" "$http_x_forwarded_for"';
    access_log logs/access.log main;
    

    相关文章

      网友评论

          本文标题:[Nginx]使用Nginx搭建一个静态网页服务器

          本文链接:https://www.haomeiwen.com/subject/mikyddtx.html