三、Nginx配置文件

news2025/1/20 10:57:28

目录

一、Nginx的文件内容

二、去除注释之后的文件

三、配置文件详解

1、全局块

(1)user 指令:

(2)worker_processes:

(3)daemon

(4)pid

(5)error_log

(6)include

2、events 块

(1)accept_mutex

(2)multi_accept

(3)worker_connections

(4)use

3、http 块(部分详解)

 (1)默认有两行配置

(2)自定义服务日志

(3)sendfile

(4)tcp_nopush

(5)keepalive_timeout

(6)keep alive_requests

(7)tcp_nodelay

(8)gzip 模块设置

(9)FastCGI相关参数

(10)upstream 负载均衡模块和 server 虚拟主机模块 会单独拿出一篇文章解释,再次不做详解

(11)浏览器缓存的执行流程

(12)add_header


一、Nginx的文件内容

        在Nginx的配置文件中可以使用 # 来注释。

[root@localhost conf]# vim nginx.conf
#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


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"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       80;
        server_name  localhost;

        #charset utf-8;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html index.htm;
        }
        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }
    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    #    listen       8000;
    #    listen       somename:8080;
    #    server_name  somename  alias  another.alias;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}


    # HTTPS server
    #
    #server {
    #    listen       443 ssl;
    #    server_name  localhost;

    #    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.key;

    #    ssl_session_cache    shared:SSL:1m;
    #    ssl_session_timeout  5m;

    #    ssl_ciphers  HIGH:!aNULL:!MD5;
    #    ssl_prefer_server_ciphers  on;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}

}

二、去除注释之后的文件

[root@localhost conf]# vim nginx.conf

#工作节点进程数
worker_processes  1;

#evens块,主要设置Nginx服务器与用户的网络连接。


events {
    worker_connections  1024;
}


#http 块,是Nginx服务器配置中的重要部分,代理、缓存、日志记录、第三方模块 等等 
http {
    include       mime.types;
    default_type  application/octet-stream;    


    sendfile        on;



    keepalive_timeout  65;
    

    # server 块,是Nginx配置和虚拟主机相关的内容,一个server就是一个虚拟机
    server {
        listen       80;
        server_name  localhost;
        
        # location块,是Nginx服务器接受请求字符串与location后面的值进行匹配,对特定请求进行处理。    

        location / {
            root   html;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }


    } 

}
  1. nginx.conf配置文件中默认有三大块:全局块、events块、http块。
  2. http块中可以配置多个server块,每个server块又可以配置多个location块。

三、配置文件详解

【】里的内容表示可选

1、全局块

(1)user 指令:

用于配置运行Nginx服务器的worker进程的用户和用户组。

语法

user 用户名【group:用户所在的组,若不指定和用户名一样】

默认值

nbody

位置

全局块

(2)worker_processes:

        用于配置Nginx生成工作进程的数量,默认是1,这个是Nginx服务器实现并发处理服务的关键。

        理论上来说这个参数值越大,可以支持的并发处理量越多,但事实上这个值受到服务器自身的限制,建议该值和服务器的CPU的内核保持一致。

        如果将这个参数改成2,就可以看到有两个工作进程

(3)daemon

        用于设定Nginx是否以守护进程的方式启动。

语法

daemon on|off

默认值

on

(4)pid

        用于配置Nginx当前master进程的进程ID存储路径

语法

pid file

默认值

/usr/local/nginx/logs/nginx.pid

(5)error_log

        用来配置Nginx错误日志的存放路径

语法

error_log file [日志级别]

默认值

error_log logs/error.log error

位置

全局块、http、server、location

        其中日志级别的值有:debug | info | notice | warn | error | crit | alert | emerg,

        调试 | 信息| 通知 | 警告 | 错误 | 临界 | 警报 | 紧急,这块建议大家设置的时候不要设置成info以下的等级,因为会带来大量的磁盘I/O消耗,影响Nginx的性能。

(6)include

用来引入其他配置文件,使Nginx更加灵活。

语法

include file

默认值

例如:创建一个/usr/local/nginx/conf/a.conf

在nginx.conf 中引入

include a.conf

2、events 块

(1)accept_mutex

用来设置Nginx网络连接序列化

语法

accept_mutex on|off

默认值

on

        这个配置主要是可以用来解决“惊群”的问题。比如,客户端发来一个请求,Nginx后台是多进程工作模式,同时多个worker进程会被唤醒,但是只有一个进程可以获取到连接,因此唤醒太多,会造成Nginx性能的影响。如果设置成 on 就会对Nginx进程接受连接进行序列号,一个一个唤醒。防止了相互争抢。

(2)multi_accept

用来设置是否同时接受多个网络连接

语法

multi_accept on|off

默认值

off

        如果该值为off, Nginx 只会接受一个连接,然后处理它,再接受下一个连接。当设置为 on 时,Nginx 会尝试接受尽可能多的连接,直到达到 worker_connections 的限制。建议设置为on

(3)worker_connections

        用来配置单个worker进程可以同时打开的最大连接数。

语法

worker_connections number

默认是

1024

        这里的连接数不仅仅包括前端用户建立的连接,而是所有可能的连接数。另外,number 数不能大于系统支持打开的最大文件数。

(4)use

        用来设置Nginx服务器选择哪种事件驱动来处理网络消息

语法

use method

默认值

根据操作系统定

        method的可选值有select / poll / epoll / kqueue等,建议设置为epoll

3、http 块(部分详解)

        用于定义 HTTP 服务器相关的配置指令的容器

        Nginx 服务器配置中最频繁的部分,代理、缓存和日志定义等绝大多数功能和第三方模块的配置都在这里。http 块也可以包括 http全局块、server 块。

        http全局块:http全局块配置的指令包括文件引入、MIME-TYPE 定义、日志自定义、连接超时时间、单链接请求数上限等。

        server 块:这块和虚拟主机有密切关系,每个 http 块可以包括多个 server 块,而每个 server 块就相当于一个虚拟主机。 而每个 server 块也分为全局 server 块,以及可以同时包含多个 locaton 块。

 (1)默认有两行配置

        default_type:用来配置Nginx响应前端请求默认的MIME类型。如果mime.types 文件中找不到对应类型,则以此二进制流进行下载。

        include mime.types:MIMT类型与相关类型文件的文件后缀名的对应关系加入到当前的配置文件中。

(2)自定义服务日志

        Nginx中日志的类型分为 access.log、error.log。

        access.log:用来记录用户所有的访问请求。

        Nginx服务器支持对服务日志的格式、大小、输出等进行设置,需要使用到两个指令,分别是

        access_log和log_format指令。

        access_log:用来设置用户访问日志的相关属性。

语法

access_log path[format[buffer=size]]

默认值

access_log logs/access.log combined;

位置

http,server,location

log_format:用来指定日志的输出格式。

语法

log_format name [escape=default|json|none] string…;

默认值

log_format combined “…”;

位置

http

#日志相关定义
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
        #定义日志的格式。后面定义要输出的内容。
        #1.$remote_addr 与$http_x_forwarded_for 用以记录客户端的ip地址;
        #2.$remote_user :用来记录客户端用户名称;
        #3.$time_local :用来记录访问时间与时区;
        #4.$request  :用来记录请求的url与http协议;
        #5.$status :用来记录请求状态; 
        #6.$body_bytes_sent :记录发送给客户端文件主体内容大小;
        #7.$http_referer :用来记录从那个页面链接访问过来的;
        #8.$http_user_agent :记录客户端浏览器的相关信息
    #连接日志的路径,指定的日志格式放在最后。
    access_log  logs/access.log  main;

    #关闭日志
    #access_log  off;

(3)sendfile

        用来设置Nginx服务器是否使用 sendfile()传输文件,该属性大大提高Nginx处理静态资源的性能。建议开启

语法

sendfile on|off;

默认值

sendfile off;

位置

http、server、location

 #开启高效文件传输模式。 #sendfile指令指定nginx是否调用sendfile函数来输出文件,对于普通应用设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络I/O处理速度,降低系统的负载。注意:如果图片显示不正常把这个改成off。
    #sendfile()在磁盘和TCP端口(或者任意两个文件描述符)之间复制数据。
    #sendfile()直接从磁盘上读取数据到操作系统缓冲,因此会更有效率。
    sendfile on;

(4)tcp_nopush

该指令必须在sendfile打开的状态下才会生效,主要是用来提升网络包的传输’效率’

(5)keepalive_timeout

用来设置长连接的超时时间,单位是秒

        为什么要使用keepalive?

        :HTTP是一种无状态协议,客户端向服务端发送一个TCP请求,服务端响应完毕后断开连接。如果客户端向服务端发送多个请求,每个请求都需要重新创建一次连接,效率相对来说比较低,使用keepalive模式,可以告诉服务器端在处理完一个请求后保持这个TCP连接的打开状态,若接收到来自这个客户端的其他请求,服务端就会利用这个未被关闭的连接,而不需要重新创建一个新连接,提升效率,但是这个连接也不能一直保持,这样的话,连接如果过多,也会是服务端的性能下降,这个时候就需要我们进行设置其的超时时间。

语法

keepalive_timeout time;

默认值

keepalive_timeout 65s;

位置

http、server、location

(6)keep alive_requests

用来设置一个keep-alive 连接使用的次数

语法

keepalive_requests number;

默认值

keepalive_requests 100;

位置

http、server、location

(7)tcp_nodelay

该指令必须在keep-alive连接开启的情况下才生效,来提高网络包传输的’实时性’

(8)gzip 模块设置

用于设置开启或者关闭gzip模块,“gzip on”表示开启GZIP压缩,实时压缩输出数据流;

常用模块:ngx_http_gzip_module模块、ngx_http_gzip_static_module模块、ngx_http_gunzip_module模块

   # 以下指令均来自ngx_http_gzip_module模块
   
    #开启gzip压缩输出,默认值:off
    gzip on; 
    
    #该指令用于设置使用Gzip进行压缩发送是否携带“Vary:Accept-Encoding”头域的响应头部。主要是告诉接收方,所发送的数据经过了Gzip压缩处理
    gzip_vary on;
    
    #不启用压缩的条件,IE6对Gzip不友好,所以不压缩
    gzip_disable "msie6"

    # 该指令在nginx使用反向代理的时候起作用,是否压缩取决于请求头中的“Via”字段,指令中可以同时指定多个不同的参数。根据请求和响应来决定启用或禁用对代理请求的响应的压缩
  # (1)off:禁用对所有代理请求的压缩
  # (2)expired:当响应头中包含过期时间时,启用压缩
  # (3)no-cache:当响应头的Cache-Control字段为no-cache时,启用压缩
  # (4)no-store:当响应头的Cache-Control字段为no-store时,启用压缩
  # (5)private:当响应头的Cache-Control字段为no-store时,启用压缩
  # (6)no_last_modified:当响应头不包含响应最后修改时间字段时,启用压缩。
  # (7)no_etag:当想用头中不包含被请求变量的实体值时,启用压缩
  # (8)auth:当响应头包含用于授权http证书的Authorization字段时,启用压缩
  # (9)any:所有代理请求开启压缩。
    gzip_proxied any; 
    
    #该指令针对传输数据的大小,可以选择性地开启和关闭Gzip功能
    gzip_min_length 1k; 
    
    #用于处理请求压缩的缓冲区数量和大小
    #语法 gzip_buffers number size;
    #默认值:gzip_buffers 32 4k|16 8k;
    #其中number:指定Nginx服务器向系统申请缓存空间个数,
    #size指的是每个缓存空间的大小。
    #主要实现的是申请number个每个大小为size的内存空间。这个值的设定一般会和服务器的操作系统有关,所以建议此项不设置,使用默认值即可。
    gzip_buffers 4 64k;
    
    #压缩版本(默认1.1,前端如果是squid2.5请使用1.0)
    gzip_http_version 1.0;
    
    #压缩等级 1-9 等级越高,压缩效果越好,节约宽带,但CPU消耗大,1表示程度最低,但效率最高。9刚好相反,压缩程度最高,但是效率最低浪费时间。
    gzip_comp_level 6;
    
    #压缩类型,默认就已经包含text/html,所以下面就不用再写了,写上去也不会有问题,但是会有一个warn。所选择的值可以从mime.types文件中进行查找,也可以使用"*"代表所有。 
    gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;  

示例:
gzip on;     # 开启gizp功能
    
gzip_comp_level 6; # gzip压缩级别(不建议设置过大,过大值,不会对文件压缩有太大提升,但是会浪费cpu资源)
gzip_buffers 4 64k;
gzip_min_length 1K; # 缓存空间大小

gzip_vary on;         # 网响应头信息中添加压缩标识
gzip_disable "MSIE [1-6]\." ; # 对IE6以下的版本都不进行压缩(低版本浏览器肯能不支持压缩,会造成乱码,使用该指令进行排除)
gzip_proxied any; # nginx作为反向代理压缩服务端返回数据的条件
 
gzip_types text/plain application/javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png application/pdf;                 

(9)FastCGI相关参数

是为了改善网站的性能:减少资源占用,提高访问速度。

    fastcgi_connect_timeout 300;
    fastcgi_send_timeout 300;
    fastcgi_read_timeout 300;
    fastcgi_buffer_size 64k;
    fastcgi_buffers 4 64k;
    fastcgi_busy_buffers_size 128k;
    fastcgi_temp_file_write_size 128k;

(10)upstream 负载均衡模块和 server 虚拟主机模块 会单独拿出一篇文章解释,再次不做详解

(11)浏览器缓存的执行流程

HTTP协议中和页面缓存相关的字段

header

说明

Expires

缓存过期的日期和时间

Cache-Control

设置和缓存相关的配置信息

Last-Modified

请求资源最后修改时间

ETag

请求变量的实体标签的当前值,比如文件的MD5值

 

(1)用户首次通过浏览器发送请求到服务端获取数据,客户端是没有对应的缓存,所以需要发送request请求来获取数据;

(2)服务端接收到请求后,获取服务端的数据及服务端缓存的允许后,返回200的成功状态码并且在响应头上附上对应资源以及缓存信息;

(3)当用户再次访问相同资源的时候,客户端会在浏览器的缓存目录中查找是否存在响应的缓存文件

(4)如果没有找到对应的缓存文件,则走(2)步

(5)如果有缓存文件,接下来对缓存文件是否过期进行判断,过期的判断标准是(Expires)

(6)如果没有过期,则直接从本地缓存中返回数据进行展示

(7)如果Expires过期,接下来需要判断缓存文件是否发生过变化

(8)判断的标准有两个,一个是ETag(Entity Tag),一个是Last-Modified

(9)判断结果是未发生变化,则服务端返回304,直接从缓存文件中获取数据

(10)如果判断是发生了变化,重新从服务端获取数据,并根据缓存协商(服务端所设置的是否需要进行缓存数据的设置)来进行数据缓存。

expires 指令 指定过期时间。使用较多
默认值:expires off;
示例:
    #所有扩展名以.gif、.jpg、.jpeg、.png、.bmp、.swf结尾的静态文件都交给nginx处理,而expires用来指定静态文件的过期时间,这里是30天。
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
      root /test/www.test.com;
      expires 30d;
    }
    #以下这段设置是将upload和html下的所有文件都交给nginx来处理,当然,upload和html目录包含在/web/test/www.test.com目录中。
    location ~ ^/(upload|html)/ {
      root /web/test/www.test.com;
      expires 30d;
    }

(12)add_header

是用来添加指定的响应头和响应值

#允许跨域访问的域名,可以是一个域的列表,也可以是通配符*
add_header Access-Control-Allow-Origin *;
#是否允许请求带有验证信息
add_header Access-Control-Allow-Credentials true;
#允许使用的请求方法,以逗号隔开
add_header Access-Control-Allow-Methods 'POST,GET,OPTIONS,PUT,DELETE';
# 设置内容安全策略(CSP)  
add_header Content-Security-Policy "default-src 'self'"; 
#允许脚本访问的返回头
add_header Access-Control-Allow-Headers 'Accept,Authorization,Cache-Control,Content-Type,DNT,If-Modified-Since,Keep-Alive,Origin,User-Agent,X-Mx-ReqToken,X-Requested-With,Pragma,Date,x-timestamp';
#用来指定本次预检请求的有效期,单位为秒
#add_header 'Access-Control-Max-Age' 1728000;

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1790081.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

opencv-python(五)

opencv的颜色通道中顺序是B,G,R。 图像属性 import cv2img cv2.imread(jk.jpg) print(fshape{img.shape}) print(fsize{img.size}) print(fdtype{img.dtype}) shape:图像像素的行,列,通道 size:行数 X …

LWIP_TCP 协议

目录 1 TCP 协议简介 1.1 TCP 协议简介 1.2 TCP 的建立连接 1.3 TCP 终止连接 1.4 TCP 报文结构 1.5 lwIP 的 TCP 报文首部数据结构 1.6 lwIP 的 TCP 连接状态图 1 TCP 协议简介 1.1 TCP 协议简介 TCP(Transmission Control Protocol 传输控制协议&#xff0…

算法导论 总结索引 | 第三部分 第十四章:数据结构的扩张

1、通过存储 额外信息的方法来扩张一 种标准的数据结构,然后对这种数据结构,编写新的操作来支持所需的应用。因为添加的信息 必须要能被该数据结构上的常规操作更新和维护 2、通过扩张红黑树构造出的两种数据结构:14.1介绍 一种支持一般动态…

js 数字精确度

事情的起源: 项目中 填写的赔付金额是小数 传给后端需要 *100 9.87 *100 传给后端后是986.9999999999999 后端直接取整 就变成了9.86了 0.1 0.2 ! 0.3 console.log(0.1 0.2) //0.30000000000000004 console.log(0.1 0.2 0.3) //false1. 数字的存储 浮点数是用…

全新STC12C5A60S2单片机+LCD19264大屏万年历农历生肖节气节日显示+闹钟+温湿度+台灯

资料下载地址:全新STC12C5A60S2单片机LCD19264大屏万年历农历生肖节气节日显示闹钟温湿度台灯 这是旧版 退役拆解了 新版 与电路图所示 共设置4个按键 短按开关台灯 加减键调光 长按进入菜单 1.台灯 加入PCA PWM 调光 STC12C5A60S2的PCA PWM非常好用 设置简单无极…

Java面试题:解决Redis缓存击穿问题

缓存击穿 当一个key过期时,需要对这个key进行数据重建 在重建的时间内如果有大量的并发请求进入,就会绕过缓存进入数据库,会瞬间击垮DB 重建时间可能因为数据是多个表的混合结果需要分头统计而延长,从而更容易出现缓存击穿问题 缓存击穿的解决方案 添加互斥锁 先查询缓存…

实验八、地址解析协议《计算机网络》

水逆退散,学业进步,祝我们都好,不止在夏天。 目录 一、实验目的 二、实验内容 (1)预备知识 (2)实验步骤 三、实验小结 一、实验目的 完成本练习之后,您应该能够确定给定 IP 地…

数仓建模—ChatETL

数仓建模—ChatETL 前面我们介绍过ChatBI ,就是让用户通过自然语言对话的方式可以获取到自己想要的数据,然后通过合适的报表展示出来,其实我们可以将其理解为应用层面的技术创新,但是这个实现的前提就是我们底层已经有加工好的大量的数据模型数据表,并且有完善的元数据建…

python中文件操作详解(1)

在python中我们经常会对文件进行一些常见的操作,比如打开文件,操作文件,关闭文件,此篇文章主要是记录自己在学习过程中的一些总结供大家学习,也欢迎查漏补缺~ 1.文件的打开 方式一:此种方式打开的文件需要…

SQL实验 连接查询和嵌套查询

一、实验目的 1.掌握Management Studio的使用。 2.掌握SQL中连接查询和嵌套查询的使用。 二、实验内容及要求(请同学们尝试每道题使用连接和嵌套两种方式来进行查询,如果可以的话) 1.找出所有任教“数据…

云计算如何助力金融科技企业实现高效运营

一、引言 随着信息技术的飞速发展,云计算作为一种新兴的计算模式,正在逐渐改变着传统金融行业的运营模式。金融科技企业作为金融行业的重要组成部分,面临着日益增长的业务需求和技术挑战。在这一背景下,云计算凭借其弹性扩展、高可用性、低成本等优势,成为金融科技企业实…

7、架构-架构的安全性

即使只限定在“软件架构设计”这个语境下,系统安全仍然是一 个很大的话题。我们谈论的计算机系统安全,不仅仅是指“防御系统 被黑客攻击”这样狭隘的安全,还至少应包括(不限于)以下这些问 题的具体解决方案。 认证&am…

【Linux多线程】LWP和pthread_t

文章目录 LWPclone系统调用查看线程LWP理解LWP与TID pthread_id LWP LWP是Linux中线程的具体实现形式,在linux中,进程和线程本质上都是相同的,都是通过task_struct结构体来表示的。LWP是内核级线程,TID是其唯一标识符&#xff0c…

深度网络学习笔记(一)——self-attention机制介绍和计算步骤

self-attention机制介绍及其计算步骤 前言一、介绍和意义二、 计算细节2.1 计算Attention Score2.2 计算value2.3 计算关联结果b2.4 统一计算 三、总结 前言 Transformer是一种非常常见且强大的深度学习网络架构,尤其擅长处理输出为可变长度向量序列的任务&#xf…

杂项——STM32ZET6要注意的一些问题——高级定时器问题和PB3,PB4引脚问题

ZET6可能会用到定时器,高级定时器要输出PWM要加上这样一行代码,否则无法正常输出PWM波 TIM_CtrlPWMOutputs(TIM8, ENABLE); // 主输出使能,当使用的是通用定时器时,这句不需要 ZET6中PB3,PB4引脚默认功能是JTDO和NJTRST,如果想将…

python基础篇(2):字符串扩展知识点

1 字符串的三种定义方式 字符串在Python中有多种定义形式: (1)单引号定义法 name 博主帅绝上下五千年 print(name) print(type(name)) 效果如下: (2)双引号定义法 name "博主帅绝上下五千年&qu…

代课老师可以评职称吗?

代课老师可以评职称吗?这个问题颇具争议。代课老师由于其工作性质的特殊性,往往处于职称评审的边缘地带 代课老师,承担着临时或短期的教学任务,填补因各种原因造成的教师空缺。他们的工作性质决定了他们与正式教师在职责和角色上存…

【uni-app】开发问题汇总

文章目录 1、APP获取dom2、添加页面,参考其他页面,国际化就是对应页面的导航的国际化"navigationBarTitleText": "%m.i.ForgetPaymentPassword.bartitle%",3、setStatusBarStyle这个导航栏设置方法不要了,导航栏现在都用…

66、API攻防——接口安全阿里云KEYPostmanDVWS

文章目录 一、工具使用——Postman自动化测试二、安全问题——Dvws泄露&鉴权&XXE三、安全问题——阿里KEY信息泄露利用 dvws-node 一、工具使用——Postman自动化测试 二、安全问题——Dvws泄露&鉴权&XXE 路径中出现/api/,一般都是接口。 请求包是…

Cesium项目报错An error occurred while rendering. Rendering has stopped.

一般就是本地打开会报错,改成用本地服务器打开 全局安装一个live-server sudo cnpm i live-server -g然后新增一个package.json文件 npm init -y然后在package.json的scripts中增加一个命令 "server": "live-server ./ --port8181 --hostlocalhos…