全栈开发技术随笔
Git | Node.js | Redis | Nginx | Linux | MySQL 学习笔记
💡 本文档说明
汇集了全栈开发必备的核心技术栈笔记,包含实用命令、最佳实践和常见问题解决方案。
📚 目录
🗂️ Git版本控制
安装并配置环境变量
官网:https://git-scm.com/
安装Git,选择安装目录,然后一直点击next,直到出现install,点击install,安装完成后点击finish完成。
检查是否安装成功
|
|
配置用户名和邮箱
在桌面任意位置右键,点击 Git bash here,在弹出界面中输入
|
|
如果使用了 –global 选项,那么该命令只需要运行一次,因为之后无论你在该系统上做任何事情, Git 都会使用这些信息。 当想针对特定项目使用不同的用户名称与邮件地址时,可以在那个项目目录下运行没有 –global 选项的命令来配置。
使用 git config –global –list 命令,检查配置好没有
|
|
环境变量
win+r 输入 cmd 打开,输入命令行 where git 并回车,复制返回的地址。
|
|

配置好环境变量后,win+r 输入 cmd 打开,输入 git ,会弹出以下界面,说明安装配置成功。
阿里云效
在 Windows 系统的标准命令提示符(cmd)中,波浪线 ~符号无法被正确识别为用户主目录的缩写。
解决方法:在 Windows 搜索栏中输入 Git Bash 并打开它,在 Git Bash 中进行以下操作。
第 1 步:生成 SSH 密钥对
- 执行密钥生成命令
使用更现代的 ed25519 算法生成密钥
|
|
命令解释:
- ssh-keygen:用于生成、管理和转换 SSH 认证密钥的工具。
- -t ed25519:指定生成密钥的算法类型为 ed25519,这是一种既安全又高效的算法。
- -C “your_work_email@example.com”:在密钥中添加注释,通常填写你的工作邮箱。这个注释会出现在生成的公钥文件末尾,用于标识这个密钥的所有者。
- -f ~/.ssh/codeup_work:指定生成的密钥文件的路径和名称。这里我们自定义为 codeup_work,以便与可能存在的其他密钥(如 GitHub 的)区分开。
- 设置密钥口令
执行命令后,命令行会交互式地提示你:
|
|
命令解释:你可以为私钥设置一个口令(passphrase)。这相当于为私钥再加一把锁,即使私钥文件意外泄露,没有口令也无法使用。如果直接按回车,则表示不设置口令。
执行成功后,你会在 ~/.ssh/ 目录下得到两个文件:
- codeup_work:这是你的 私钥,必须严格保密,绝不能泄露给他人。
- codeup_work.pub:这是你的 公钥,需要上传到阿里云效。
第 2 步:添加公钥到阿里云效
- 查看并复制公钥内容
|
|
- 在云效平台添加公钥
- 登录阿里云效(https://codeup.aliyun.com/)。
- 点击页面右上角个人头像,进入 「个人设置」 -> 「SSH 公钥」。
- 点击 「添加 SSH 公钥」。
- 在 「公钥内容」 文本框中,粘贴你刚才复制的整个公钥内容(通常以 ssh-ed25519 …开头,以你的邮箱注释结尾)。
- 为公钥起一个易于识别的 「公钥标题」,比如“我的工作电脑”。
- 设置公钥的 「作用范围」(读写或只读)和 「过期时间」,然后点击添加。
第 3 步:配置 SSH 客户端
为了让你的 SSH 客户端在访问阿里云效时能自动识别并使用正确的私钥,需要创建或修改 SSH 的配置文件。
- 创建或编辑配置文件
在终端中,使用文本编辑器(如 vim、nano或 code)打开 ~/.ssh/config文件。如果文件不存在,编辑器会新建一个。
|
|
- 添加云效配置
在文件中添加以下内容:
|
|
配置解释:
- Host codeup.aliyun.com:定义一个主机别名。当你在命令行中访问 git@codeup.aliyun.com时,就会应用此配置块的规则。
- HostName codeup.aliyun.com:指定真实的主机名。
- IdentityFile ~/.ssh/codeup_work:这是最关键的一行,它明确指定了在连接到此主机时使用的私钥文件路径,即我们刚刚生成的 codeup_work。
- PreferredAuthentications publickey:优先使用公钥认证。
- IdentitiesOnly yes:只使用配置文件中指定的密钥进行身份验证,避免 SSH 客户端尝试其他不相关的密钥。
第 4 步:测试连接配置
配置完成后,最好测试一下是否成功。
执行以下命令来验证连接:
|
|
命令解释:
- -T:这个选项表示不分配伪终端(PTY),因为我们只是测试认证是否通过,不需要真正的 Shell 交互。
- 如果配置正确,你会看到一条欢迎信息,内容可能包含你的云效用户名,这表明你已经成功通过 SSH 密钥认证。
第 5 步:在 Git 项目中使用
现在,你可以在克隆项目或修改远程仓库地址时使用 SSH 协议了。
- 克隆项目:复制项目提供的 SSH 地址(格式为 git@codeup.aliyun.com:…),直接使用 git clone命令即可。因为我们已经配置了 config文件,它会自动使用正确的密钥。
|
|
- 修改现有项目的远程地址:如果你的项目之前使用的是 HTTPS 协议,可以修改为 SSH。
|
|
GitHub
第 1 步:生成 SSH 密钥对
在 Git Bash 中执行以下命令:
|
|
参数解释:
- -t ed25519:使用高效的加密算法
- -C “your_email@163.com”:替换为您的 GitHub 注册邮箱
- -f ~/.ssh/github_key:指定密钥文件名(与阿里云效的不同)
第 2 步:查看并复制公钥
生成成功后,查看公钥内容:
|
|
选中显示的全部内容(以 ssh-ed25519开头,邮箱结尾)并复制。
第 4 步:将公钥添加到 GitHub
- 登录 GitHub → 点击头像 → Settings
- 左侧菜单选择 SSH and GPG keys
- 点击 New SSH key
- 填写标题(如 “My Windows PC”),粘贴公钥内容
- 点击 Add SSH key
第 5 步:配置 SSH 客户端
编辑 SSH 配置文件,确保连接 GitHub 时使用正确的密钥:
|
|
添加以下内容(如果文件已存在,追加在末尾):
|
|
第 6 步:测试连接
|
|
如果看到 “You’ve successfully authenticated…” 的欢迎信息,说明配置成功!
多账号管理技巧
如果您同时需要连接阿里云效和 GitHub,完整的 ~/.ssh/config文件应该这样配置:
|
|
这样系统就会根据您访问的域名自动选择对应的密钥进行认证。
关键提醒:始终使用 Git Bash 而不是 cmd 来执行 SSH 和 Git 相关命令,这样可以避免很多路径识别问题。
config位置:
C:\Users\用户名\.ssh
常见场景处理
Zip下载项目同步最新代码
场景描述: 从GitHub下载压缩包解压使用,需要同步项目最新更新
解决方案:
|
|
常见问题处理:
-
未跟踪文件冲突
1 2git status # 查看状态 # 按提示手动处理冲突文件 -
完全覆盖本地更改
1 2git fetch origin git reset --hard origin/main
⚠️ 警告: 强制覆盖会丢失所有本地更改,请谨慎使用
网络连接问题
OpenSSL SSL连接错误解决方案:
|
|
⚡ Node.js后端开发
基础配置
环境介绍
Node.js核心特性:
- 基于Chrome V8引擎的JavaScript运行环境
- 事件驱动、非阻塞式I/O模型
- 轻量高效的后端解决方案
- npm作为全球最大的开源库生态系统
安装配置
Node.js核心特性:
- 基于Chrome V8引擎的JavaScript运行环境
- 事件驱动、非阻塞式I/O模型
- 轻量高效的后端解决方案
- npm作为全球最大的开源库生态系统
安装流程:
-
访问官网下载:Node.js官网

图1: Node.js官方下载页面 -
下载后启动安装程序,一直点击
next即可 -
在
DOS窗口中,输入命令查看是否安装成功
图2: 验证Node.js和npm安装成功 说明:新版的 Node.js 已自带 npm,安装 Node.js 时会一起安装,npm 的作用就是对 Node.js 依赖的包进行管理,也可以理解为用来安装/卸载 Node.js 需要装的东西。
🎯 环境优化配置详解
背景说明:这里的环境配置主要配置的是
npm安装的全局模块所在的路径,以及缓存cache的路径。之所以要配置,是因为执行类似npm install express [-g](-g代表global全局安装)的安装语句时,npm 会将安装的模块默认安装到C:\Users\用户名\AppData\Roaming\npm路径中,长期使用会占用系统C盘空间。
配置目标: 将全局模块和缓存目录重定向到Node.js安装目录
步骤一:创建专用目录
-
在Node.js安装文件夹
D:\Program Files\nodejs下创建两个文件夹:node_global- 用于存放全局npm模块node_cache- 用于存放npm缓存

图3: 创建node_global和node_cache文件夹 重要提醒:这两个文件夹需要打开修改权限,否则会报错没有权限(右键 → 属性 → 安全 → 编辑 → 给予完全控制权限)
步骤二:配置npm路径
-
打开
CMD命令窗口,输入以下命令:1 2npm config set prefix "D:\Program Files\nodejs\node_global" npm config set cache "D:\Program Files\nodejs\node_cache"
图4: 配置npm全局模块和缓存路径
步骤三:设置系统环境变量
-
右键
我的电脑→属性→高级系统设置→高级→环境变量 -
在
系统变量部分新建以下变量:NODE_PATH=D:\Program Files\nodejs\node_global\node_modules- 在
Path变量中添加:D:\Program Files\nodejs\node_global

图5: 新建NODE_PATH系统变量 
图6: 在Path中添加node_global路径
步骤四:功能测试
-
全局安装常用模块测试:
1npm install -g express
图7: 全局安装express模块 -
再次安装其他模块验证:
1npm install -g vue -
验证安装结果:

图8: 验证全局模块已安装到指定目录 ✅ 成功标志:可以看到全局包
vue和express已经正确安装到我们设置的自定义目录D:\Program Files\nodejs\node_global中,而不是默认的C盘路径。
文件操作详解
四种文件读取方式对比
| 方法 | 类型 | 特点 | 适用场景 |
|---|---|---|---|
fs.readFile |
异步回调 | 非阻塞 | 简单异步操作 |
fs.readFileSync |
同步 | 阻塞主线程 | 脚本初始化 |
fs.promises.readFile |
Promise | 现代异步 | 需要链式调用 |
fs.createReadStream |
流式 | 内存友好 | 大文件处理 |
代码示例:
|
|
📝 提示: 不指定编码时,数据以Buffer形式返回
🚀 Redis缓存系统
Redis Stream消息队列
Redis Stream是Redis 5.0引入的强大消息队列功能,支持消费者组、消息持久化等高级特性。
基础操作
|
|
消息所有权转移
在消费者组内转移消息所有权:
|
|
参数说明:
<key>: 流的键名(如:user)<group>: 消费者组名称(如:deepseek_group)<new-consumer>: 新的消费者名称<min-idle-time>: 最小空闲时间(毫秒)<ID-1>: 要转移的消息ID
消息状态查询
查看待处理消息详情:
|
|
示例返回:
1) (integer) 1 # 总待处理消息数
2) "1760073567441-0" # 最小消息ID
3) "1760073567441-0" # 最大消息ID
4) 1) 1) "xxx" # 消费者名称
2) "1" # 该消费者待处理消息数查看消息重试次数:
|
|
返回信息解析:
1) 1) "1761900913514-0" # 消息ID
2) "xxx" # 当前持有者
3) (integer) 189763455 # 空闲时间(毫秒)
4) (integer) 1 # 重试次数消息确认
|
|
🌐 Nginx服务器
常用管理命令
|
|
💡 最佳实践: 每次修改配置后,先用
-t检查语法,再进行重启操作
🐧 Linux系统管理
文件传输
Docker镜像传输
|
|
防火墙管理
IP访问控制
|
|
端口管理
|
|
Docker容器管理
常用命令
|
|
数据卷挂载
|
|
挂载说明:
- 左侧为主机路径,右侧为容器内路径
- 数据持久化存储在主机,确保容器删除后数据不丢失
权限管理
|
|
🗄️ MySQL数据库
🔧 远程连接配置
🌍 启用局域网访问
在开发和生产环境中,经常需要从其他机器访问MySQL数据库。默认情况下,MySQL只允许本地连接,需要进行相应配置才能启用远程访问。
问题场景: 局域网内MySQL连接被拒绝
解决方案: 通过修改用户权限配置允许远程连接
📋 详细配置步骤
步骤一:连接数据库服务器
- 使用
Navicat for MySQL或其他数据库管理工具连接MySQL服务器 - 输入正确的连接信息(主机、端口、用户名、密码)
步骤二:访问系统数据库
- 在连接成功后,在连接列表中找到并双击
mysql系统数据库 - 该数据库包含MySQL服务器的系统信息和用户权限数据
步骤三:修改用户权限配置
-
在
mysql数据库中找到user数据表并打开 -
定位需要用于远程连接的目标用户记录
-
找到
host字段,将其值从localhost修改为%
图9: 在user表中修改host字段为% 说明:
%是通配符,表示允许该用户从任何主机连接数据库
步骤四:应用权限变更
步骤五:验证配置
- 在远程机器上尝试连接数据库
- 确认连接成功且具有相应权限
⚠️ 安全提醒: 修改前请确认该用户的权限范围符合安全要求,过于宽泛的权限可能带来安全风险
🛡️ 安全最佳实践
- 限制IP范围: 生产环境建议将
%改为具体的IP地址或IP段 - 最小权限原则: 只授予必要的权限给远程用户
- 强密码策略: 确保远程连接使用强密码
- 定期审计: 定期检查和清理不必要的用户权限
🔍 查看用户信息
在数据库管理过程中,有时需要查看MySQL的用户信息和认证字符串。
📊 查看所有用户详情
SQL查询语句:
|
|
执行查询:

查询结果说明:
HOST:用户允许连接的主机地址USER:用户名authentication_string:密码的MD5加密字符串
🔓 密码解密方法
由于MySQL将密码存储为MD5加密字符串,有时需要解密查看原始密码:
在线解密网站:
- 主要推荐:https://md5.cc
- 备选方案:可搜索"MD5在线解密"找到其他可靠网站
解密操作步骤:
- 复制查询结果中的
authentication_string值 - 访问MD5解密网站
- 在搜索框中输入加密字符串
- 点击解密按钮获取原始密码

💡 使用场景: 密码解密常用于数据库迁移、系统维护或忘记密码时的情况
⚠️ 注意事项:
- MD5加密不可逆,解密成功率取决于密码复杂度
- 对于安全性要求较高的环境,应优先考虑重置密码而不是解密
🔄 重置用户密码(推荐)
如果解密失败或为了提高安全性,建议直接重置密码:
|
|
💡 最佳实践: 在生产环境中,建议使用更安全的认证方式,如
mysql_native_password或caching_sha2_password
