首页IT科技nginx部署静态文件(四、nginx静态文件的配置)

nginx部署静态文件(四、nginx静态文件的配置)

时间2025-05-02 21:10:18分类IT科技浏览3586
导读:1. 根据上节内容的提示,我们知道如何进行nginx的信号控制和命令行控制了。...

1. 根据上节内容的提示            ,我们知道如何进行nginx的信号控制和命令行控制了            。

2. 这节主要是学习nginx的静态文件            、缓存                  、静态文件压缩等相关内容                  。

一      、 配置并访问nginx静态文件

1.1 root配置nginx静态文件地址

在nginx.conf 配置文件中默认使用root配置了nginx静态界面地址

规则: root配置的路径+location路径为访问的路径      。

路径规则:

         ①相对路径: 上图所示的为相对路径                  ,即nginx的prefix路径(/usr/local/nginx)+html路径      ,也就是nginx启动时的相对路径      。

        ②绝对路径: 如果配置和上图中一样的路径            ,则需要改为: root /usr/local/nginx/html                  。

注: window系统配置则需要加上双引号 eg: "F:/html/html";

1.2 alias配置静态文件地址

        若使用alias配置上述路径改如何配置呢?改为下述配置即可:

# eg:1 location /html { alias /usr/local/nginx/html; index index.html index.htm; } # eg:2 location /html/ { alias /usr/local/nginx/html/; index index.html index.htm; }

上文中我用了两个例子                  ,首先alias配置和root区别之一便是  location匹配的路径需要和实际路径后面那节一样            。  (root是 root路径+location路径)

        第二个区别就是      ,root会忽视路径最后面的 /    但是alias必须两个同时存在或同时不存在即可

二      、 配置并访问vue项目文件

2.1 使用root配置vue项目地址

# 1. 一般使用根路径配置前端 location / { root /data/webroot/html/xxx/dist; index index.html index.htm; }

2.2 使用alias配置vue项目地址

# 1. 一般使用根路径配置前端 location /dist { alias /data/webroot/html/xxx/dist; index index.html index.htm; }

那么我们进行访问的时候会发现报错如下图所示:

此时主要是因为配置vue项目的地址是使用的相对路径      ,也就是路径没有/dist导致的                  ,故需要在dist目录下的index.html统一添加前缀即可:

下图为正常访问的情况:

三                  、 nginx静态文件优化配置

http{ #提高文件的传输效率 sendfile on; # tcp_nopush on; # tcp_nodelay on; }

3.1 sendfile            ,用来开启高效的文件传输模式

值        释义 on         开启 eg:  sendfile: on; off                     关闭 (默认值)      。eg: sendfile: off;

注:① sendfile默认是关闭的                  。

       ② 在默认情况下      ,静态文件请求会进行linux内存将文件从磁盘拷贝到缓冲区            、然后再将缓冲区的文件通过进程应用拷贝到sokect缓冲区进行返回            。

        ③ 开启时                  ,则会直接由linux内核拷贝到sokect缓冲区提供            ,大大节约了io的次数。

        ④ 在http server location均可以进行开启                  。

3.2 tcp_nopush:提升网络包的传输效率(sendfile 开启)

值        释义 on         开启 eg:  tcp_nopush: on; off                     关闭 (默认值)                  。eg: tcp_nopush: off;

注: 这个开启,则保证了文件不会零散的发送出去(减少了io次数)                  ,一次性发送对于整个网络有很大的优化提升。

3.3 tcp_nodelay:提高网络包传输的实时性(keep-alive连接开启)

值        释义 on         开启 eg:  tcp_nodelay: on; off                     关闭 (默认值)            。eg: tcp_nodelay: off;

注:① 这个开启                  ,会保证数据包(静态文件会分成很多数据包)存在的时候直接进行发送                  。

        ② 看上去这个和3.2 tcp_nopush 是互斥的,但是在linux内核2.5.9之后处理逻辑是先保证3.2 tcp_nopush填满            ,当文件

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
js监听mq(JS中的事件监听) uniapp 商城 开源(使用uni-app开发App简易教程)