NGINX 基础参数与功能
章节
1 NGINX 的源码安装
2 NGINX 核心配置详解
3 NGINX 之 location 匹配优先级
4 NGINX 基础参数与功能
目录
1 实现 Nginx 账户认证功能
1.1 创建htpasswd 认证文件
1.2 创建数据目录
1.3 指定认证文件路径
1.4 测试效果
2 定义重定向错误日志
2.1 指定错误日志访问路径
2.2 创建错误文件目录并增加自定义内容
2.3 测试效果
3 定义访问日志与错误日志的路径
3.1 指定日志路径
3.2 创建日志目录 并重新启动服务
3.3 访问网站查看日志是否正确加载
4 检测文件是否存在 try_files
4.1 参数介绍
4.2 语法格式
4.3 示例: 如果不存在页面, 就转到default.html页面
4.3.1 配置文件增加参数try_files
4.3.2 创建数据目录增加内容
4.3.3 实现效果
4.4 示例二:使用 return 指令返回特定状态码
5 NGINX的长连接配置
5.1 请求连接数 keepalive_requests
5.1.1 参数配置与介绍
5.1.2 重启加载参数
5.1.3 测试效果
5.2 最大长连接时间 keepalive_timeout
5.2.1 参数配置
5.2.2 动图演示效果
6 作为下载服务器配置
6.1 相关指令介绍
6.2 自动索引参数的介绍与开启
6.2.1 配置autoindex参数
6.2.2 文件制作命令 dd
6.2.3 实现效果
6.2.4 网页时间同步
7 NGINX状态页面设置
7.1 定义状态页路径
7.2 创建状态目录
7.3 实现效果
8 实现NGINX文件压缩功能
8.1 NGINX压缩功能介绍
8.2 参数介绍及解释
8.3 开启压缩功能(默认不开启的)
8.4 gzip_types 支持的压缩格式
8.5 实现效果
1 实现 Nginx 账户认证功能
由 ngx_http_auth_basic_module 模块提供此功能
示例
1.1 创建htpasswd 认证文件
[root@RHEL-9 nginx]# htpasswd -cm /usr/local/nginx/.htpasswd admin
New password:
Re-type new password:
Adding password for user admin
[root@RHEL-9 nginx]# htpasswd -m /usr/local/nginx/.htpasswd shuyan
New password:
Re-type new password:
Adding password for user shuyan[root@RHEL-9 conf.d]# ls -a /usr/local/nginx/
. client_body_temp conf.d html logs sbin uwsgi_temp
.. conf fastcgi_temp .htpasswd proxy_temp scgi_temp# -c: 创建新的 .htpasswd 文件。
# -m: 使用 MD5 加密算法。

1.2 创建数据目录
[root@RHEL-9 nginx]# mkdir /data/web/shuyan
[root@RHEL-9 nginx]# echo shuyan > /data/web/shuyan/index.html
1.3 指定认证文件路径
[root@RHEL-9 nginx]# vim /usr/local/nginx/conf.d/location.conf
server {listen 80;server_name 192.168.239.20;index index.html;location /shuyan {root /data/web;auth_basic "login password";auth_basic_user_file "/usr/local/nginx/.htpasswd";}
}[root@RHEL-9 nginx]# systemctl restart nginx

1.4 测试效果


[root@RHEL-9 conf.d]# curl www.shuyan.com/shuyan/ -u shuyan
Enter host password for user 'shuyan':
shuyan
2 定义重定向错误日志
2.1 指定错误日志访问路径
[root@RHEL-9 nginx]# vim /usr/local/nginx/conf.d/location.conf
server {listen 80;server_name 192.168.239.20;index index.html;error_page 404 /40x.html;location /shuyan {root /data/web;}location = /40x.html {root /data/web/errorpage;}}
状态码写404当然也可以写500 503
2.2 创建错误文件目录并增加自定义内容
[root@RHEL-9 nginx]# mkdir -p /data/web/errorpage[root@RHEL-9 nginx]# echo "<h1>error page</h1>" > /data/web/errorpage/40x.html
[root@RHEL-9 nginx]# vim /data/web/errorpage/40x.html
[root@RHEL-9 nginx]# systemctl restart nginx
2.3 测试效果

3 定义访问日志与错误日志的路径
3.1 指定日志路径
server {listen 80;server_name 192.168.239.20;root /data/web/html;index index.html;error_page 404 /40x.html;error_log /var/log/nginx_log/error.log;access_log /var/log/nginx_log/access.log;location /shuyan {root /data/web;auth_basic "login password";auth_basic_user_file "/usr/local/nginx/.htpasswd";}location = /40x.html {root /data/web/errorpage;}

3.2 创建日志目录 并重新启动服务
[root@RHEL-9 conf.d]# mkdir -p /var/log/nginx_log/
[root@RHEL-9 conf.d]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@RHEL-9 conf.d]# systemctl restart nginx.service
[root@RHEL-9 conf.d]# ls /var/log/nginx_log/
access.log error.log
3.3 访问网站查看日志是否正确加载


4 检测文件是否存在 try_files
4.1 参数介绍
try_files会按顺序检查文件是否存在,返回第一个找到的文件或文件夹(结尾加斜线表示为文件夹),如 果所有文件或文件夹都找不到,会进行一个内部重定向到最后一个参数。只有最后一个参数可以引起一 个内部重定向,之前的参数只设置内部URI的指向。最后一个参数是回退URI且必须存在,否则会出现内 部500错误。
4.2 语法格式
try_files path1 path2 ... pathN [default|return status|internal|break];
4.3 示例: 如果不存在页面, 就转到default.html页面
4.3.1 配置文件增加参数try_files
server {listen 80;server_name 192.168.239.20;root /data/web/html;index index.html;error_page 404 /40x.html;error_log /var/log/nginx_log/error.log;access_log /var/log/nginx_log/access.log;try_files $uri $uri.html $uri/index.html /error/default.html;location /shuyan {root /data/web;auth_basic "login password";auth_basic_user_file "/usr/local/nginx/.htpasswd";}location = /40x.html {root /data/web/errorpage;}}

4.3.2 创建数据目录增加内容
[root@RHEL-9 conf.d]# mkdir /data/web/html/error
[root@RHEL-9 conf.d]# echo this is error default > /data/web/html/error/default.html[root@RHEL-9 conf.d]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful[root@RHEL-9 conf.d]# systemctl restart nginx[root@RHEL-9 conf.d]# echo this is default > /data/web/html/index.html
4.3.3 实现效果
[root@RHEL-9 conf.d]# curl www.shuyan.com
this is default# 删除目录看效果
[root@RHEL-9 conf.d]# rm -f /data/web/html/index.html
[root@RHEL-9 conf.d]# curl www.shuyan.com
this is error default


4.4 示例二:使用 return 指令返回特定状态码
try_files $uri $uri/ @fallback;
location @fallback {return 404;
}
5 NGINX的长连接配置
5.1 请求连接数 keepalive_requests
5.1.1 参数配置与介绍
[root@RHEL-9 conf.d]# vim /usr/local/nginx/conf/nginx.conf
http {include mime.types;default_type application/octet-stream;sendfile on;keepalive_timeout 65 60;keepalive_requests 2;# 开启长连接后,返回客户端的会话保持时间为60s,
# 单次长连接累计请求达到指定次数请求或65秒就会被断开,
# 第二个数字60为发送给客户端应答报文头部中显示的超时时间设置为60s:
# 如不设置客户端将不显示超时时间。Keep-Alive:timeout=60 #浏览器收到的服务器返回的报文#如果设置为0表示关闭会话保持功能,将如下显示:#Connection:close 浏览器收到的服务器返回的报文

5.1.2 重启加载参数
[root@RHEL-9 conf.d]# systemctl restart nginx.service
5.1.3 测试效果

5.2 最大长连接时间 keepalive_timeout
5.2.1 参数配置

5.2.2 动图演示效果
如动图所示,在3秒之后就断开链接了


6 作为下载服务器配置
ngx_http_autoindex_module 模块处理以斜杠字符 "/" 结尾的请求,并生成目录列表,可以做为下载服务 配置使用
6.1 相关指令介绍
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; # 显示索引的页面文件风格,默认htmllimit_rate rate; # 限制响应客户端传输速率(除GET和HEAD以外的所有方法),# 单位B/s, bytes/second, # 默认值0,表示无限制,此指令由ngx_http_core_module提供set $limit_rate 4k; # 也可以通过变量限速,单位B/s,同时设置,此项优级高。
6.2 自动索引参数的介绍与开启
在我们平常寻找镜像源的时候会发现有这样一个界面,在NGINX内也拥有这样一个功能,此时需要再NGINX里增加一个参数autoindex

6.2.1 配置autoindex参数
指定目录 /data/web/download
[root@RHEL-9 conf.d]# vim /usr/local/nginx/conf.d/location.conf
server {listen 80;server_name 192.168.239.20;root /data/web/html;index index.html;error_page 404 /40x.html;error_log /var/log/nginx_log/error.log;access_log /var/log/nginx_log/access.log;try_files $uri $uri.html $uri/index.html /error/default.html;location /shuyan {root /data/web;auth_basic "login password";auth_basic_user_file "/usr/local/nginx/.htpasswd";}location = /40x.html {root /data/web/errorpage;}location /download {root /data/web;autoindex on;}}

6.2.2 文件制作命令 dd
[root@RHEL-9 conf.d]# mkdir /data/web/download
[root@RHEL-9 conf.d]# dd if=/dev/zero of=/data/web/download/shuyan bs=1M count=100# if 代表输入文件。如果不指定if,默认就会从stdin中读取输入。
# of 代表输出文件。如果不指定of,默认就会将stdout作为默认输出。
# bs 代表字节为单位的块大小。
# count 代表被复制的块数。
# /dev/zero 是一个字符设备,会不断返回0值字节(\0)。
| 单元大小 | 代码 |
|---|---|
| 字节(1B) | c |
| 字节(2B) | w |
| 块(512B) | b |
| 千字节(1024B) | k |
| 兆字节(1024KB) | M |
| 吉字节(1024MB) | G |
[root@RHEL-9 conf.d]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful[root@RHEL-9 conf.d]# systemctl restart nginx.service
6.2.3 实现效果
浏览器访问指定页面查看


6.2.4 网页时间同步
autoindex_localtime 参数
本机时间而非GMT(格林威治)时间,默认off
在时间的时候会发现一个问题,发现显示时间与时间时间对不上。

将autoindex_localtime 改为 on

增加参数之后时间对的上了


location /download {root /data/web;autoindex on;autoindex_localtime on; #显示本机时间而非GMT(格林威治)时间,默认offautoindex_exact_size off;}

实现效果

7 NGINX状态页面设置
7.1 定义状态页路径
路径为 /data/web/status
[root@RHEL-9 conf.d]# vim /usr/local/nginx/conf.d/status.conf
server {listen 80;server_name www.status.com;root /data/web;index index.html;location /status {stub_status;allow 192.168.239.1/32;allow 127.0.0.1;deny all;}
}
允许本机并拒绝所有

7.2 创建状态目录
[root@RHEL-9 conf.d]# mkdir /data/web/status
[root@RHEL-9 conf.d]# systemctl restart nginx
7.3 实现效果

状态页参数说明
#状态页用于输出nginx的基本状态信息:#输出信息示例:Active connections: 2 server accepts handled requests8 8 13 # 上面三个数字分别对应accepts,handled,requests三个值Reading: 6 Writing: 179 Waiting: 106Active connections: #当前处于活动状态的客户端连接数#包括连接等待空闲连接数=reading+writing+waitingaccepts: #统计总值,Nginx自启动后已经接受的客户端请求连接的总数。handled: #统计总值,Nginx自启动后已经处理完成的客户端请求连接总数#通常等于accepts,除非有因worker_connections限制等被拒绝的连接requests: #统计总值,Nginx自启动后客户端发来的总的请求数Reading: #当前状态,正在读取客户端请求报文首部的连接的连接数#数值越大,说明排队现象严重,性能不足
Writing: #当前状态,正在向客户端发送响应报文过程中的连接数,数值越大,说明访问量很大Waiting: #当前状态,正在等待客户端发出请求的空闲连接数开启 keep-alive的情况下,#这个值等于active –(reading+writing)
8 实现NGINX文件压缩功能
8.1 NGINX压缩功能介绍
Nginx支持对指定类型的文件进行压缩然后再传输给客户端,而且压缩还可以设置压缩比例,压缩后的文 件大小将比源文件显著变小,样有助于降低出口带宽的利用率,降低企业的IT支出,不过会占用相 应的CPU资源。
Nginx对文件的压缩功能是依赖于模块 ngx_http_gzip_module,默认是内置模块
8.2 参数介绍及解释
gzip on;
作用: 启用 gzip 压缩功能。
说明: 当客户端支持 gzip 压缩时,Nginx 会对响应进行压缩后再发送。
gzip_comp_level 5;
作用: 设置 gzip 压缩级别。
说明: 这个值介于 1 到 9 之间,数值越大压缩比越高,但压缩所需的时间也会增加,所需要的性能也就越多。这里设置为 5,是一个比较平衡的选择。
gzip_min_length 1k;
作用: 设置最小响应长度以启用 gzip 压缩。
说明: 只有响应体大小超过指定的字节数时才会进行 gzip 压缩。这里设置为 1KB,意味着只有当响应体大于等于 1KB 时才会进行压缩。
gzip_http_version 1.1;
作用: 设置支持 gzip 压缩的 HTTP 版本。
说明: 这里设置为 1.1,意味着只有 HTTP 1.1 的请求才会启用 gzip 压缩。
gzip_vary on;
作用: 启用 Vary HTTP 头,告诉浏览器是否支持 gzip 压缩。
说明: 当启用 gzip_vary 时,Nginx 会在响应头中添加 Vary: Accept-Encoding,这可以让缓存代理服务器根据客户端是否支持 gzip 压缩来决定是否缓存压缩后的响应。
gzip_types
作用: 指定哪些 MIME 类型的内容会被 gzip 压缩。
8.3 开启压缩功能(默认不开启的)
[root@RHEL-9 conf.d]# vim /usr/local/nginx/conf/nginx.conf

gzip_comp_level 5;gzip_min_length 1k;gzip_http_version 1.1;gzip_vary on;gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/gif image/png;include /usr/local/nginx/conf.d/*.conf;
8.4 gzip_types 支持的压缩格式
注意gzip_types 必须是mime.type里支持的格式
[root@RHEL-9 conf.d]# vim ../conf/mime.types

[root@RHEL-9 conf.d]# cat /var/log/messages > /data/web/html/big.html[root@RHEL-9 conf.d]# ll -h /data/web/html/
总用量 744K
-rw-r--r--. 1 root root 738K 8月 16 16:19 big.html
drwxr-xr-x. 2 root root 26 8月 16 14:41 error
-rw-r--r--. 1 root root 16 8月 16 15:03 index.html

8.5 实现效果

[root@RHEL-9 conf.d]# curl --head --compressed 192.168.239.20/index.html
HTTP/1.1 200 OK
Server: nginx/1.26.1
Date: Fri, 16 Aug 2024 08:36:28 GMT
Content-Type: text/html
Content-Length: 16
Last-Modified: Fri, 16 Aug 2024 07:03:34 GMT
Connection: keep-alive
Keep-Alive: timeout=60
ETag: "66bef9c6-10"
Accept-Ranges: bytes[root@RHEL-9 conf.d]# curl --head --compressed 192.168.239.20/big.html
HTTP/1.1 200 OK
Server: nginx/1.26.1
Date: Fri, 16 Aug 2024 08:36:39 GMT
Content-Type: text/html
Last-Modified: Fri, 16 Aug 2024 08:19:38 GMT
Connection: keep-alive
Keep-Alive: timeout=60
Vary: Accept-Encoding
ETag: W/"66bf0b9a-b85da"
Content-Encoding: gzip
相关文章:
NGINX 基础参数与功能
章节 1 NGINX 的源码安装 2 NGINX 核心配置详解 3 NGINX 之 location 匹配优先级 4 NGINX 基础参数与功能 目录 1 实现 Nginx 账户认证功能 1.1 创建htpasswd 认证文件 1.2 创建数据目录 1.3 指定认证文件路径 1.4 测试效果 2 定义重定向错误日志 2.1 指定错误日志访问路…...
css设置元素居中显示
CSS中实现居中显示可以通过不同的属性来实现,取决于你是要水平居中还是垂直居中,或者两者都要。以下是一些常用的居中方法: 1.水平居中 - 行内元素或文本 .center-text {text-align: center; } 2.水平居中 - 块级元素 .center-block {mar…...
js判断一个任意值为空包括数组和对象
在JavaScript中,判断一个变量是否为空可以考虑以下几种情况: 如果变量可能是null或undefined,可以直接判断。 对于数组,如果想要判断数组为空(长度为0),可以检查其length属性。 对于对象&…...
EmguCV学习笔记 VB.Net和C# 下的OpenCv开发
版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 笔者的博客网址:https://blog.csdn.net/uruseibest 本教程将分为VB.Net和C#两个版本分别进行发布。 教程VB.net版本请…...
“TCP粘包”不是TCP的问题!
前言 写RPC用了Netty。涉及到粘包拆包问题。想复习一下。发现网上博客多是概念模糊不清。没有触及本质或者没有讲清楚。 遂决定自己写一篇 “TCP粘包”是谁的问题? 首先我们要明确TCP是面向字节流的协议。也就是说我们在应用层想使用TCP来传输数据时,…...
Electron项目依赖管理:最佳实践与常见错误
问题一 问题描述: 输入命令 pnpm add electron 后, electron 包在执行 postinstall 脚本时,尝试从网络上下载 Electron 二进制文件,但由于网络问题(如连接超时或代理设置问题),导致下载失败。 λ pnpm a…...
华为数通路由交换HCIP/HCNP
2017-2022年软考高级网络规划设计师真题解析视频!软考复习一定要多做历年真题! 2022年软考网络规划设计师真题解析_哔哩哔哩_bilibili 2024年5月软考网络工程师真题解析合集,考后估分版【综合知识案例分析】 2024年5月软考网络工程师真题解…...
搜索面试题
1、目前怎么构建样本的?如果排序中第5个被点了,前面的作为负样本,后面的不要怎么样;为什么不好,为什么好。 点击作为负样本,曝光未点击作为负样本; 可以这样理解。您提到的排序中第5个被点的对…...
WPF学习(8) --Windows API函数的使用
一、API函数的介绍 1.FindWindow函数 [DllImport("user32.dll", CharSet CharSet.Auto)]public static extern IntPtr FindWindow(string lpClassName, string lpWindowName); 功能: FindWindow函数用于根据窗口的类名和窗口名称查找窗口的句柄(IntPtr…...
Linux系统-用户账号文件
文章目录 文件一(passwd) 文件二(shadow) 加密密码部分 举例理解 文件三(gshadow) 文件四(group) 文件五(skel) 文件六(login.defs&#…...
docker配置国内镜像加速
docker配置国内镜像加速 由于国内使用docker拉取镜像时,会经常出现连接超时的网络问题,所以配置Docker 加速来使用国内 的镜像加速服务,以提高拉取 Docker 镜像的速度。 1、备份docker配置文件 cp /etc/docker/daemon.json /etc/docker/da…...
C语言实现排序之堆排序算法
一、堆排序算法 基本思想 堆排序是一种比较有效的排序方法,其基本思想是: 构建最大堆:首先将待排序的数组构建成一个最大堆,即对于每个非叶子节点,它的值都大于或等于其子节点的值。排序:然后将堆顶元素…...
【STM32 Blue Pill编程】-外部中断配置及使用
外部中断配置及使用 文章目录 外部中断配置及使用1、中断介绍2、STM32中的中断3、硬件准备及接线4、GPIO配置5、代码实现在本文中,我们将介绍如何使用 STM32Cube IDE 中的 HAL 库配置和处理外部中断。 我们将通过一个带有按钮和 LED 的示例来演示这一点。 读完本文后,您将能够…...
MySQL 安装与配置教程:单机、主从复制与集群模式
目录 MySQL 简介MySQL 安装MySQL 基础配置MySQL 主从复制配置MySQL 集群配置总结 1. MySQL 简介 MySQL 是一个广泛使用的关系型数据库管理系统,具有高性能、高可靠性和易用性等特点。它支持多种部署模式,包括单机模式、主从复制模式(用于高…...
JavaEE 的相关知识点(一)
一、过滤器 过滤器(Filter)是一个用于对请求和响应进行预处理的组件。过滤器可以在 Java Servlet 规范中使用,通常用于执行一些通用的任务 1、过滤器的作用 过滤器是一种javaEE规范中定义的一种技术,可以让请求达到目标servlet之…...
使用Python实现深度学习模型:智能医疗影像识别与诊断
介绍 智能医疗影像识别与诊断是现代医疗技术的重要应用,通过深度学习模型,可以自动分析和识别医疗影像,提高诊断的准确性和效率。本文将介绍如何使用Python和深度学习技术来实现智能医疗影像识别与诊断。 环境准备 首先,我们需要安装一些必要的Python库: pip install …...
24.给定一个链表,实现一个算法交换每两个相邻节点并返回其头部。要求不能修改列表节点中的值,只能更改节点本身。
24. Swap Nodes in Pairs 题目 给定一个链表,交换每两个相邻节点并返回其头部。要求不能修改列表节点中的值,只能更改节点本身。 Example: Given 1->2->3->4, you should return the list as 2->1->4->3....
Python 通过UDP传输超过64k的信息
Python 通过UDP传输超过64k的信息 在网络编程中,UDP(用户数据报协议)是一种常用的传输协议。与TCP不同,UDP是无连接的,并且不保证数据包的顺序、完整性及交付。尽管如此,UDP因其较低的延迟和开销而被广泛应…...
微服务设计原则——高性能:批量
能批量就不要并发。 如果调用方需要调用我们接口多次才能进行一个完整的操作,那么这个接口设计就可能有问题。 比如获取数据的接口,如果仅仅提供getData(int id)接口,那么使用方如果要一次性获取 20 个数据,它就需要循环遍历调用…...
C:指针学习-指针变量—学习笔记
今日伊雷娜: 目录 前言: 1、字符指针变量 1.1 使用字符指针存放字符 1.2 使用字符指针变量存放字符串 2、数组指针变量 2.1 什么是数组指针变量? 2.2 数组指针变量初始化 2.3 关于数组指针类型的解析 3、函数指针变量 3.1 函数地址 …...
RestClient
什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端,它允许HTTP与Elasticsearch 集群通信,而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级ÿ…...
【kafka】Golang实现分布式Masscan任务调度系统
要求: 输出两个程序,一个命令行程序(命令行参数用flag)和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽,然后将消息推送到kafka里面。 服务端程序: 从kafka消费者接收…...
【Linux】shell脚本忽略错误继续执行
在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...
centos 7 部署awstats 网站访问检测
一、基础环境准备(两种安装方式都要做) bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats࿰…...
vue3 定时器-定义全局方法 vue+ts
1.创建ts文件 路径:src/utils/timer.ts 完整代码: import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...
基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解
JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用,结合SQLite数据库实现联系人管理功能,并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能,同时可以最小化到系统…...
【Android】Android 开发 ADB 常用指令
查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...
Ubuntu Cursor升级成v1.0
0. 当前版本低 使用当前 Cursor v0.50时 GitHub Copilot Chat 打不开,快捷键也不好用,当看到 Cursor 升级后,还是蛮高兴的 1. 下载 Cursor 下载地址:https://www.cursor.com/cn/downloads 点击下载 Linux (x64) ,…...
Linux部署私有文件管理系统MinIO
最近需要用到一个文件管理服务,但是又不想花钱,所以就想着自己搭建一个,刚好我们用的一个开源框架已经集成了MinIO,所以就选了这个 我这边对文件服务性能要求不是太高,单机版就可以 安装非常简单,几个命令就…...
uni-app学习笔记三十五--扩展组件的安装和使用
由于内置组件不能满足日常开发需要,uniapp官方也提供了众多的扩展组件供我们使用。由于不是内置组件,需要安装才能使用。 一、安装扩展插件 安装方法: 1.访问uniapp官方文档组件部分:组件使用的入门教程 | uni-app官网 点击左侧…...

