Ubuntu系统部署.NET 8网站项目
一、使用XShell连接
Ubuntu系统初次连接时默认的用户名为:ubuntu,使用此用户名与系统登录密码进行连接。
登录成功效果如下图:
二、root用户登录
linux下有超级用户(root)和普通用户,普通用户不能直接操作没有权限的目录。初始超级用户(root)是没有密码,也就是说root用户不能用,但ubuntu提供了一种以普通用户执行超级管理权限的命令:sudo
2.1、设置root用户密码
sudo passwd root
输入以上命令,按下回车(Enter)之后,终端会提示你让你给root用户设置密码,设置新密码后继续确认新密码(密码是隐藏的,所以不会显示出来)。
看到“passwd: password updated successfully”之后,则代表超级用户(root)的密码设置成功!
2.2、以root用户登录
输入以下命令:
su 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
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
执行效果如下:
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
执行命令效果如下:
7.2、安装命令
sudo apt install postgresql postgresql-contrib
执行命令效果如下:
7.3、确认安装成功
查看安装版本
psql --version
查看PostgreSQL服务运行状态
sudo service postgresql status
7.4、验证安装
登录到 PostgreSQL 数据库,以验证安装是否成功。
sudo -u postgres psql
执行效果如下:
7.5、修改postgres用户的登录密码
安装之后,用户“postgres”默认没有登录密码,所以我们需要使用命令进行密码修改。
alter user postgres with password 'a@12345678';
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
7.6.2、修改postgresql.conf配置文件
执行命令,按“i”进入编辑模式:将postgresql.conf配置文件中的listen_addresses属性设置为"*",设置完成之后,按“ESC”,在输入“:wq”进行强制保存并退出。
sudo vim /etc/postgresql/16/main/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)”即可!
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
执行效果如下:
8.4.5、设置Web服务开机自启动
sudo systemctl enable web.service
执行效果如下:
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. 柠檬水找零 - 力扣(LeetCode) code class Solution { public:bool lemonadeChange(vector<int>& bills) {// 贪心算法, 优先花出大面额bill, 尽可能保护小面额billint five 0, ten 0;// 不…...
【从0到1搞懂大模型】神经网络的实现:数据策略、模型调优与评估体系(3)
一、数据集的划分 (1)按一定比例划分为训练集和测试集 我们通常取8-2、7-3、6-4、5-5比例切分,直接将数据随机划分为训练集和测试集,然后使用训练集来生成模型,再用测试集来测试模型的正确率和误差,以验证…...
CTF工具集合-持续更新
工具地址https://github.com/huan-cdm/ctf_tools工具介绍: 1.ARCHPR:压缩包密码破解工具 2.StegSolve-1.4.jar:隐写图片查看工具 3.ctf_decrypt_tool.rar:随波逐流CTF编码工具 4.010_Editor_All_Versions_For_Windows_CracKed.…...
小方摄像头接入本地服务器的方法
最早众筹时买了几个小方摄像头,后来嫌弃分辨率,就淘汰吃灰好几年,最近想折腾个摄像头识别的小项目,秉着不投入先凑合跑起来的原则,想到了尘封已久的小方,想看看能不能通过网络拉取数据流。 搜索了下&#x…...
取反符号~
取反符号 ~ 用于对整数进行按位取反操作。它会将二进制表示中的每一位取反,即 0 变 1,1 变 0。 示例 a 5 # 二进制表示为 0000 0101 b ~a # 按位取反,结果为 1111 1010(补码表示) print(b) # 输出 -6解释 5 的二…...
Jenkins实现自动化构建与部署:上手攻略
一、持续集成与Jenkins核心价值 1.1 为什么需要自动化构建? 在现代化软件开发中,团队每日面临以下挑战: 高频代码提交:平均每个开发者每天提交5-10次代码。多环境部署:开发、测试、预发布、生产环境需频繁同步。复杂…...
爱普生温补晶振 TG5032CFN高精度稳定时钟的典范
在科技日新月异的当下,众多领域对时钟信号的稳定性与精准度提出了极为严苛的要求。爱普生温补晶振TG5032CFN是一款高稳定性温度补偿晶体振荡器(TCXO)。该器件通过内置温度补偿电路,有效抑制环境温度变化对频率稳定性的影响&#x…...
【Java 面试 八股文】计算机网络篇
操作系统篇 1. 什么是HTTP? HTTP 和 HTTPS 的区别?2. 为什么说HTTPS比HTTP安全? HTTPS是如何保证安全的?3. 如何理解UDP 和 TCP? 区别? 应用场景?3.1 TCP 和 UDP 的特点3.2 适用场景 4. 如何理解TCP/IP协议?5. DNS协议 是什么?说说DNS 完整的查询…...
OpenHarmony5.0分布式系统源码实现分析—软总线
一、引言 OpenHarmony 作为一款面向万物互联的操作系统,其分布式软总线(Distributed SoftBus)是实现设备间高效通信和协同的核心技术之一。分布式软总线通过构建一个虚拟的总线网络,使得不同设备能够无缝连接、通信和协同工作。本…...
Spring Boot/Spring Cloud 整合 ELK(Elasticsearch、Logstash、Kibana)详细避坑指南
我们在开发中经常会写日志,所以需要有个日志可视化界面管理,使用ELK可以实现高效集中化的日志管理与分析,提升性能稳定性,满足安全合规要求,支持开发运维工作。 下述是我在搭建ELK时遇到的许许多多的坑,希望…...
云原生周刊:Istio 1.25.0 正式发布
开源项目推荐 Dstack Dstack 是一个开源的 AI 计算管理平台,旨在简化 AI 任务的部署和管理。它支持本地和云端运行 AI 工作负载,并提供自动化的 GPU 资源调度,使开发者能够更高效地利用计算资源。Dstack 兼容 K8s,可以无缝集成到…...
微前端如何拯救大型项目
前言 在前端开发的世界中,我们经常会遇到这样的问题:一个大型项目往往由多个团队共同开发,每个团队负责一部分功能。然而,随着项目的不断扩大和复杂化,前端代码库变得越来越庞大和难以维护。这时,微前端&a…...
RabbitMQ 高级特性:从 TTL 到消息分发的全面解析 (下)
RabbitMQ高级特性 RabbitMQ 高级特性解析:RabbitMQ 消息可靠性保障 (上)-CSDN博客 RabbitMQ 高级特性:从 TTL 到消息分发的全面解析 (下)-CSDN博客 引言 RabbitMQ 作为一款强大的消息队列中间件ÿ…...
OpenManus-通过源码方式本地运行OpenManus,含踩坑及处理方案
前言:最近 Manus 火得一塌糊涂啊,OpenManus 也一夜之间爆火,那么作为程序员应该来尝尝鲜 1、前期准备 FastGithub:如果有科学上网且能正常访问 github 则不需要下载此软件,此软件是提供国内直接访问 githubGit&#…...
Ubuntu22.04修改root用户并安装cuda
由于本人工作原因,经常会遇到需要给ubuntu打显卡驱动的问题,虽然说不难吧,但是耐不住机器多,重复多次也就烦了,于是抽出了一点时间,并且在deepseek的帮助之下,写了一个自动安装驱动的脚本&#…...
Java LeetCode 热题 100 回顾38
干货分享,感谢您的阅读!LeetCode 热题 100 回顾_力code热题100-CSDN博客 一、哈希部分 1.两数之和 (简单) 题目描述 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两…...
MySQL复习笔记
文章目录 1.MySQL1.1什么是数据库1.2 数据库分类1.3 MySQL简介1.4连接数据库 2. 操作数据库2.1 操作数据库2.2 数据库的列类型2.3 数据库的字段属性(重点)2.4 创建数据库表(重点)2.5 数据表的类型2.6 修改数据表 3. MySQL 数据管理…...
解释 TypeScript 中的类型系统,如何定义和使用类型?
1. 类型系统的核心作用 TypeScript类型系统本质上是JavaScript的静态类型增强方案,提供三个核心价值: 开发阶段类型检查(类似编译时eslint)更清晰的API文档(类型即文档)更好的IDE自动补全支持 代码示例&…...
安裝do時出現log file support is not available
“log file support is not available (press RETURN)” 这个提示信息表明日志文件支持不可用,让你按回车键继续。出现这种情况可能是因为 Odoo 的日志相关配置存在问题或者一些必要的依赖没有正确安装配置。以下是一些可以尝试的解决办法: 1. 检查 Odo…...
[HTTP协议]应用层协议HTTP从入门到深刻理解并落地部署自己的云服务(1)知识基础
[HTTP协议]应用层协议HTTP从入门到深刻理解并落地部署自己的云服务(1)知识基础 水墨不写bug 文章目录 (一)概念梳理1.什么是协议?2.什么是应用层?3. 为什么要进行分层? (二)HTTP协议2.1 初识HTTP协议2.2HTTP协议的URL2.2.1域名2.2.2端口号2…...
机票改签请求
示例代码: 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下,文件I/O是操作系统与文件系统之间进行数据传输的关键部分。文件I/O操作允许程序读取和写入文件,管理文件的打开、关闭、创建和删除等操作。 1. 文件描述符 在Linux中,每个打开的文件都由一个文件描述符来表示。文件描述符是一个非负…...
命名管道的创建和通信实现
目录 命名管道的创建 使用函数创建命名管道的通信 预备创建 makefile设计 server.hpp设计 clent.hpp设计 comm.hpp设计 server.cc设计 clent.cc设计 测试运行 今天我们来学习命名管道 由于匿名管道(pipe())无法在两个毫不相干的进程之间进行通…...
C++和OpenGL实现3D游戏编程【连载24】——父物体和子物体之间的坐标转换
欢迎来到zhooyu的C++和OpenGL游戏专栏,专栏连载的所有精彩内容目录详见下边链接: 🔥C++和OpenGL实现3D游戏编程【总览】 父子物体的坐标转换 1、本节要实现的内容 前面章节我们了解了父物体与子物体的结构,它不仅能够表示物体之间的层次关系,更重要的一个作用就是展示物…...
21.HarmonyOS Next CustomSlider组件步长控制教程(三)
温馨提示:本篇博客的详细代码已发布到 git : https://gitcode.com/nutpi/HarmonyosNext 可以下载运行哦! 文章目录 1. 步长控制概述2. 步长基本概念2.1 什么是步长?2.2 步长的作用 3. 设置步长3.1 基本参数3.2 代码示例 4. 步长与范围的关系4…...
小白学习:rag向量数据库
学习视频: https://www.bilibili.com/video/BV11zf6YyEnT/?spm_id_from333.337.search-card.all.click 例子: 用户提出问题 客服机器人基于rag回答用户问题 过程拆解: 客户问题 – 转化为向量表示 – 在向量数据库中进行相似性搜索 – 系…...
STM32 CAN模块原理与应用详解
目录 概述 一、CAN模块核心原理 1. CAN协议基础 2. STM32 CAN控制器结构 3. 波特率配置 二、CAN模块配置步骤(基于HAL库) 1. 初始化CAN外设 2. 配置过滤器 3. 启动CAN通信 三、数据收发实现 1. 发送数据帧 2. 接收数据帧(中断方式…...
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)
前期所需: 1.apache-tomcat-10.1.18-windows-x64(tomcat 10.1.8版本或者差不多新的版本都可以) 2.IntelliJ idea 24年版本 或更高版本 3.已经配置好MAVEN了(一定先配置MAVEN再搞TOMCAT会事半功倍很多) 如果有没配置…...
MAC-禁止百度网盘自动升级更新
通过终端禁用更新服务(推荐) 此方法直接移除百度网盘的自动更新组件,无需修改系统文件。 步骤: 1.关闭百度网盘后台进程 按下 Command + Space → 输入「活动监视器」→ 搜索 BaiduNetdisk 或 UpdateAgent → 结束相关进程。 2.删除自动更新配置文件 打开终端…...
Unity DOTS从入门到精通之EntityCommandBufferSystem
文章目录 前言安装 DOTS 包ECBECB可以执行的指令示例: 前言 DOTS(面向数据的技术堆栈)是一套由 Unity 提供支持的技术,用于提供高性能游戏开发解决方案,特别适合需要处理大量数据的游戏,例如大型开放世界游…...
【AIGC系列】6:HunyuanVideo视频生成模型部署和代码分析
AIGC系列博文: 【AIGC系列】1:自编码器(AutoEncoder, AE) 【AIGC系列】2:DALLE 2模型介绍(内含扩散模型介绍) 【AIGC系列】3:Stable Diffusion模型原理介绍 【AIGC系列】4࿱…...