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

Ubuntu系统部署.NET 8网站项目

一、使用XShell连接

Ubuntu系统初次连接时默认的用户名为:ubuntu,使用此用户名与系统登录密码进行连接。
XShell连接UBuntu系统
登录成功效果如下图:

连接登录效果

二、root用户登录

linux下有超级用户(root)和普通用户,普通用户不能直接操作没有权限的目录。初始超级用户(root)是没有密码,也就是说root用户不能用,但ubuntu提供了一种以普通用户执行超级管理权限的命令:sudo

2.1、设置root用户密码

sudo passwd root

输入以上命令,按下回车(Enter)之后,终端会提示你让你给root用户设置密码,设置新密码后继续确认新密码(密码是隐藏的,所以不会显示出来)。

设置root用户密码
看到“passwd: password updated successfully”之后,则代表超级用户(root)的密码设置成功!

2.2、以root用户登录

输入以下命令:

su root

输入root用户密码,当输入框前面的“$”符号变成“#”时,就可以使用root权限了。

以root用户登录

三、更换镜像源

使用清华大学的镜像源可以加快软件包的下载速度。Ubuntu 软件仓库 | 清华大学开源软件镜像站
在这里插入图片描述
简介部分给出了各种版本的注意事项,包括软件源配置文件的路径以及旧版本的解决方案。如下图:

在这里插入图片描述
选择相应版本后复制镜像源即可,如下图:

选择相应版本后复制镜像源

例如:Ubuntu22.04的镜像源为:

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse# 以下安全更新软件源包含了官方源与镜像站配置,如有需要可自行修改注释切换
deb http://security.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse
# deb-src http://security.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
# # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse

例如:Ubuntu24.04 LTS的镜像源为:

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble-backports main restricted universe multiverse# 以下安全更新软件源包含了官方源与镜像站配置,如有需要可自行修改注释切换
deb http://security.ubuntu.com/ubuntu/ noble-security main restricted universe multiverse
# deb-src http://security.ubuntu.com/ubuntu/ noble-security main restricted universe multiverse# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble-proposed main restricted universe multiverse
# # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble-proposed main restricted universe multiverse

3.1、备份现有源列表

出于尽可能少的修改系统配置的前提下,我们先将系统自带的源备份一下。此命令会在/etc/apt目录下将sources.list创建一份副本并重命名为sources.list.bak。

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

备份现有源列表

3.2、编辑源列表

使用以下命令打开镜像源文件:

sudo vim /etc/apt/sources.list

在vim插入模式下,按下“i”,替换掉原镜像源文件sources.list中的内容:
编辑源列表
按下“ESC”键,再输入“:wq”强制保存并退出;

在Ubuntu能正常上网的前提下,使用以下命令更新软件列表:

3.3、更新包索引

该命令会检查已安装的软件包是否有可用的更新,并更新本地的包索引仓库。

注意:该命令并不会更新系统中任何已安装的软件包。(相当于告诉你有几个包可以更新,但不执行)

sudo apt update

命令执行效果如下:

更新包索引

3.4、升级已安装的软件包(可选项)

该命令会将所有已安装的软件包更新到最新版本。(相当于执行更新)

注意:如果系统中环境比较复杂,该命令可能会影响到系统的稳定性和兼容性,慎用!(新系统可以无脑使用)

sudo apt upgrade

经过以上流程,ubuntu使用的镜像源就是清华的镜像源了!

四、安装.NET的SDK以及运行时

微软官方安装帮助文档:在 Ubuntu 上安装 .NET SDK 或 .NET 运行时

4.1、安装SDK命令

.NET SDK 使你可以通过 .NET 开发应用。 如果安装 .NET SDK,则无需安装相应的运行时。 若要安装 .NET SDK,请运行以下命令:

sudo apt-get install -y dotnet-sdk-8.0

4.2、安装运行时

通过 ASP.NET Core 运行时,可以运行使用 .NET 开发且未提供运行时的应用。 以下命令将安装 ASP.NET Core 运行时,这是与 .NET 最兼容的运行时。 在终端中,运行以下命令:

sudo apt-get install -y aspnetcore-runtime-8.0

安装运行时

4.3、验证安装

安装完成后,可以通过以下命令来验证是否成功安装了.NET

sudo dotnet --info

在这里插入图片描述

五、ufw防火墙

UFW全称为Uncomplicated Firewall,是Ubuntu系统上配置iptables防火墙的工具。UFW提供一个非常友好的命令用于创建基于IPV4,IPV6的防火墙规则。

5.1、安装ufw

sudo apt-get install ufw

安装防火墙:ufw

5.2、启动防火墙并设置开机启动

sudo ufw enable

启动防火墙并设置开机启动

5.3、查看防火墙状态

开启了为 active, 没开启为 inactive。

sudo ufw status

查看防火墙状态

5.4、开启SSH端口

sudo ufw allow 22

5.5、防火墙命令

# 开放 port_number 端口 tcp和udp
sudo ufw allow port_number# 删除 port_number 端口
sudo ufw delete allow port_number# 开启防火墙
sudo ufw enable# 关闭防火墙
sudo ufw disable# 重启防火墙
sudo ufw reload# 查看防火墙状态
sudo ufw status# 重置所有的规则
sudo ufw reset# 开放规定协议的指定端口(开放8000端口的tcp协议,需重启防火墙生效)
sudo ufw allow 8000/tcp# 关闭规定协议的指定端口(关闭8000端口的tcp协议,需重启防火墙生效)
sudo ufw delete allow 8000/tcp# 批量开放规定协议的指定端口(开放1-65535端口的tcp协议,需重启防火墙生效)
sudo ufw allow 1:65535/tcp# 允许来自 192.168.1.1 的主机的访问
sudo ufw allow from 192.168.1.1# 禁止外部访问smtp服务
sudo ufw deny smtp# 删除上面建立的某条规则
sudo ufw delete allow smtp

六、安装Nginx

Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、简单的配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。

Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

Nginx 是高性能的 HTTP 和反向代理的web服务器,处理高并发能力是十分强大的,能经受高负 载的考验,有报告表明能支持高达 50,000 个并发连接数。

Nginx支持热部署,启动简单,可以做到7*24不间断运行。几个月都不需要重新启动。

6.1、命令安装Nginx

sudo apt install nginx

6.2、安装验证

检查 Nginx 是否已成功安装并正在运行

sudo systemctl status nginx

执行效果如下:
检查 Nginx 是否已成功安装并正在运行

6.3、配置防火墙允许 HTTP 和 HTTPS 流量通过

如果您的服务器启用了防火墙(如 UFW),则需要允许 HTTP 和 HTTPS 流量通过

sudo ufw allow 'Nginx HTTP'
sudo ufw allow 'Nginx HTTPS'

6.4、重启防火墙

sudo ufw reload

6.5、Nginx命令

# 启动Nginx服务
sudo systemctl start nginx# 重启Nginx服务
sudo systemctl restart nginx# 设置开机自启动
sudo systemctl enable nginx# 检查Nginx状态
sudo systemctl status nginx# 重新加载Systemd守护进程
sudo systemctl daemon-reload

七、安装PostgreSQL

PostgreSQL是一个功能强大的 开源 的关系型数据库,底层基于C实现。

PostgreSQL使用的开源协议是PostgreSQL许可证,也被称为PostgreSQL开放源码许可证。这是一种自由软件许可证,基于BSD许可证。该许可证允许用户自由地使用、修改和分发PostgreSQL数据库管理系统的源代码。它还允许用户将PostgreSQL用于商业目的,并且没有强制性的要求或限制。这使得PostgreSQL成为一个受欢迎的开源数据库解决方案。

PostgreSQL的名字由两部分组成:Post和SQL。

"Post"是指Postgres,这是PostgreSQL的前身。Postgres是由Michael Stonebraker和他的团队在加州大学伯克利分校开发的一个关系数据库管理系统。它是早期关系数据库系统的一个重要研究项目。

"SQL"代表结构化查询语言(Structured Query Language),它是一种用于管理和操作关系数据库的标准语言。PostgreSQL是一个完全支持SQL的关系数据库管理系统。

因此,将这两个部分合并在一起,就得到了PostgreSQL这个名字。

7.1、检查是否已经安装

sudo service postgresql status

执行命令效果如下:
检查是否已经安装postgresql

7.2、安装命令

sudo apt install postgresql postgresql-contrib

执行命令效果如下:

在这里插入图片描述

7.3、确认安装成功

查看安装版本

psql --version

查看PostgreSQL安装版本

查看PostgreSQL服务运行状态

sudo service postgresql status

查看PostgreSQL服务运行状态

7.4、验证安装

登录到 PostgreSQL 数据库,以验证安装是否成功。

sudo -u postgres psql

执行效果如下:

在这里插入图片描述

7.5、修改postgres用户的登录密码

安装之后,用户“postgres”默认没有登录密码,所以我们需要使用命令进行密码修改。

alter user postgres with password 'a@12345678';

修改postgres用户的登录密码

7.6、设置外部IP能够连接本机的PostgreSQL数据库

7.6.1、修改pg_hba.conf配置文件

执行命令,按“i”进入编辑模式:将pg_hba.conf配置文件中的,新增一行“host all all 0.0.0.0/0 trust”,设置完成之后,按“ESC”,在输入“:wq”进行强制保存并退出。(其中16为安装的版本号

sudo vim /etc/postgresql/16/main/pg_hba.conf

修改pg_hba.conf配置文件

7.6.2、修改postgresql.conf配置文件

执行命令,按“i”进入编辑模式:将postgresql.conf配置文件中的listen_addresses属性设置为"*",设置完成之后,按“ESC”,在输入“:wq”进行强制保存并退出。

sudo vim /etc/postgresql/16/main/postgresql.conf

修改postgresql.conf配置文件

7.6.2、重启服务更新配置

重启服务更新配置

sudo service postgresql restart

7.7、设置防火墙

# 设置防火墙开启5432端口
sudo ufw allow 5432
# 重启防火墙服务
sudo ufw reload

7.8、防火墙命令

# 检查服务状态
sudo systemctl status postgresql# 启动服务
sudo systemctl start postgresql# 停止服务
sudo systemctl stop postgresql# 重启服务
sudo systemctl restart postgresql# 设置开机自启动
sudo systemctl enable postgresql# 禁用开机自启动
sudo systemctl disable postgresql

八、部署.NET 8 Web网站项目

将自己的.NET Web网站项目进行发布,再使用XFTP上传至服务器下自己创建的目录下。

8.1、修改Nginx的配置文件

sudo vim /etc/nginx/nginx.conf 
# 或 
sudo nano /etc/nginx/nginx.conf
server {listen     80;server_name   公网IP/域名;location / {proxy_pass http://localhost:5000;proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection keep-alive;proxy_set_header Host $host;proxy_cache_bypass $http_upgrade;root   /data/web/wwwroot;    #自己的项目路径,.NET Core的Web项目需要定位到“wwwroot”文件};
}

设置完成之后,按“ESC”,在输入“:wq”进行强制保存并退出。

8.2、重启Nginx

sudo systemctl start nginx

8.3、查看Nginx状态

sudo systemctl status nginx

看到“active (running)”即可!

查看Web服务Nginx的状态

8.4、创建.NET Core Web项目系统服务

mkdir:创建文件夹;touch:创建文件
在“/etc/systemd/system/”目录下创建一个新的服务文件,例如 web.service:

touch /etc/systemd/system/web.service

8.4.1、修改服务文件内容

sudo vim /etc/systemd/system/web.service

在输入命令之后,按“i”进行插入操作,在文件末尾,添加以下内容:

[Unit]
Description=My very first ASP.NET Core applications
After=network.target[Service]
WorkingDirectory=/data/web/
ExecStart=/usr/bin/dotnet  /data/web/WEB.dll --urls "http://*:5000"
Restart=always
# Restart service after 10 seconds if the dotnet service crashes:
RestartSec=10
KillSignal=SIGINT
SyslogIdentifier=myfirstapp-identifier
Environment=ASPNETCORE_ENVIRONMENT=Development
Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false[Install]
WantedBy=multi-user.target

下面是此内容的一些关键方面:

  • WorkingDirectory 是发布应用程序的目录。
  • ExecStart 是启动应用程序的实际命令。
  • Restart=always 不言而喻。 如果由于某种原因(无论是手动还是崩溃)而停止,则始终会启动此过程。
  • RestartSec=10 也是不言而喻的。 进程停止后,它将在经过 10 秒后启动。
  • SyslogIdentifier 很重要。 它表示“系统日志标识符”。 有关守护程序的信息以此名称记录在系统日志中。 还可以使用此标识符来查找进程的 PID。
  • User 是管理服务的用户。 它应存在于系统中,并具有应用程序文件的相应所有权。
  • Environment 可以在服务文件中设置任意数量的环境变量。

8.4.2、重载配置文件

执行以下命令重新加载 systemd 配置文件:

sudo systemctl daemon-reload

8.4.3、启动Web服务

sudo systemctl start web.service

8.4.4、查看Web服务

sudo systemctl status web.service

执行效果如下:

查看Web服务

8.4.5、设置Web服务开机自启动

sudo systemctl enable web.service

执行效果如下:

设置Web服务开机自启动

8.5、命令

#1、开机自启 
sudo systemctl enable web.service#2、启动服务 
sudo systemctl start web.service#3、查看状态 
sudo systemctl status web.service#4、关闭服务 
sudo systemctl stop web.service#5、重启服务 
sudo systemctl restart web.service

相关文章:

Ubuntu系统部署.NET 8网站项目

一、使用XShell连接 Ubuntu系统初次连接时默认的用户名为:ubuntu,使用此用户名与系统登录密码进行连接。 登录成功效果如下图: 二、root用户登录 linux下有超级用户(root)和普通用户,普通用户不能直接操…...

CI/CD—Jenkins配置一次完整的jar自动化发布流程

背景: 实现设想: 要创建自动化发布,需要准备一台测试服务器提前安装好java运行所需的环境,JDK版本最好和Windows开发机器上的版本一致,在Jenkins上配置将构建好的jar上传到测试服务器上,测试服务器自动启动…...

【Academy】Web 缓存欺骗 ------ Web cache deception

Web 缓存欺骗 ------ Web cache deception 1. 概述2. Web 缓存2.1 缓存键2.2 缓存规则 3. 构建 Web 缓存欺骗攻击3.1 使用缓存破坏器3.2 检测缓存的响应 4. 利用静态扩展缓存规则4.1 路径映射差异4.2 利用路径映射差异4.3 分隔符差异4.4 利用分隔符差异4.5 分隔符解码差异4.6 利…...

MATLAB表格Table与时间序列Timetable的高效操作方法

MATLAB中的表格(Table) 和 时间序列(Timetable) 是处理结构化数据和时间相关数据的核心工具。以下从基础操作到高级技巧,分步骤详解其使用方法。 一、创建与基础操作 1. 表格(Table)的创建与访…...

【leetcode hot 100 21】合并两个有序链表

解法一:新建一个链表存放有序的合并链表。当list1和list2至少有一个非空时,返回非空的;否则找出两个链表的最小值作为新链表的头,然后依次比较两链表,每次都先插入小的值。 /*** Definition for singly-linked list.*…...

本地部署 OpenManus 保姆级教程(Windows 版)

一、环境搭建 我的电脑是Windows 10版本,其他的没尝试,如果大家系统和我的不一致,请自行判断,基本上没什么大的出入啊。 openManus的Git地址:https://github.com/mannaandpoem/OpenManus 根据官网的两种安装推荐方式如…...

20250310:OpenCV mat对象与base64互转

代码: https://github.com/ReneNyffenegger/cpp-base64 指南:https://renenyffenegger.ch/notes/development/Base64/Encoding-and-decoding-base-64-with-cpp/ 实操:...

WPS的付费功能,这款软件可完美平替

因为作者有工作上的需求加上WPS使用批量提取图片需要会员,所以自己使用cursor制作了一个从excel中提取图片的工具。 支持提取Excel中的浮动图片和根据图片链接来下载图片。 Excel Image Extractor Excel图片提取工具 软件的功能非常强大,支持提取Excel中…...

L1-088 静静的推荐

L1-088 静静的推荐 - 团体程序设计天梯赛-练习集 (pintia.cn) 题解 这里代码很简单,但是主要是循环里面的内容很难理解,下面是关于循环里面的内容理解: 这里 n 10 表示有 10 个学生,k 2 表示企业接受 2 批次的推荐名单&#…...

NS3学习——运行自定义拥塞控制算法步骤

目录 一、添加优化后的代码文件 二、更改CMakeLists文件中内容 三、重新配置和编译ns-3 四、常见问题 目的:想在tcp拥塞控制算法的基础上进行优化改进,之后在ns3中运行优化后的算法,即自定义拥塞控制算法; 以tcpVegas算法为…...

前端开发中的常见设计模式:全面解析与实践

1. 引言 1.1 设计模式的重要性 设计模式是软件开发中经过验证的解决方案,能够帮助开发者解决常见的设计问题。在前端开发中,合理使用设计模式可以提高代码的可维护性、可扩展性和复用性。 1.2 本文的目标 本文旨在全面解析前端开发中常见的设计模式&…...

VSCode 2025最新 前端开发必备插件推荐汇总(提效指南)

🌟前言: 如果你是一名前端开发工程师,合适的开发工具能大大提高工作效率。Visual Studio Code (VSCode) 凭借其轻量级、高扩展性的特点,已成为众多前端开发者在win系电脑的首选IDE。 名人说:博观而约取,厚积而薄发。—…...

【redis】redis的单线程模型为什么效率高?

文章目录 单线程模型单线程的 Redis 为什么效率高?速度快?IO多路复用epoll 单线程模型 Redis 只使用一个线程,处理所有的命令请求。不是说一个 Redis 服务器进程内部只有一个线程,其实也有多个线程,多个线程是在处理网…...

scala的集合

scala的集合系统的区分了可变( mutable )和不可变(immutable )集合。 mkString(seq:String):方法是将原字符串使用特定的字符串seq分割。 mkString(statrt:String,seq:String,end:String):方法是将原字符…...

Flink状态管理深度探索:从Keyed State到分布式快照

Flink状态管理深度探索:从Keyed State到分布式快照 在大数据实时计算领域,Apache Flink凭借其精准的状态管理能力成为行业标杆。本文将从状态管理的核心机制出发,结合金融行业PB级数据处理实践,深入解析状态后端、容错机制与大规模优化策略。 一、Flink状态管理核心架构 …...

Android 11 DAC和MAC

在 Android 11 中,DAC(Discretionary Access Control,自主访问控制) 和 MAC(Mandatory Access Control,强制访问控制) 是两种不同的访问控制机制,主要用于 权限管理、安全性 以及 进程间访问控制。 1. DAC(自主访问控制) DAC(Discretionary Access Control,自主访…...

平衡二叉树(AVL树)

平衡二叉树是啥我就不多说了,本篇博客只讲原理与方法。 首先引入平衡因子的概念。平衡因子(Balance Factor),以下简称bf。 bf 右子树深度 - 左子树深度。平衡结点的平衡因子可为:-1,0,1。除此…...

SSM架构 +java后台 实现rtsp流转hls流,在前端html上实现视频播放

序言:书接上文,我们继续 SSM架构 NginxFFmpeg实现rtsp流转hls流,在前端html上实现视频播放 步骤一:把rtsp流转化为hls流,用Java代码进行转换 package com.tools;import java.io.BufferedReader; import java.io.IOExc…...

贪心算法--

1.柠檬水找零 link:860. 柠檬水找零 - 力扣&#xff08;LeetCode&#xff09; code class Solution { public:bool lemonadeChange(vector<int>& bills) {// 贪心算法&#xff0c; 优先花出大面额bill&#xff0c; 尽可能保护小面额billint five 0, ten 0;// 不…...

【从0到1搞懂大模型】神经网络的实现:数据策略、模型调优与评估体系(3)

一、数据集的划分 &#xff08;1&#xff09;按一定比例划分为训练集和测试集 我们通常取8-2、7-3、6-4、5-5比例切分&#xff0c;直接将数据随机划分为训练集和测试集&#xff0c;然后使用训练集来生成模型&#xff0c;再用测试集来测试模型的正确率和误差&#xff0c;以验证…...

CTF工具集合-持续更新

工具地址https://github.com/huan-cdm/ctf_tools工具介绍&#xff1a; 1.ARCHPR&#xff1a;压缩包密码破解工具 2.StegSolve-1.4.jar&#xff1a;隐写图片查看工具 3.ctf_decrypt_tool.rar&#xff1a;随波逐流CTF编码工具 4.010_Editor_All_Versions_For_Windows_CracKed.…...

小方摄像头接入本地服务器的方法

最早众筹时买了几个小方摄像头&#xff0c;后来嫌弃分辨率&#xff0c;就淘汰吃灰好几年&#xff0c;最近想折腾个摄像头识别的小项目&#xff0c;秉着不投入先凑合跑起来的原则&#xff0c;想到了尘封已久的小方&#xff0c;想看看能不能通过网络拉取数据流。 搜索了下&#x…...

取反符号~

取反符号 ~ 用于对整数进行按位取反操作。它会将二进制表示中的每一位取反&#xff0c;即 0 变 1&#xff0c;1 变 0。 示例 a 5 # 二进制表示为 0000 0101 b ~a # 按位取反&#xff0c;结果为 1111 1010&#xff08;补码表示&#xff09; print(b) # 输出 -6解释 5 的二…...

Jenkins实现自动化构建与部署:上手攻略

一、持续集成与Jenkins核心价值 1.1 为什么需要自动化构建&#xff1f; 在现代化软件开发中&#xff0c;团队每日面临以下挑战&#xff1a; 高频代码提交&#xff1a;平均每个开发者每天提交5-10次代码。多环境部署&#xff1a;开发、测试、预发布、生产环境需频繁同步。复杂…...

爱普生温补晶振 TG5032CFN高精度稳定时钟的典范

在科技日新月异的当下&#xff0c;众多领域对时钟信号的稳定性与精准度提出了极为严苛的要求。爱普生温补晶振TG5032CFN是一款高稳定性温度补偿晶体振荡器&#xff08;TCXO&#xff09;。该器件通过内置温度补偿电路&#xff0c;有效抑制环境温度变化对频率稳定性的影响&#x…...

【Java 面试 八股文】计算机网络篇

操作系统篇 1. 什么是HTTP? HTTP 和 HTTPS 的区别?2. 为什么说HTTPS比HTTP安全? HTTPS是如何保证安全的&#xff1f;3. 如何理解UDP 和 TCP? 区别? 应用场景?3.1 TCP 和 UDP 的特点3.2 适用场景 4. 如何理解TCP/IP协议?5. DNS协议 是什么&#xff1f;说说DNS 完整的查询…...

OpenHarmony5.0分布式系统源码实现分析—软总线

一、引言 OpenHarmony 作为一款面向万物互联的操作系统&#xff0c;其分布式软总线&#xff08;Distributed SoftBus&#xff09;是实现设备间高效通信和协同的核心技术之一。分布式软总线通过构建一个虚拟的总线网络&#xff0c;使得不同设备能够无缝连接、通信和协同工作。本…...

Spring Boot/Spring Cloud 整合 ELK(Elasticsearch、Logstash、Kibana)详细避坑指南

我们在开发中经常会写日志&#xff0c;所以需要有个日志可视化界面管理&#xff0c;使用ELK可以实现高效集中化的日志管理与分析&#xff0c;提升性能稳定性&#xff0c;满足安全合规要求&#xff0c;支持开发运维工作。 下述是我在搭建ELK时遇到的许许多多的坑&#xff0c;希望…...

云原生周刊:Istio 1.25.0 正式发布

开源项目推荐 Dstack Dstack 是一个开源的 AI 计算管理平台&#xff0c;旨在简化 AI 任务的部署和管理。它支持本地和云端运行 AI 工作负载&#xff0c;并提供自动化的 GPU 资源调度&#xff0c;使开发者能够更高效地利用计算资源。Dstack 兼容 K8s&#xff0c;可以无缝集成到…...

微前端如何拯救大型项目

前言 在前端开发的世界中&#xff0c;我们经常会遇到这样的问题&#xff1a;一个大型项目往往由多个团队共同开发&#xff0c;每个团队负责一部分功能。然而&#xff0c;随着项目的不断扩大和复杂化&#xff0c;前端代码库变得越来越庞大和难以维护。这时&#xff0c;微前端&a…...

RabbitMQ 高级特性:从 TTL 到消息分发的全面解析 (下)

RabbitMQ高级特性 RabbitMQ 高级特性解析&#xff1a;RabbitMQ 消息可靠性保障 &#xff08;上&#xff09;-CSDN博客 RabbitMQ 高级特性&#xff1a;从 TTL 到消息分发的全面解析 &#xff08;下&#xff09;-CSDN博客 引言 RabbitMQ 作为一款强大的消息队列中间件&#xff…...

OpenManus-通过源码方式本地运行OpenManus,含踩坑及处理方案

前言&#xff1a;最近 Manus 火得一塌糊涂啊&#xff0c;OpenManus 也一夜之间爆火&#xff0c;那么作为程序员应该来尝尝鲜 1、前期准备 FastGithub&#xff1a;如果有科学上网且能正常访问 github 则不需要下载此软件&#xff0c;此软件是提供国内直接访问 githubGit&#…...

Ubuntu22.04修改root用户并安装cuda

由于本人工作原因&#xff0c;经常会遇到需要给ubuntu打显卡驱动的问题&#xff0c;虽然说不难吧&#xff0c;但是耐不住机器多&#xff0c;重复多次也就烦了&#xff0c;于是抽出了一点时间&#xff0c;并且在deepseek的帮助之下&#xff0c;写了一个自动安装驱动的脚本&#…...

Java LeetCode 热题 100 回顾38

干货分享&#xff0c;感谢您的阅读&#xff01;LeetCode 热题 100 回顾_力code热题100-CSDN博客 一、哈希部分 1.两数之和 &#xff08;简单&#xff09; 题目描述 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两…...

MySQL复习笔记

文章目录 1.MySQL1.1什么是数据库1.2 数据库分类1.3 MySQL简介1.4连接数据库 2. 操作数据库2.1 操作数据库2.2 数据库的列类型2.3 数据库的字段属性&#xff08;重点&#xff09;2.4 创建数据库表&#xff08;重点&#xff09;2.5 数据表的类型2.6 修改数据表 3. MySQL 数据管理…...

解释 TypeScript 中的类型系统,如何定义和使用类型?

1. 类型系统的核心作用 TypeScript类型系统本质上是JavaScript的静态类型增强方案&#xff0c;提供三个核心价值&#xff1a; 开发阶段类型检查&#xff08;类似编译时eslint&#xff09;更清晰的API文档&#xff08;类型即文档&#xff09;更好的IDE自动补全支持 代码示例&…...

安裝do時出現log file support is not available

“log file support is not available (press RETURN)” 这个提示信息表明日志文件支持不可用&#xff0c;让你按回车键继续。出现这种情况可能是因为 Odoo 的日志相关配置存在问题或者一些必要的依赖没有正确安装配置。以下是一些可以尝试的解决办法&#xff1a; 1. 检查 Odo…...

[HTTP协议]应用层协议HTTP从入门到深刻理解并落地部署自己的云服务(1)知识基础

[HTTP协议]应用层协议HTTP从入门到深刻理解并落地部署自己的云服务(1)知识基础 水墨不写bug 文章目录 (一)概念梳理1.什么是协议?2.什么是应用层?3. 为什么要进行分层&#xff1f; &#xff08;二&#xff09;HTTP协议2.1 初识HTTP协议2.2HTTP协议的URL2.2.1域名2.2.2端口号2…...

机票改签请求

示例代码&#xff1a; tool def update_ticket_to_new_flight(ticket_no: str, new_flight_id: int) -> str:"""Update the users ticket to a new valid flight.Args:ticket_no (str): The ticket number to be updated.new_flight_id (int): The ID of th…...

linux下文件读写操作

Linux下&#xff0c;文件I/O是操作系统与文件系统之间进行数据传输的关键部分。文件I/O操作允许程序读取和写入文件&#xff0c;管理文件的打开、关闭、创建和删除等操作。 1. 文件描述符 在Linux中&#xff0c;每个打开的文件都由一个文件描述符来表示。文件描述符是一个非负…...

命名管道的创建和通信实现

目录 命名管道的创建 使用函数创建命名管道的通信 预备创建 makefile设计 server.hpp设计 clent.hpp设计 comm.hpp设计 server.cc设计 clent.cc设计 测试运行 今天我们来学习命名管道 由于匿名管道&#xff08;pipe()&#xff09;无法在两个毫不相干的进程之间进行通…...

C++和OpenGL实现3D游戏编程【连载24】——父物体和子物体之间的坐标转换

欢迎来到zhooyu的C++和OpenGL游戏专栏,专栏连载的所有精彩内容目录详见下边链接: 🔥C++和OpenGL实现3D游戏编程【总览】 父子物体的坐标转换 1、本节要实现的内容 前面章节我们了解了父物体与子物体的结构,它不仅能够表示物体之间的层次关系,更重要的一个作用就是展示物…...

21.HarmonyOS Next CustomSlider组件步长控制教程(三)

温馨提示&#xff1a;本篇博客的详细代码已发布到 git : https://gitcode.com/nutpi/HarmonyosNext 可以下载运行哦&#xff01; 文章目录 1. 步长控制概述2. 步长基本概念2.1 什么是步长&#xff1f;2.2 步长的作用 3. 设置步长3.1 基本参数3.2 代码示例 4. 步长与范围的关系4…...

小白学习:rag向量数据库

学习视频&#xff1a; https://www.bilibili.com/video/BV11zf6YyEnT/?spm_id_from333.337.search-card.all.click 例子&#xff1a; 用户提出问题 客服机器人基于rag回答用户问题 过程拆解&#xff1a; 客户问题 – 转化为向量表示 – 在向量数据库中进行相似性搜索 – 系…...

STM32 CAN模块原理与应用详解

目录 概述 一、CAN模块核心原理 1. CAN协议基础 2. STM32 CAN控制器结构 3. 波特率配置 二、CAN模块配置步骤&#xff08;基于HAL库&#xff09; 1. 初始化CAN外设 2. 配置过滤器 3. 启动CAN通信 三、数据收发实现 1. 发送数据帧 2. 接收数据帧&#xff08;中断方式…...

NO.29十六届蓝桥杯备战|string九道练习|reverse|翻转|回文(C++)

P5015 [NOIP 2018 普及组] 标题统计 - 洛谷 #include <bits/stdc.h> using namespace std;int main() {ios::sync_with_stdio(false);cin.tie(nullptr);string s;getline(cin, s);int sz s.size();int cnt 0;for (int i 0; i < sz; i){if (isspace(s[i]))continue…...

最新版本TOMCAT+IntelliJ IDEA+MAVEN项目创建(JAVAWEB)

前期所需&#xff1a; 1.apache-tomcat-10.1.18-windows-x64&#xff08;tomcat 10.1.8版本或者差不多新的版本都可以&#xff09; 2.IntelliJ idea 24年版本 或更高版本 3.已经配置好MAVEN了&#xff08;一定先配置MAVEN再搞TOMCAT会事半功倍很多&#xff09; 如果有没配置…...

MAC-禁止百度网盘自动升级更新

通过终端禁用更新服务(推荐)​ 此方法直接移除百度网盘的自动更新组件,无需修改系统文件。 ​步骤: ​1.关闭百度网盘后台进程 按下 Command + Space → 输入「活动监视器」→ 搜索 BaiduNetdisk 或 UpdateAgent → 结束相关进程。 ​2.删除自动更新配置文件 打开终端…...

Unity DOTS从入门到精通之EntityCommandBufferSystem

文章目录 前言安装 DOTS 包ECBECB可以执行的指令示例&#xff1a; 前言 DOTS&#xff08;面向数据的技术堆栈&#xff09;是一套由 Unity 提供支持的技术&#xff0c;用于提供高性能游戏开发解决方案&#xff0c;特别适合需要处理大量数据的游戏&#xff0c;例如大型开放世界游…...

【AIGC系列】6:HunyuanVideo视频生成模型部署和代码分析

AIGC系列博文&#xff1a; 【AIGC系列】1&#xff1a;自编码器&#xff08;AutoEncoder, AE&#xff09; 【AIGC系列】2&#xff1a;DALLE 2模型介绍&#xff08;内含扩散模型介绍&#xff09; 【AIGC系列】3&#xff1a;Stable Diffusion模型原理介绍 【AIGC系列】4&#xff1…...