Linux服务——nginx的配置及模块

2023-11-16

目录

一、nignx配置

1、nginx的配置文件

2、使用server语句块构建虚拟主机

3、alias别名

4、location语句

二、nginx模块

access模块

 验证模块

自定义错误页面

日志存放位置

检测文件是否存在

长连接设置

ngx_http_autoindex_module 模块

三、nginx的高级配置

1、网页的状态页

2、变量

3、自定义访问日志

4、nginx压缩功能

5、https功能


一、nignx配置

1、nginx的配置文件

nignx的配置文件也称nginx的全局配置文件(也叫主配置文件)

使用yum安装nginx服务,其配置文件所在位置/etc/nginx/nginx.conf,如果使用编译安装,可以指定安装路径

主配置文件详解:

#user  nobody;
worker_processes  1;    //默认master进程可以启动的worker进程的数量,优化1:将其修改成auto,表示为根据cpu核数启动worker进程的数量

//错误日志存放位置及错误日志的等级
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

//nginx的pid号存放文件路径,建议将其修改为其他文件夹,或创建新文件夹存放pid号
#pid        logs/nginx.pid;

//event事件
events {
    //单个工作(worker)进程的最大并发连接数,优化2:建议修改成65536,最大值65536
    worker_connections  1024;
}

//http模块
http {
    //导入支持的文件类型,是相对于/apps/nginx/conf的目录
    include       mime.types;
    //除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;
    //在开启了sendfile的情况下,合并请求后统一发送给客户端。
    #tcp_nopush     on;

    #keepalive_timeout  0;
    //长连接超时时间,65秒
    keepalive_timeout  65;

    //开启文件压缩
    #gzip  on;

    //server语句
    server {
        //监听的端口,
        listen       80;
        //虚拟主机名
        server_name  localhost;        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        //location语句,作用:指定URL的特性
        location / {    //此处的“/”指的是下方定义的安装路劲下的html文件夹
            root   html;
            //默认在html文件夹下找index文件,若没有依次往后找index.html,若也没有index.html,找index.htm,若都没有,返回错误页面
            index  index.html index.htm;
        }

        //错误页面设置
        //404错误页面,客户端造成的,如客户端输错地址
        #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;
        }

        }
}

2、使用server语句块构建虚拟主机

建立独立配置文件,及子配置文件

构建不同虚拟主机PC端手机端

1)修改主配置文件

2)创建子配置文件夹,及编写子配置文件


3)复制pc端的子配置文件,生成手机端的子配置文件 

4)创建pc端和手机端的默认网页



5)修改第二台机器的hosts文件,不修改的话会有问题 

6)开启nginx服务,使用另一台机器测试访问


其中nginx支持的虚拟主机有基于端口基于IP地址基于域名。

3、alias别名

root与alias的区别:

location /nwes {
        root /data/html/pc/;
        #相当于追加  将 文件夹news追加到/data/nginx/html/pc/news
        }
   location /study{
        alias /mnt/nginx/sports/;
        #相当于替换 你访问 study  就是访问/mnt/nginx/sports
        }

4、location语句

 在一个server中可以有多个location配置段,用于实现从uri到文件系统的路径映射;ngnix会根据用户请求的URI来检查定义的所有location,按一定的优化级找出一个最佳匹配,而后应用其配置在没有使用正则表达式的时候,nginx会先在server中的多个location选取匹配度最高的一个uri,uri是用户请求的字符串,即域名后面的web文件路径,然后使用该location模块中的正则url和字符串,如果匹配成功就结束搜索,并使用此location处理此请求。

语法规则:

location [ = | ~ | ~* | ^~ ]  uri   

{

...

}

=              	#用于标准uri前,需要请求字串与uri精确匹配,大小敏感,如果匹配成功就停止向下匹配并立即处理请求
^~            	#用于标准uri前,表示包含正则表达式,并且匹配以指定的正则表达式开头,对URI的最左边部分做匹配检查,不区分字符大小写
~              	#用于标准uri前,表示包含正则表达式,并且区分大小写
~*            	#用于标准uri前,表示包含正则表达式,并且不区分大写
不带符号   	  	 #匹配起始于此uri的所有的uri
 \             	#用于标准uri前,表示包含正则表达式并且转义字符。可以将 . * ?等转义为普通符号


#匹配优先级从高到低:
=, ^~, ~/~*, 不带符号

~* 虽然 不区分大小写 但是Linux系统中的文件系统区分大小写

二、nginx模块

nginx 有多种模块

  • 核心模块:是 Nginx 服务器正常运行必不可少的模块,提供错误日志记录 、配置文件解析 、事件驱动机制 、进程管理等核心功能

  • 标准HTTP模块:提供 HTTP 协议解析相关的功能,比如: 端口配置 、 网页编码设置 、 HTTP响应头设置 等等

  • 可选HTTP模块:主要用于扩展标准的 HTTP 功能,让 Nginx 能处理一些特殊的服务,比如:Flash 多媒体传输 、解析 GeoIP 请求、 网络传输压缩 、 安全协议 SSL 支持等

  • 邮件服务模块:主要用于支持 Nginx 的 邮件服务 ,包括对 POP3 协议、 IMAP 协议和 SMTP协议的支持

  • Stream服务模块: 实现反向代理功能,包括TCP协议代理

  • 第三方模块:是为了扩展 Nginx 服务器应用,完成开发者自定义功能,比如: Json 支持、 Lua 支持等

access模块

access模块属于四层控制,是默认安装的

作用:设置允许访问或不允许访问的主机,及黑白名单

可以使用如下命令进行查看

[root@server1 nginx-1.18.0]#./configure --help |grep access

 设置白名单

[root@server1 ~]#vim /apps/nginx/conf.d/pc.conf

[root@server1 ~]#nginx  -s  reload

使用主机测试,一台IP为192.168.3.100,另一台IP为192.168.3.102


 验证模块

 验证配置模块需要使用httpd-tools中的工具,所以需要先下载httpd-tools

 修改子配置文件

 创建存放用户名和密码的隐藏文件

[root@server1 ~]#htpasswd -bc /apps/nginx/conf.d/.httpuser heitui 123456

 重新加载nginx服务,并测试


自定义错误页面

 格式:

error_page code ... [=[response]] uri;
页面错误代码  
error_page    固定写法
code          响应码
=             可以将响应码转换
uri           访问连接

修改子配置文件 

创建错误页面,及错误页面的内容


 重新加载nginx服务,并测试

日志存放位置

 默认存放位置在安装路径下的logs文件夹中,存在access_log和error_log

在子配置文件中定义错误日志

测试


检测文件是否存在

try_files会按顺序检查文件是否存在,返回第一个找到的文件或文件夹(结尾加斜线表示为文件夹),如果所有文件或文件夹都找不到,会进行一个内部重定向到最后一个参数。只有最后一个参数可以引起一个内部重定向,之前的参数只设置内部URI的指向。最后一个参数是回退URI且必须存在,否则会出现内部500错误。

语法格式:

Syntax: try_files file ... uri;


try_files file ... =code;
Default: —
Context: server, location

修改子配置文件,做测试 

 重新加载nginx服务,并测试


我的访问是路径下的abc文件,那按照设置,先会去找abc,没有abc会在后面加上abc.html,再没有会在路径后补上abc/index.html,最后没找到会有一个兜底的/default.html。

长连接设置

 一个三次握手,多次下载

keepalive_timeout timeout [header_timeout];  
#设定保持连接超时时长,0表示禁止长连接,默认为75s,通常配置在http字段作为站点全局配置

例子:
keepalive_timeout 60 65;   #只能有一个空格 
#开启长连接后,返回客户端的会话保持时间为60s,单次长连接累计请求达到指定次数请求或65秒就会被断开,后面的60为发送给客户端应答报文头部中显示的超时时间设置为60s:如不设置客户端将不显示超时时间。


keepalive_requests number;  
#在一次长连接上所允许请求的资源的最大数量,默认为100次,建议适当调大,比如:500
可以加在全局或者 server 

例子:
keepalive_requests 3;
#最大下载三个资源就会断开连接

ngx_http_autoindex_module 模块

ngx_http_autoindex_module 模块用于设置下载服务相关的配置。

ngx_http_autoindex_module 模块处理以斜杠字符 "/" 结尾的请求,并生成目录列表,可以做为下载服务,且是自带的模块

autoindex on | off;
#自动文件索引功能,默为off
autoindex_exact_size on | off;  
#计算文件确切大小(单位bytes),off 显示大概大小(单位K、M),默认on
autoindex_localtime on | off ; 
#显示本机时间而非GMT(格林威治)时间,默认off
autoindex_format html | xml | json | jsonp; 
#显示索引的页面文件风格,默认html
limit_rate rate; 
#限制响应客户端传输速率(除GET和HEAD以外的所有方法),单位B/s,即bytes/second,默认值0,表示无限制,此指令由ngx_http_core_module提供
set $limit_rate
#变量提供 限制   变量优先级高

三、nginx的高级配置

1、网页的状态页

基于nginx 模块 ngx_http_stub_status_module 实现,在编译安装nginx的时候需要添加编译参数 --with-http_stub_status_module,否则配置完成之后监测会是提示语法错误注意: 状态页显示的是整个服务器的状态,而非虚拟主机的状态


2、第三方模块

echo模块

开源的echo模块 https://github.com/openresty/echo-nginx-module

需要先从github上下载echo模块的压缩包,再重新编译安装nginx

yum install git -y        安装git

git clone https://github.com/openresty/echo-nginx-module.git

#可能需要科学上网,才能够下载。在此文章顶部已放置echo安装模块压缩包,可直接下载

./configure --prefix=/apps/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_stub_status_module --with-http_gzip_static_module --with-pcre --with-stream --with-stream_ssl_module --with-stream_realip_module --add-module=/opt/echo-nginx-module-master
#添加echo模块,/opt/echo-nginx-module-master是你下载echo模块所在的目录

make && make install        #编译安装

安装完成后,修改子配置文件测试

[root@heitui a]#vim /apps/nginx/conf.d/a.conf        

server {

     listen 80;
     server_name www.aaa.com;
     root /apps/nginx/html/a;
     location /main {
     index index.html;
     default_type text/html;
     echo "hello world,main-->";
     echo $remote_addr;
     echo $args;
     echo $document_root;
     echo $document_uri;
     echo $host;
     echo $http_user_agent;
     echo $http_cookie;
     echo $request_filename;
     echo $scheme;
     echo $scheme://$host$document_uri?$args;
}
}


3、变量

内置变量

$remote_addr; 
#存放了客户端的地址,注意是客户端的公网IP

$proxy_add_x_forwarded_for
#此变量表示将客户端IP追加请求报文中X-Forwarded-For首部字段,多个IP之间用逗号分隔,如果请求中没有X-Forwarded-For,就使用$remote_addrthe “X-Forwarded-For” client request header field with the $remote_addr variable appended to it, separated by a comma. If the “X-Forwarded-For” field is not present in the client request header, the $proxy_add_x_forwarded_for variable is equal to the $remote_addr variable.
客户机    代理1     代理2     nginx服务器

$proxy_add_x_forwarded_for: 在代理1 上存的是  客户机的ip
$proxy_add_x_forwarded_for: 在代理2 上存的是  客户机的ip,代理1的ip            用逗号隔开
$proxy_add_x_forwarded_for: nginx  上存的是  客户机的ip,代理1的ip,代理2的ip

$args; 
#变量中存放了URL中的参数,例如:http://www.kgc.org/main/index.do?id=20190221&partner=search
#返回结果为: id=20190221&partner=search    存放的就是这个

$document_root; 
#保存了针对当前资源的请求的系统根目录,例如:/apps/nginx/html。

$document_uri;
#保存了当前请求中不包含参数的URI,注意是不包含请求的指令,比
如:http://www.kgc.org/main/index.do?id=20190221&partner=search会被定义为/main/index.do 
#返回结果为:/main/index.do

$host; 
#存放了请求的host名称

limit_rate 10240;
echo $limit_rate;
#如果nginx服务器使用limit_rate配置了显示网络速率,则会显示,如果没有设置, 则显示0

$remote_port; 
#客户端请求Nginx服务器时随机打开的端口,这是每个客户端自己的端口

$remote_user; 
#已经经过Auth Basic Module验证的用户名

$request_body_file; 
#做反向代理时发给后端服务器的本地资源的名称

$request_method; 
#请求资源的方式,GET/PUT/DELETE等

$request_filename; 
#当前请求的资源文件的磁盘路径,由root或alias指令与URI请求生成的文件绝对路径,如:/apps/nginx/html/main/index.html

$request_uri; 
#包含请求参数的原始URI,不包含主机名,相当于:$document_uri?$args,例如:/main/index.do?id=20190221&partner=search 

$scheme; 
#请求的协议,例如:http,https,ftp等

$server_protocol; 
#保存了客户端请求资源使用的协议的版本,例如:HTTP/1.0,HTTP/1.1,HTTP/2.0等

$server_addr; 
#保存了服务器的IP地址

$server_name; 
#请求的服务器的主机名

$server_port; 
#请求的服务器的端口号

$http_<name>
#name为任意请求报文首部字段,表示记录请求报文的首部字段
arbitrary request header field; the last part of a variable name is the field name converted to lower case with dashes replaced by underscores 
#用下划线代替横线
#示例: echo $http_User_Agent;  

$http_user_agent; 
#客户端浏览器的详细信息

$http_cookie; 
#客户端的cookie信息

$cookie_<name>
#name为任意请求报文首部字部cookie的key名

$http_<name>
#name为任意请求报文首部字段,表示记录请求报文的首部字段,ame的对应的首部字段名需要为小写,如果有
横线需要替换为下划线
arbitrary request header field; the last part of a variable name is the field 
name converted to lower case with dashes replaced by underscores #用下划线代替横线
#示例: 
echo $http_user_agent; 
echo $http_host;

$sent_http_<name>
#name为响应报文的首部字段,name的对应的首部字段名需要为小写,如果有横线需要替换为下划线,此变量有问题
echo $sent_http_server;

$arg_<name>
#此变量存放了URL中的指定参数,name为请求url中指定的参数
#对比 变量  $arg  是全部, 如果 要id   如下
echo $arg_id;

自定义变量

假如需要自定义变量名称和值,使用指令set $variable value;

语法格式:

Syntax: set $variable value;
Default: —
Context: server, location, if

4、自定义访问日志

日志格式可以自由定义,使用上免得变量,自由的组合定义。

注意如果开启 include  注意定义自配置文件与 日志格式的上下关系  ,   日志格式一定要在  include 之前 否则会不生效。

自定义json格式日志,方便ELK收集日志。

log_format access_json '{"@timestamp":"$time_iso8601",'
        '"host":"$server_addr",'
        '"clientip":"$remote_addr",'
        '"size":$body_bytes_sent,'
        '"responsetime":$request_time,'
        '"upstreamtime":"$upstream_response_time",'
        '"upstreamhost":"$upstream_addr",'  
        '"http_host":"$host",'
        '"uri":"$uri",'
        '"xff":"$http_x_forwarded_for",'
        '"referer":"$http_referer",'
        '"tcp_xff":"$proxy_protocol_addr",'
        '"http_user_agent":"$http_user_agent",'
        '"status":"$status"}';


返回结果如下:
'"http_user_agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTMLe/101.0.4951.54 Safari/537.36",'    '"status":"304"}'

5、nginx压缩功能

支持对指定类型的文件进行压缩然后再传输给客户端,而且压缩还可以设置压缩比例,压缩后的文件大小将比源文件显著变小,这样有助于降低出口带宽的利用率,降低企业的IT支出,不过会占用相应的CPU资源。Nginx对文件的压缩功能是依赖于模块 ngx_http_gzip_module。

配置指令如下:

#启用或禁用gzip压缩,默认关闭
gzip on | off; 
#压缩比由低到高从1到9,默认为1
gzip_comp_level level;
#禁用IE6 gzip功能
gzip_disable "MSIE [1-6]\."; 
#gzip压缩的最小文件,小于设置值的文件将不会压缩
gzip_min_length 1k; 
#启用压缩功能时,协议的最小版本,默认HTTP/1.1
gzip_http_version 1.0 | 1.1; 
#指定Nginx服务需要向服务器申请的缓存空间的个数和大小,平台不同,默认:32 4k或者16 8k;
gzip_buffers number size;  
#指明仅对哪些类型的资源执行压缩操作;默认为gzip_types text/html,不用显示指定,否则出错
gzip_types mime-type ...; 
#如果启用压缩,是否在响应报文首部插入“Vary: Accept-Encoding”,一般建议打开
gzip_vary on | off;
#预压缩
gzip_static on | off;

6、https功能

Web网站的登录页面都是使用https加密传输的,加密数据以保障数据的安全,HTTPS能够加密信息,以免敏感信息被第三方获取,所以很多银行网站或电子邮箱等等安全级别较高的服务都会采用HTTPS协议,HTTPS其实是有两部分组成:HTTP + SSL / TLS,也就是在HTTP上又加了一层处理加密信息的模块。服务端和客户端的信息传输都会通过TLS进行加密,所以传输的数据都是加密后的数据。

nginx 的https 功能基于模块ngx_http_ssl_module实现,因此如果是编译安装的nginx要使用参数ngx_http_ssl_module开启ssl功能,但是作为nginx的核心功能,yum安装的nginx默认就是开启的,编译安装的nginx需要指定编译参数--with-http_ssl_module开启。

详细内容请看官方文档:https://nginx.org/en/docs/http/ngx_http_ssl_module.html

相关参数如下:

listen 443 ssl;
#为指定的虚拟主机配置是否启用ssl功能,此功能在1.15.0废弃,使用listen [ssl]替代
ssl_certificate /path/to/file;
#指向包含当前虚拟主机和CA的两个证书信息的文件,一般是crt文件
ssl_certificate_key /path/to/file;
#当前虚拟主机使用的私钥文件,一般是key文件
ssl_protocols [SSLv2] [SSLv3] [TLSv1] [TLSv1.1] [TLSv1.2]; 
#支持ssl协议版本,早期为ssl现在是TLS,默认为后三个
ssl_session_cache off | none | [builtin[:size]] [shared:name:size];
#配置ssl缓存
   off: #关闭缓存
 none:  #通知客户端支持ssl session cache,但实际不支持
 builtin[:size]:#使用OpenSSL内建缓存,为每worker进程私有
 [shared:name:size]:#在各worker之间使用一个共享的缓存,需要定义一个缓存名称和缓存空间
大小,一兆可以存储4000个会话信息,多个虚拟主机可以使用相同的缓存名称
ssl_session_timeout time;
#客户端连接可以复用ssl session cache中缓存的有效时长,默认5m

自签名证书,必须要将所有文件放在一起,否则会报错

可以使用以下自签名脚本生成自签名认证,当然还是不安全的

CA_SUBJECT="/O=aaa/CN=ca.aaa.com"
SUBJECT="/C=CN/ST=js/L=nj/O=aaa/CN=www.aaa.com"
SERIAL=34
EXPIRE=202002
FILE=aaa.com

openssl req  -x509 -newkey rsa:2048 -subj $CA_SUBJECT -keyout ca.key -nodes -days 202002 -out ca.crt

openssl req -newkey rsa:2048 -nodes -keyout ${FILE}.key  -subj $SUBJECT -out ${FILE}.csr

openssl x509 -req -in ${FILE}.csr  -CA ca.crt -CAkey ca.key -set_serial $SERIAL  -days $EXPIRE -out ${FILE}.crt

chmod 600 ${FILE}.key ca.key

 使用谷歌浏览器访问会出现如下现象,因为是自签证,所以还是不安全的,点继续前往即可

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux服务——nginx的配置及模块 的相关文章

随机推荐

  • [Linux] 输入命令ls -laF后的各字段含义解析

    在登陆Ubuntu之后 我们切换超级管理用户root su root 然后切换到其所在的主目录 cd 然后以该目录下的所有文件以及文件夹为例进行介绍 我们输入命令查看该目录下面的所有文件以及文件夹 包括隐藏文件 ls laF 然后显示的内容
  • 回调函数使用

    https www cnblogs com shenwen p 9046482 html
  • 用c语言简单实现通讯录(详解和具体代码)

    前言 一 明确通讯录的功能 1 查找通讯录上的姓名 性别 电话和住址 2 可以增加 删除或修改相关信息 二 如何实现通讯录的功能 1 使用struct函数 2 实现通讯录的步骤 1 初始化通讯录并打印目录 2 实现增加信息与展示通讯录 3
  • [ 注意力机制 ] 经典网络模型2——CBAM 详解与复现

    Author Horizon Max 编程技巧篇 各种操作小结 机器视觉篇 会变魔术 OpenCV 深度学习篇 简单入门 PyTorch 神经网络篇 经典网络模型 算法篇 再忙也别忘了 LeetCode 注意力机制 经典网络模型2 CBAM
  • mysql导出数据为文本,MySQL 文本文件的导入导出数据的方法

    搜索热词 MysqL写入数据通常用insert语句 如 insert into person values 张三 20 李四 21 王五 70 但有时为了更快速地插入大批量数据或交换数据 需要从文本中导入数据或导出数据到文本 一 建立测试表
  • 【TensorFlow】TensorBoard的使用(一)

    概述 TensorBoard是一个可视化工具 它可以用来展示网络图 张量的指标变化 张量的分布情况等 特别是在训练网络的时候 我们可以设置不同的参数 比如 权重W 偏置B 卷积层数 全连接层数等 使用TensorBoader可以很直观的帮我
  • 关于spring integration jpa 使用druid 连接池 不可恢复问题排查

    背景 2023年6月10日 测试说生产环境报错 有个job 没执行 我打开服务就报如下错 却看不到代码在哪报错 由于比较忙 直接暴力重启了应用 问题解决 2023年6月17日 测试说生产环境报错 有个job 又没执行 依旧是如上的错 等我有
  • 使用exe4j打包exe

    首先 需要下载一个exe4j的软件 网址 http www softpedia com get Authoring tools Setup creators exe4j shtml 现在主要说一下怎么打exe的过程 1 打开安装好的exe4
  • unity新动画系统之IK动画

    国际惯例 先来一段说明 IK动画全称Inverse Kinematics 即反向动力学 牵一发而动全身的既视感 代码如下 using System Collections using System Collections Generic u
  • Mac使用工具tree,打印项目目录树到Markdown

    主要使用tree这个工具 安装方法 brew install tree 使用方法是 tree 参数 目录 常用方法 显示当前目录及子目录结构 tree 只显示目录 不显示文件 tree d 保存打印的结果到文件 tree gt my pro
  • Python安装包的三种方式: pip在线安装、setup.py安装、whl文件安装

    之前在自己电脑上一直用 pip instal xx 来安装python的包 后来因为公司电脑的网络连接限制 无法通过正常联网的方式安装 所以总结了几种在线 或 离线安装包的方式 具体如下 在线安装 pip install xx 正常在线安装
  • Android android:configChanges的简介

    AndroidManifest xml 文件中 在声明Activity时 会有这样一个属性设置 即 android configChanges 现在就来简单介绍下吧 程序在运行时 一些设备的配置可能会改变 如 横竖屏的切换 键盘的可用性等
  • cannot find -lstdc++解决方案

    今天在ubuntu12 10 64位下编译32位android 4 04源码时报错 usr bin ld skipping incompatible usr lib gcc x86 64 linux gnu 4 5 4 libstdc so
  • Linux:进程(概念)

    学习目标 1 认识冯诺依曼系统 2 认识操作系统概念与定位 系统调用接口 3 理解进程的概念 PCB 4 理解进程的状态 fork创建进程 僵尸进程及孤儿进程 5 了解进程的调度 优先级 竞争性 独立性 并行 并发 6 理解环境变量 熟悉常
  • bert结构模型的转换及[unusedxx]的不拆token

    这里写自定义目录标题 前沿 torch格式转onnc 方法1 方法2 保留 unused9 不分词 transformers模块 tensorflow模块 前沿 业界主流的模型结构包括tensorflow和pytorch 很多时候两者的模型
  • 北斗导航系统伪码定位原理,MATLAB迭代法求解

    用户到卫星的距离可以先简单理解成通过光速 时间差得到 而用户测得的是包含各种误差影响在内的距离 称之为伪距 这是伪距 是用户机钟差 加上用户三维坐标 共四个未知量 所以需要至少同时看到四颗卫星才能实现定位 设用户坐标是 X Y Z 三颗卫星
  • 13、【创业必备企业架构,可开发任意项目】SpringCloud大型企业分布式微服务云架构源码之MySQL 分组

    MySQL GROUP BY 语句 GROUP BY 语句根据一个或多个列对结果集进行分组 在分组的列上我们可以使用 COUNT SUM AVG 等函数 GROUP BY 语法 SELECT column name function col
  • SAP 在制品明细

    Report ZCO019 REPORT zco019 TABLES matdoc SELECT OPTIONS s bukrs FOR matdoc bukrs OBLIGATORY s bu
  • 【机器学习】参数与超参数

    机器学习中的模型参数和模型超参数在作用 来源等方面都有所不同 而模型超参数常被称为模型参数 这样 很容易对初学者造成混淆 本文给出了模型参数和模型超参数的定义 并进行了对比 指出了二者本质上的区别 模型参数是模型内部的配置变量 可以用数据估
  • Linux服务——nginx的配置及模块

    目录 一 nignx配置 1 nginx的配置文件 2 使用server语句块构建虚拟主机 3 alias别名 4 location语句 二 nginx模块 access模块 验证模块 自定义错误页面 日志存放位置 检测文件是否存在 长连接