定制网站四、nginx静态文件的配置

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

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配置上述路径改如何配置呢?改为下述配置即可:

  1. # eg:1
  2. location /html {
  3. alias /usr/local/nginx/html;
  4. index index.html index.htm;
  5. }
  6. # eg:2
  7. location /html/ {
  8. alias /usr/local/nginx/html/;
  9. index index.html index.htm;
  10. }

       

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

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

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

2.1 使用root配置vue项目地址

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

2.2 使用alias配置vue项目地址

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

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

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

下图为正常访问的情况:

三、 nginx静态文件优化配置

  1. http{
  2. #提高文件的传输效率
  3. sendfile on;
  4. #
  5. tcp_nopush on;
  6. #
  7. tcp_nodelay on;
  8. }

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填满,当文件

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发