当前位置: 首页 > news >正文

Nginx1.20.2-Linux-安装

文章目录

    • 1.下载压缩包
        • 1.官网下载
        • 2.找到1.20.2
        • 3.百度网盘
    • 2.Linux安装
        • 1.搭建gcc环境
        • 2.上传到 /usr/local/nginx1.20.2
        • 3.解压
          • 1.解压到当前目录
          • 2.删除压缩包
        • 4.配置Nginx的编译路径
          • 1.进入nginx-1.20.2
          • 2.执行内部的脚本,指定编译路径为/usr/local/nginx
        • 5.编译并安装
        • 6.删除 /usr/local/nginx1.20.2 (因为已经编译完成了,所以就没用了)
        • 7.进入/usr/local/nginx输入./sbin/nginx -t,测试nginx是否正常
        • 8.指定配置文件启动Nginx
          • 1.启动
          • 2.查看Nginx进程
          • 3.开启80端口
            • 1.服务器开启
            • 2.安全组开启
          • 4.访问
        • 9.Nginx 配置文件详解
    • 3.Nginx案例:部署前端静态页面
        • 1.编写一个html文件
        • 2.**配置 Nginx**
          • 1.编辑配置文件
          • 2.新增一个server(这样就相当于http://localhost:9091/下面部署了一个/usr/local/nginx/html/test.html)
          • 3.检查配置文件格式
          • 4.重启Nginx,使配置生效
        • 3.编写 /usr/local/nginx/html/test.html
        • 4.开放9091端口,测试访问
          • 1.服务器开放
          • 2.安全组开放
          • 3.测试访问,成功!!!

1.下载压缩包

1.官网下载

https://nginx.org/en/download.html

2.找到1.20.2

CleanShot 2024-11-18 at 19.07.46@2x

3.百度网盘

CleanShot 2024-11-18 at 19.12.28@2x

2.Linux安装

1.搭建gcc环境
yum -y install gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel

2.上传到 /usr/local/nginx1.20.2
mkdir /usr/local/nginx1.20.2
cd /usr/local/nginx1.20.2

CleanShot 2024-11-18 at 19.18.01@2x

3.解压
1.解压到当前目录
tar -zxvf nginx-1.20.2.tar.gz 
2.删除压缩包
rm -f nginx-1.20.2.tar.gz 
4.配置Nginx的编译路径
1.进入nginx-1.20.2
cd nginx-1.20.2/
2.执行内部的脚本,指定编译路径为/usr/local/nginx
./configure --prefix=/usr/local/nginx

CleanShot 2024-11-18 at 19.27.48@2x

5.编译并安装
make & make install

CleanShot 2024-11-18 at 19.31.12@2x

6.删除 /usr/local/nginx1.20.2 (因为已经编译完成了,所以就没用了)
rm -rf /usr/local/nginx1.20.2
7.进入/usr/local/nginx输入./sbin/nginx -t,测试nginx是否正常
cd /usr/local/nginx
./sbin/nginx -t

CleanShot 2024-11-18 at 19.40.53@2x

8.指定配置文件启动Nginx
1.启动
./sbin/nginx -c conf/nginx.conf
2.查看Nginx进程

CleanShot 2024-11-18 at 19.44.33@2x

3.开启80端口
1.服务器开启
systemctl start firewalld && firewall-cmd --permanent --add-port=80/tcp && firewall-cmd --reload && firewall-cmd --query-port=80/tcp
2.安全组开启

CleanShot 2024-11-18 at 19.48.39@2x

4.访问
http://152.136.40.209:80

CleanShot 2024-11-18 at 19.49.11@2x

9.Nginx 配置文件详解
#Nginx用户及组:用户 组。window下不指定
#user  nobody;#工作进程:数目。根据硬件调整,通常等于CPU数量或者2倍于CPU。
worker_processes  1;#错误日志:存放路径。
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;#pid(进程标识符):存放路径
pid       /usr/local/nginx/logs/nginx.pid;#一个进程能打开的文件描述符最大值,理论上该值因该是最多能打开的文件数除以进程数。
#但是由于nginx负载并不是完全均衡的,所以这个值最好等于最多能打开的文件数。
#LINUX系统可以执行 sysctl -a | grep fs.file 可以看到linux文件描述符。
worker_rlimit_nofile 65535;events {#使用epoll的I/O 模型。linux建议epoll,FreeBSD建议采用kqueue,window下不指定。use epoll;#单个进程最大连接数(最大连接数=连接数*进程数)worker_connections  1024;#客户端请求头部的缓冲区大小。这个可以根据你的系统分页大小来设置,#一般一个请求头的大小不会超过1k,不过由于一般系统分页都要大于1k,所以这里设置为分页大小。#client_header_buffer_size 4k;
}http {#设定mime类型,类型由mime.type文件定义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"';#用了log_format指令设置了日志格式之后,需要用access_log指令指定日志文件的存放路径#记录了哪些用户,哪些页面以及用户浏览器、ip和其他的访问信息#access_log  logs/host.access.log  main;#access_log  logs/host.access.404.log  log404;#服务器名字的hash表大小server_names_hash_bucket_size 128;#客户端请求头缓冲大小。#nginx默认会用client_header_buffer_size这个buffer来读取header值,#如果header过大,它会使用large_client_header_buffers来读取。#如果设置过小HTTP头/Cookie过大 会报400 错误 nginx 400 bad request#如果超过buffer,就会报HTTP 414错误(URI Too Long)#nginx接受最长的HTTP头部大小必须比其中一个buffer大#否则就会报400的HTTP错误(Bad Request)#client_header_buffer_size 32k;#large_client_header_buffers 4 32k;#隐藏ngnix版本号#server_tokens off;#忽略不合法的请求头#ignore_invalid_headers   on;#让 nginx 在处理自己内部重定向时不默认使用  server_name设置中的第一个域名#server_name_in_redirect off;#客户端请求体的大小#client_body_buffer_size    8m;#开启文件传输,一般应用都应设置为on;若是有下载的应用,则可以设置成off来平衡网络I/O和磁盘的I/O来降低系统负载sendfile        on;#告诉nginx在一个数据包里发送所有头文件,而不一个接一个的发送。#tcp_nopush     on;#tcp_nodelay off 会增加通信的延时,但是会提高带宽利用率。在高延时、数据量大的通信场景中应该会有不错的效果#tcp_nodelay on,会增加小包的数量,但是可以提高响应速度。在及时性高的通信场景中应该会有不错的效果tcp_nodelay on;#长连接超时时间,单位是秒keepalive_timeout  65;#gzip模块设置,使用 gzip 压缩可以降低网站带宽消耗,同时提升访问速度。#gzip  on;                     #开启gzip#gzip_min_length  1k;          #最小压缩大小#gzip_buffers     4 16k;       #压缩缓冲区#gzip_http_version 1.0;        #压缩版本#gzip_comp_level 2;            #压缩等级#gzip_types   text/plain text/css text/xml text/javascript application/json application/x-javascript application/xml application/xml+rss;#压缩类型#负载均衡#max_fails为允许请求失败的次数,默认为1#weight为轮询权重,根据不同的权重分配可以用来平衡服务器的访问率。# upstream myServer{#   server  192.168.247.129:8080 max_fails=3 weight=2;#   server  192.168.247.129:8081 max_fails=3 weight=4;  # }#server {#    listen       80;#   #   #IP/域名可以有多个,用空格隔开#   server_name  192.168.247.129;#   #server_name  www.test.com;##    #charset koi8-r;##    #access_log  logs/host.access.log  main;#   #   #反向代理配置,#   #将所有请求为www.test.com的请求全部转发到upstream中定义的目标服务器中。#   location / {#               #       #此处配置的域名必须与upstream的域名一致,才能转发。#       proxy_pass http://myServer;#       #proxy_pass http://192.168.247.129:8080;#       #        proxy_connect_timeout 20;          #nginx跟后端服务器连接超时时间(代理连接超时)#       #        #client_max_body_size       10m;   #允许客户端请求的最大单文件字节数#        #client_body_buffer_size    128k;  #缓冲区代理缓冲用户端请求的最大字节数#        #proxy_send_timeout         300;   #后端服务器数据回传时间(代理发送超时)#        #proxy_read_timeout         300;   #连接成功后,后端服务器响应时间(代理接收超时)#        #proxy_buffer_size          4k;    #设置代理服务器(nginx)保存用户头信息的缓冲区大小#        #proxy_buffers              4 32k; #proxy_buffers缓冲区,网页平均在32k以下的话,这样设置#        #proxy_busy_buffers_size    64k;   #高负荷下缓冲大小(proxy_buffers*2)#        #proxy_temp_file_write_size 64k;   #设定缓存文件夹大小,大于这个值,将从upstream服务器传         #       #       root   html;#       #       #定义首页索引文件的名称#       index  index.html index.htm;#    }##   #动静分离 静态资源走linux 动态资源走tomcat#   # 注意 /source/image/下面寻找资源#   location /image/ {#       root /source/;#       autoindex on;#   }       ###    # 出现50x错误时,使用/50x.html页返回给客户端#    error_page   500 502 503 504  /50x.html;#    location = /50x.html {#        root   html;#    }#}#下面是配置生产环境中既支持HTTP又支持HTTPS,保证用户在浏览器中输入HTTP也能正常访问# SSL证书 配置                                 ssl_certificate         cert/yphtoy.com.pem;   #加密证书路径ssl_certificate_key cert/yphtoy.com.key;       #加密私钥路径ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;     #加密协议ssl_session_cache   shared:SSL:1m;             #加密访问缓存设置,可以大大提高访问速度ssl_session_timeout 10m;                       #加密访问缓存过期时间ssl_ciphers     HIGH:!aNULL:!MD5;              #加密算法ssl_prefer_server_ciphers on;                  #是否由服务器决定采用哪种加密算法# 负载均衡upstream api_upstream{server 127.0.0.1:8080 max_fails=3 weight=1;server 127.0.0.1:8081 max_fails=3 weight=1;}#api 接口(兼容HTTP)server{listen 80;server_name api.test.com;# 301重定向跳转到HTTPS接口return 301 https://$server_name$request_uri;error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}#api 接口(兼容HTTPS)server{listen 443 ssl;server_name api.test.com;location / {root html;index  index.html index.htm;proxy_pass http://api_upstream;#语法: proxy_cookie_path oldpath replacepath;#oldpath就是你要替换的路径 replacepath 就是要替换的值#作用:同一个web服务器下面多个应用之间能获取到cookieproxy_cookie_path /api/ /;#服务端接收的请求头Cooke值不变proxy_set_header Cookie $http_cookie;}}#管理后台端(兼容HTTP)server{listen 80;server_name manage.test.com;# 301重定向跳转到HTTPS接口return 301 https://$server_name/$request_uri;error_page 500 502 503 504 /50x.html;location = /50x.html{root html  }}#管理后台端(兼容HTTPS)server{listen 443 ssl;server_name manage.test.com;location / {root /home/test/web/distindex /index.html;#语法:try_files 【$uri】 【 $uri/】 【参数】#当用户请求https://manage.test.com/login时,#一.如果配置了上面的默认index,会依次请求#1./home/test/web/dist/login       查找有没有login这个文件,没有的话#2./home/test/web/dist/index.html  有就直接返回#二.如果没有配置了上面的默认index或者配置了没有找到对应的资源,会依次请求#1./home/test/web/dist/login        查找有没有login这个文件,没有的话#2./home/test/web/dist/login/       查找有没有login这个目录,没有的话#3.请求https://manage.test.com/index.html  nginx内部做了一个子请求#三.总的来说,index的优先级比try_files高,请求会先去找index配置,这里最后一个参数必须存在try_files $uri $uri/ /index.html;   #解决跨域问题#允许跨域请求地址(*表示全部,但是无法满足带cookie请求,因为cookie只能在当前域请求)add_header Access-Control-Allow-Origin $http_origin;#允许接收cookie和发送cookieadd_header Access-Control-Allow-Credentials 'true';#允许请求的方法add_header Access-Control-Allow-Methods 'GET,POST,DELETE,PUT,OPTIONS';#允许请求头(Content-Type:请求数据/媒体类型 x-requested-with:判断请求是异步还是同步 自定义header 比如 token)add_header Access-Control-Allow-Headers $http_access_control_request_headers;#浏览器缓存请求头信息,1800秒内,只会有1次请求,不会出现"OPTIONS"预请求,节约资源#add_header Access-Control-Max-Age '1800';if ($request_method = 'OPTIONS') {return 204;}#服务端HttpServletRequest可以获得用户的真实ipproxy_set_header X-Real-IP $remote_addr;#服务端HttpServletRequest可以获得用户的真实ip和经过的每一层代理服务器的ipproxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;#服务端接收的请求头Host值不变proxy_set_header Host  $http_host;proxy_set_header X-Nginx-Proxy true;}} 
}

3.Nginx案例:部署前端静态页面

1.编写一个html文件
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>My Nginx Test</title>
</head>
<body><h1>Welcome to Nginx on localhost:9091!</h1>
</body>
</html>
2.配置 Nginx
1.编辑配置文件
vim /usr/local/nginx/conf/nginx.conf
2.新增一个server(这样就相当于http://localhost:9091/下面部署了一个/usr/local/nginx/html/test.html)
    server {listen 9091;server_name localhost;location / {root /usr/local/nginx/html;    # 静态文件根目录index test.html;               # 默认首页文件try_files $uri /test.html;     # 如果访问的文件不存在,加载 test.html}error_page 404 /404.html;          # 可选:配置404页面}

CleanShot 2024-11-18 at 20.11.46@2x

3.检查配置文件格式
/usr/local/nginx/sbin/nginx -t

CleanShot 2024-11-18 at 20.12.33@2x

4.重启Nginx,使配置生效
/usr/local/nginx/sbin/nginx -s reload
3.编写 /usr/local/nginx/html/test.html
vim /usr/local/nginx/html/test.html

CleanShot 2024-11-18 at 20.15.03@2x

4.开放9091端口,测试访问
1.服务器开放
systemctl start firewalld && firewall-cmd --permanent --add-port=9091/tcp && firewall-cmd --reload && firewall-cmd --query-port=9091/tcp

CleanShot 2024-11-18 at 20.15.58@2x

2.安全组开放

CleanShot 2024-11-18 at 20.17.01@2x

3.测试访问,成功!!!

http://152.136.40.209:9091/

CleanShot 2024-11-18 at 20.17.40@2x

相关文章:

Nginx1.20.2-Linux-安装

文章目录 1.下载压缩包1.官网下载2.找到1.20.23.百度网盘 2.Linux安装1.搭建gcc环境2.上传到 /usr/local/nginx1.20.23.解压1.解压到当前目录2.删除压缩包 4.配置Nginx的编译路径1.进入nginx-1.20.22.执行内部的脚本&#xff0c;指定编译路径为/usr/local/nginx 5.编译并安装6.…...

Elasticsearch名词解释

文章目录 1.什么是Elasticsearch?2.什么是elastic stack(ELK)?3.什么是Lucene?4.什么是文档(document)&#xff1f;5.什么是词条(term)&#xff1f;6.什么是正向索引&#xff1f;7.什么是倒排索引&#xff1f;8.ES中的索引(index)9.映射(Mapping)10.DSL11.elastcisearch与my…...

Node项目——从0开始构建且共享至Gitee

从0开始构建一个Node.js项目涉及多个步骤&#xff0c;包括设置开发环境、初始化项目、安装依赖、编写代码以及配置版本控制等。以下是一个详细的步骤指南&#xff1a; 1. 安装Node.js和npm 首先&#xff0c;确保你已经安装了Node.js和npm&#xff08;Node Package Manager&am…...

layui多图上传,tp8后端接收处理

环境&#xff1a;layui2.9.21\thinkphp8.1 前端代码&#xff1a; layui.use([upload, layer], function() {const upload layui.upload;const layer layui.layer;const $ layui.$;// 上传图片const uploadInstImage upload.render({elem: #uploadImage,url: /admin/demo/…...

QEMU网络配置简介

本文简单介绍下qemu虚拟机网络的几种配置方式。 通过QEMU的支持&#xff0c;常见的可以实现以下4种网络形式&#xff1a; 基于网桥&#xff08;bridge&#xff09;的虚拟网络。基于NAT&#xff08;Network Addresss Translation&#xff09;的虚拟网络。QEMU内置的用户模式网…...

28.Marshal.PtrToStringAnsi C#例子

//怎么说呢&#xff0c;这个代码Marshal的英文意思有将军&#xff0c;控制等等&#xff0c; //我的理解是类似于console控制台。 //然后后面这个Ansi是一种ASCII的扩展&#xff0c;还有其他编码方式可选 就是一个把后面的指针转化为字符串的一个代码 这是用法…...

基于feapder爬虫与flask前后端框架的天气数据可视化大屏

# 最近又到期末了&#xff0c;有需要的同学可以借鉴。 一、feapder爬虫 feapder是国产开发的新型爬虫框架&#xff0c;具有轻量且数据库操作方便、异常提醒等优秀特性。本次设计看来利用feapder进行爬虫操作&#xff0c;可以加快爬虫的速率&#xff0c;并且简化数据入库等操作…...

Linux隐藏登录和清除历史命令以及其他相关安全操作示例

隐藏登录 ssh -T rootxxx.xxx.xxx.xxx /bin/bash -i 命令拆解-T &#xff1a;告诉ssh客户端&#xff0c;不要分配一个TTY&#xff08;伪终端&#xff09;root &#xff1a;连接用户xxx.xxx.xxx.xxx &#xff1a;连接的服务器ip地址/bin/bash &#xff1a;在远程服务器上启动…...

从授权校验看SpringBoot自动装配

背景 最近需要实现一个对于系统的授权检测功能&#xff0c;即当SpringBoot应用被启动时&#xff0c;需要当前设备是否具有有效的的授权许可信息&#xff0c;若无则直接退出应用。具体的实现方案请继续看下文。 环境 Ruoyi-Vue SpringBoot3 RuoYi-Vue: &#x1f389; 基于Spr…...

tensorboard的界面参数与图像数据分析讲解

目录 1.基础概念&#xff1a; (a)精确率与召回率&#xff1a; (b)mAP: (c)边界框损失&#xff1a; (d)目标损失&#xff1a; (e)分类损失&#xff1a; (f):学习率&#xff1a; 2.设置部分&#xff08;最右边部分&#xff09;&#xff1a; GENERAL&#xff08;常规设置…...

MTK 平台关于WIFI 6E P2P的解说

一 前言 官方 P2P 6E 设计原理,请查看这个网站 hostap - hostapd/wpa_supplicant 配置:p2p_6ghz_disable 允许上层指定是否允许6G连接 仅允许6G用于WFD –不允许6G用于纯P2P 缺点:存在很多 IOT issues 如:一些物联网设备无法识别6G类/信道,可能存在物联网问…...

离线语音识别+青云客语音机器人(幼儿园级别教程)

1、使用步骤 确保已安装以下库&#xff1a; pip install vosk sounddevice requests pyttsx3 2、下载 Vosk 模型&#xff1a; 下载适合的中文模型&#xff0c;如 vosk-model-small-cn-0.22。 下载地址&#xff1a; https://alphacephei.com/vosk/models 将模型解压后放置在…...

leetcode hot 100 跳跃游戏

55. 跳跃游戏 已解答 中等 相关标签 相关企业 给你一个非负整数数组 nums &#xff0c;你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标&#xff0c;如果可以&#xff0c;返回 true &#xff1b;否则…...

陪诊陪护助浴系统源码:JAVA养老护理助浴陪诊小程序医院陪护陪诊小程序APP源码

JAVA养老护理助浴陪诊小程序及医院陪护陪诊APP&#xff1a;打造智慧养老新生态 在人口老龄化日益加剧的当下&#xff0c;养老护理服务的需求日益增长&#xff0c;而传统的养老服务模式已难以满足日益多样化的需求。为此&#xff0c;我们基于JAVA技术栈&#xff0c;精心打造了一…...

怎么在家访问公司服务器?

在日常工作中&#xff0c;特别是对信息技术从业者而言&#xff0c;工作往往离不开公司的服务器。他们需要定期访问服务器&#xff0c;获取一些关键的机密文件或数据。如果您在家办公&#xff0c;并且需要处理未完成的任务&#xff0c;同时需要从公司服务器获取所需的数据&#…...

asp.net core框架搭建4-部署IIS/Nginx/Docker

文章目录 系列文章一、Linux上部署Nginx1.1 Centos 安装配置环境1.2 使用Systemctl 控制Nginx 二、部署IIS三、部署Docker3.1 创建 Dockerfile 文件3.2 构建 Docker 镜像3.3 运行 Docker 容器3.4 检查容器运行情况 结束语 作者&#xff1a;xcLeigh 文章地址&#xff1a;https:/…...

ubuntu中zlib安装的步骤是什么

参考:https://www.yisu.com/ask/40496522.html 在Ubuntu中安装zlib的步骤如下&#xff1a; 打开终端&#xff0c;输入以下命令更新包列表&#xff1a; sudo apt update复制代码 安装zlib库和开发文件&#xff1a; sudo apt install zlib1g zlib1g-dev复制代码 安装完成后&a…...

代码随想录算法训练营第二十天-二叉树-669. 修剪二叉搜索树

对于递归的写法除了大写的服字&#xff0c;无话可说由于是修剪二叉树&#xff0c;所以会有明确的方向性当某一结点小于最小值&#xff0c;说明其左子树全部要修剪掉当某一结点大于最大值&#xff0c;说明其右子树全部要修剪掉 #include <iostream>struct TreeNode {int …...

发现API安全风险,F5随时随地保障应用和API安全

分析数据显示&#xff0c;目前超过90%的基于Web的网络攻击都以API端点为目标&#xff0c;试图利用更新且较少为人所知的漏洞&#xff0c;而这些漏洞通常是由安全团队未主动监控的API所暴露。现代企业需要一种动态防御策略&#xff0c;在风险升级成代价高昂、令人警惕且往往无法…...

【AI学习】2024年末一些AI总结的摘录

看到不少的总结&#xff0c;边摘录边思考。尤其是这句话&#xff1a;“人类真正的问题是&#xff1a;我们拥有旧石器时代的情感、中世纪的制度和神一般的技术”。 22024生成模型综述 来自爱可可-爱生活 2024年见证了AI领域的重大飞跃。从OpenAI的主导地位到Claude的异军突起&…...

ws长时间不发消息会断连吗?

目录 一、ws长时间不发消息会断连吗1. **服务器端的空闲连接处理**2. **客户端的空闲连接处理**3. **网络设备的干预**4. **WebSocket Ping/Pong 机制** 二、为什么在使用nginx代理的情况下&#xff0c;长时间未活动的 WebSocket 连接可能会被中断或关闭1. **Nginx 的超时配置*…...

使用 ASP.NET Core wwwroot 上传和存储文件

在 ASP.NET Core 应用程序中上传和存储文件是用户个人资料、产品目录等功能的常见要求。本指南将解释使用wwwroot存储图像&#xff08;可用于文件&#xff09;的过程以及如何在应用程序中处理图像上传。 步骤 1&#xff1a;设置项目环境 确保您的 ASP.NET 项目中具有必要的依…...

【每日学点鸿蒙知识】人脸活体检测、NodeController刷新、自动关闭输入框、Row设置中间最大宽、WebView单例

1、HarmonyOS 人脸活体检测调用&#xff1f; H5调用应用侧方法可参考以下demo&#xff1a; index.ets Web()//注册方法.javaScriptProxy({object: this.testObj,name: "testObjName",methodList: ["getLocationTS"],controller: this.webController})cla…...

Android TV端弹出的PopupWindow没有获取焦点

在 TV 开发中&#xff0c;焦点管理是通过 Focus Navigation 实现的&#xff0c;PopupWindow 默认不接受焦点&#xff0c;导致遥控器无法选择弹窗内的控件。这是因为 PopupWindow 默认不会将焦点传递到其内容视图上。 要解决问题&#xff0c;可以通过以下步骤调整 PopupWindow …...

从0开始的docker镜像制作-ubuntu22.04

从0开始的docker镜像制作-ubuntu22.04 一、拉取基础ubuntu22.04镜像二、进入拉取的docker镜像中&#xff0c;下载自己需要的安装包三、安装需要的系统软件四、打包现有镜像为一个新的镜像五、推送打包的镜像到私有docker服务器1.编辑docker文件&#xff0c;使其允许http传输和对…...

1Panel自建RustDesk服务器方案实现Windows远程macOS

文章目录 缘起RustDesk 基本信息实现原理中继服务器的配置建议 中继服务器自建指南准备服务器安装1Panel安装和配置 RustDesk 中继服务防火墙配置和安全组配置查看key下载&安装&配置客户端设置永久密码测试连接 macOS安装客户端提示finder写入失败hbbs和hbbr说明**hbbs…...

STM32完全学习——使用定时器1精确延时

一、定时器的相关配置 首先一定要是递减定时器&#xff0c;递增的不太行&#xff0c;控制的不够准确&#xff0c;其次在大于10微秒的延时是非常准确的&#xff0c;小于的话&#xff0c;就没有那没准&#xff0c;但是凑合能用。误差都在一个微秒以内。使用高级定时器也就是时钟…...

深度学习——损失函数汇总

1. 连续值损失函数 总结:主要使用胡贝儿损失函数,应用于连续数值的预测之间的误差损失,参考地址 import torch import torch.nn as nna = torch.tensor([[1, 2], [3, 4]], dtype=torch.float) b = torch.tensor([[3, 5], [8, 6]], dtype=torch.float)loss_fn1 = torch.nn.M…...

1、单片机寄存器-io输入实验笔记

1、硬件 时钟总线如下&#xff1a; PB端口挂载在AHB1总线上&#xff0c;因此要对该位进行使能。 引脚 LED0和LED1挂载在PB0和PB1上&#xff1a;推挽输出、100M、 上拉默认高电平&#xff0c;低电平点亮。 2、软件 位带操作 #ifndef _IO_BIT_H_ #define _IO_BIT_H_#define …...

记忆旅游系统|Java|SSM|VUE| 前后端分离

【技术栈】 1⃣️&#xff1a;架构: B/S、MVC 2⃣️&#xff1a;系统环境&#xff1a;Windowsh/Mac 3⃣️&#xff1a;开发环境&#xff1a;IDEA、JDK1.8、Maven、Mysql5.7 4⃣️&#xff1a;技术栈&#xff1a;Java、Mysql、SSM、Mybatis-Plus、VUE、jquery,html 5⃣️数据库可…...