commit f66d72565ec5c0594e5f2c6c05ea1ade4f80d2ca Author: zpc Date: Fri May 31 17:55:08 2024 +0800 添加文档 diff --git a/.net/.net 8.md b/.net/.net 8.md new file mode 100644 index 0000000..08a0f78 --- /dev/null +++ b/.net/.net 8.md @@ -0,0 +1,25 @@ +# [Ubuntu 22.04安装.net 8](https://learn.microsoft.com/zh-cn/dotnet/core/install/linux-ubuntu-2204) + +```sh +# 更新包 +sudo apt-get update +# 安装.net 8 +sudo apt-get install -y dotnet-sdk-8.0 + +``` + +# 运行 +```sh +#恢复依赖 +dotnet restore + + +#编译项目 +dotnet build + +# 查看版本列表 +dotnet --list-sdks + +# 发布项目 +dotnet publish -c Release +``` diff --git a/.net/grpc.md b/.net/grpc.md new file mode 100644 index 0000000..73a2944 --- /dev/null +++ b/.net/grpc.md @@ -0,0 +1,46 @@ +# gRPC服务 + +## 在已有.net code 中添加gRPC服务器 +### 1.按照包 +```C# +dotnet add package Grpc +dotnet add package Grpc.Tools +dotnet add package Grpc.AspNetCore +``` + +RegionStatisticsClientServer + +### 2.添加 .proto 文件 +helloworld.proto +```C# +syntax = "proto3"; + +package HelloWorld; + +service Greeter { + rpc SayHello (HelloRequest) returns (HelloReply) {} +} + +message HelloRequest { + string name = 1; +} + +message HelloReply { + string message = 1; +} +``` + +### 3.配置 csproj 文件 +```C# + + + +``` + +### 4.生成代码 + +### +```C# + +``` + \ No newline at end of file diff --git a/Git/git.md b/Git/git.md new file mode 100644 index 0000000..0479865 --- /dev/null +++ b/Git/git.md @@ -0,0 +1,102 @@ +# git + +# 常用命令 + +```sh +# 拉取代码 + git clone [url] + # git clone git@192.168.1.33:mogu_server/sunnysports.git + +# 更新代码 +git pull + +# 添加到暂存区 +git add . + +# 提交代码 +git commit -m "提交内容" + +# 推送代码 +git push + +# 切换分支 +git checkout <分支名称> +git checkout dev-sunny +#查看提交历史记录。 +git log + +#比较当前文件与暂存区或HEAD的差异。 +git diff + +#将当前工作区的修改保存起来,以便稍后恢复。 +git stash + +#恢复之前保存的修改,并删除对应的stash。 +git stash pop + +#安装子模块 +git submodule init +git submodule update + +``` + +# 创建ssh证书 +## 1.启动Git Bash: +## 2.生成新的SSH密钥 +```sh + ssh-keygen -t rsa -b 4096 -C "your_email@example.com" + + ssh-keygen -t rsa -b 4096 -C "zpc@pc" +``` +## 3.设置SSH代理 在某些系统上,你可能需要在每次启动计算机时添加SSH密钥到SSH代理。可以使用以下命令: +``` sh +eval "$(ssh-agent -s)" +ssh-add ~/.ssh/id_rsa +``` +## 5.复制公钥:使用以下命令将公钥复制到剪贴板: +```sh +cat ~/.ssh/id_rsa.pub | clip +``` +## 6.验证 +```sh +ssh -T git@192.168.1.33 +ssh -T git@github.com +``` +ssh-copy-id -i ~/.ssh/id_rsa ubuntu@1.117.87.77 + +# Ubuntu 添加git +``` sh +sudo apt update +sudo apt install git +git --version +``` +## 圣剑 + + + +cat ~/.ssh/id_rsa.pub + +eval "$(ssh-agent -s)" ssh-add ~/.ssh/id_rsa + +ssh -T git@192.168.1.33 + +ssh-keygen -t rsa -b 4096 -C "zpc1131" +ssh-keygen -t rsa -b 4096 -C "zpc1131@gmail.com" +ssh -T git@github.com +### 拉取 +``` sh +git clone git@192.168.1.33:mogu_server/sunnysports.git + +``` +ssh-copy-id -i D:/ssh/229.pub root@192.168.1.229 + +eval "$(ssh-agent -s)" ssh-add D:/ssh/229 + +eval "$(ssh-agent -s)" ssh-add ~/.ssh/229 +ssh root@192.168.1.229 -i ~/.ssh/229_rsa +```sh +ssh-keygen -t rsa -b 4096 -C "zhangzhe@wsl" +/home/z/.ssh/229_rsa +eval "$(ssh-agent -s)" ssh-add /home/z/.ssh/229_rsa + ssh-copy-id -i /home/z/.ssh/229_rsa.pub root@192.168.1.229 +``` \ No newline at end of file diff --git a/SQL Server/设置sqlserver占用内存.sql b/SQL Server/设置sqlserver占用内存.sql new file mode 100644 index 0000000..5223b81 --- /dev/null +++ b/SQL Server/设置sqlserver占用内存.sql @@ -0,0 +1,9 @@ +EXEC sp_configure 'show advanced options', 1; +RECONFIGURE; +EXEC sp_configure 'max server memory (MB)'; +EXEC sp_configure 'min server memory (MB)'; + + +EXEC sp_configure 'max server memory (MB)', 10240; -- 10GB in MB +EXEC sp_configure 'min server memory (MB)', 4096; -- 4GB in MB +RECONFIGURE; \ No newline at end of file diff --git a/linux/Gitea.md b/linux/Gitea.md new file mode 100644 index 0000000..2deccae --- /dev/null +++ b/linux/Gitea.md @@ -0,0 +1,57 @@ +# Gitea +搭建私有Git服务器 +## +```sh +sudo apt update +sudo apt install git wget -y +# 创建git用户 +sudo adduser --system --shell /bin/bash --gecos 'Git Version Control' --group --disabled-password --home /home/git git +# 下载代码 +wget -O /tmp/gitea https://dl.gitea.io/gitea/1.16.7/gitea-1.16.7-linux-amd64 +wget -O /tmp/gitea https://dl.gitea.com/gitea/1.22.0/gitea-1.22.0-linux-amd64 +# 将下载的文件移动到合适的位置并赋予执行权限 +sudo mv /tmp/gitea /usr/local/bin/gitea +sudo chmod +x /usr/local/bin/gitea +# 创建所需的目录: +sudo mkdir -p /var/lib/gitea/{custom,data,log} +sudo chown -R git:git /var/lib/gitea/ +sudo chmod -R 750 /var/lib/gitea/ +sudo mkdir /etc/gitea +sudo chown root:git /etc/gitea +sudo chmod 770 /etc/gitea +# 创建服务文件: +sudo nano /etc/systemd/system/gitea.service + +# 添加内容 +[Unit] +Description=Gitea +After=syslog.target +After=network.target +[Service] +RestartSec=2s +Type=simple +User=git +Group=git +WorkingDirectory=/var/lib/gitea/ +ExecStart=/usr/local/bin/gitea web --config /etc/gitea/app.ini +Restart=always +Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea/ +[Install] +WantedBy=multi-user.target + +#重新加载systemd并启动Gitea: +sudo systemctl daemon-reload +sudo systemctl enable gitea +sudo systemctl start gitea +sudo systemctl status gitea +# 可选,放开防火墙 +sudo ufw allow 3000/tcp +sudo ufw reload +``` + +## 配置项 +1. 数据库文件路径:/var/lib/gitea/data/gitea.db +2. 仓库根目录:/var/lib/gitea/data/gitea-repositories +3. LFS根目录:/var/lib/gitea/data/lfs +4. 日志路径:/var/lib/gitea/log +5. 管理员账号:huanmeng 9-9jYRqeywr!SA3 huanmeng@admin.com \ No newline at end of file diff --git a/linux/MySql安装使用.md b/linux/MySql安装使用.md new file mode 100644 index 0000000..9677e4c --- /dev/null +++ b/linux/MySql安装使用.md @@ -0,0 +1,75 @@ +#
mysql 安装记录
+ +## 操作环境 Ubuntu 22.04.2 LTS + +### 使用 apt 方式安装 + +```sh +#更新系统的软件包列表 +sudo apt update + +#查看可用的mysql版本 +apt list -a mysql-server + +#安装MySQL服务器 +sudo apt install mysql-server + +#安装特定版本,将 替换为你想要安装的具体版本号 +sudo apt-get install mysql-server= +sudo apt-get install mysql-server=5.7.35-1ubuntu18.04 + +#锁定版本(可选) +sudo apt-mark hold mysql-server + +#安装完成后,可以运行以下命令来启动MySQL服务 +sudo service mysql start + +#停止 MySQL 服务 +sudo service mysql stop + +#检查MySQL服务状态 +sudo service mysql status + +#(可选) 为了增加MySQL的安全性,你可以运行MySQL安全性脚本: +sudo mysql_secure_installation + +#使用 apt-get 删除 MySQL 软件包 +sudo apt-get purge mysql-server mysql-client mysql-common mysql-server-core-* mysql-client-core-* + +#删除 MySQL 数据目录 +sudo rm -rf /etc/mysql /var/lib/mysql +``` + +### MySQL 的二进制发行版,手动安装 + +## 常用语句 + +```sh +#登录 +mysql -u 用户名 -p +#刷新权限 +FLUSH PRIVILEGES; +#退出mysql +exit; +``` + +### 常见问题 + +#### 安装完成后登录不上去 + +第一次登录时没有密码,造成无法登录这是由于 MYSQL 数据库一开始生成了一个随机密码 +解决方案: +方案 1.使用命令查看随机密码,利用该文件中的 user 和 password 登录 + +```sh +sudo cat /etc/mysql/debian.cnf + +#mysql -u debian-sys-maint -p +#mQxsCvggohEqn2rN +``` + +方案 2.修改密码,修改的密码可能要和 mysql 的规则一直 + +```sh +GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY "密码"; +``` diff --git a/linux/SQL Server安装记录.md b/linux/SQL Server安装记录.md new file mode 100644 index 0000000..0182fde --- /dev/null +++ b/linux/SQL Server安装记录.md @@ -0,0 +1,28 @@ +#
SQL Server安装记录
+ +## 操作环境 Ubuntu 22.04.2 LTS + +## [安装帮助文档](https://learn.microsoft.com/zh-cn/sql/linux/quickstart-install-connect-ubuntu?view=sql-server-linux-ver15&preserve-view=true&tabs=ubuntu2004#install) + +### 安装方法 +1.导入公共存储库 GPG 密钥 +```sh + curl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc +``` +2.注册 SQL Server Ubuntu 存储库: +```sh + sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/20.04/mssql-server-2019.list)" +``` +3.运行以下命令以安装 SQL Server: +```sh + sudo apt-get update + sudo apt-get install -y mssql-server +``` +4.启动配置 +```sh +sudo /opt/mssql/bin/mssql-conf setup +``` +4.停止sqlserver +```sh +sudo systemctl stop mssql-server +``` \ No newline at end of file diff --git a/linux/Shadowsocks.md b/linux/Shadowsocks.md new file mode 100644 index 0000000..5c9fbab --- /dev/null +++ b/linux/Shadowsocks.md @@ -0,0 +1,41 @@ +# 机场 Shadowsocks +可以通过v2rayN进行代理连接,实现翻墙 +## Shadowsocks 安装 +```sh +sudo apt update +# 安装包 +sudo apt install shadowsocks-libev -y +# 配置 Shadowsocks,创建并编辑 Shadowsocks 的配置文件。这个文件通常位于 /etc/shadowsocks-libev/config.json。 +sudo nano /etc/shadowsocks-libev/config.json +# 配置项 +{ + "server":["::1", "127.0.0.1"], + "mode":"tcp_and_udp", + "server_port":8388, + "local_port":1080, + "password":"07RT9gL2zLZ2", + "timeout":86400, + "method":"chacha20-ietf-poly1305" +} + +# 启动和设置开机自启 +sudo systemctl start shadowsocks-libev +sudo systemctl enable shadowsocks-libev +# 配置防火墙 +sudo ufw allow 8388/tcp +sudo ufw allow 8388/udp +sudo ufw reload + +# 检测服务状态 +sudo systemctl status shadowsocks-libev + + +``` +### 配置项解释 +"server": ["::1", "127.0.0.1"]:定义服务器地址。::1 是 IPv6 的本地回环地址,127.0.0.1 是 IPv4 的本地回环地址。这意味着当前配置只会监听本地回环接口。 +"mode": "tcp_and_udp":定义 Shadowsocks 工作模式,这里配置为同时支持 TCP 和 UDP 协议。 +"server_port": 8388:定义服务器监听的端口,这里设置为 8388。 +"local_port": 1080:定义本地代理的端口,这里设置为 1080。 +"password": "07RT9gL2zLZ2":定义连接到代理服务器时需要使用的密码。 +"timeout": 86400:定义连接超时时间,单位为秒,这里设置为 86400 秒(即 24 小时)。 +"method": "chacha20-ietf-poly1305":定义加密方法,这里使用 chacha20-ietf-poly1305,这是一种安全性较高的加密算法。 \ No newline at end of file diff --git a/linux/ffmpeg.md b/linux/ffmpeg.md new file mode 100644 index 0000000..0c675e6 --- /dev/null +++ b/linux/ffmpeg.md @@ -0,0 +1,10 @@ +## 推取视频 + +```sh +nohup ffmpeg -re -stream_loop -1 -i /disk/ai_sports/data/sunny_sports/6MM20240327161002.mp4 -c copy -f rtsp rtsp://127.0.0.1:8554/stream_sunny_6MM20240327161002 >/dev/null 2>&1 & + + +``` + +rtsp://192.168.1.229:8554/stream_sunny_6MM20240327161002 +rtsp://192.168.1.229:8554/stream_sunny_8MM20240327160349 \ No newline at end of file diff --git a/linux/liunx使用记录.md b/linux/liunx使用记录.md new file mode 100644 index 0000000..9d4bac1 --- /dev/null +++ b/linux/liunx使用记录.md @@ -0,0 +1,92 @@ +#
liunx 使用记录
+ +## 基础命令 + +```sh +#关机 +sudo shutdown now + +#查看发行版信息 +lsb_release -a + +#查看内核版本: +uname -a + +#查看系统信息 +hostnamectl + +#安装ip查看工具 +sudo apt-get install net-tools + +#查看IP +ifconfig + +#查看端口是否打开,有输出为开启,没有输出为关闭 +lsof -i:3306 + +#开发防火墙的3306端口 +sudo ufw allow 3306/tcp + +# 创建文件夹(disk 文件夹名称) +sudo mkdir /disk + +# 获取权限 +sudo chmod -R 777 * +sudo chmod 777 myfolder + +# 删除文件夹 +sudo rm -r /disk/sunnysports +``` + +### 常用命令 + +```sh +#文件和目录操作: +ls: 列出目录内容。 +cd: 切换目录。 +pwd: 显示当前工作目录的路径。 +cp: 复制文件或目录。 +mv: 移动或重命名文件或目录。 +rm: 删除文件或目录。 +mkdir: 创建目录。 +chmod: 修改文件或目录的权限。 +chown: 修改文件或目录的所有者。 + +#文件查看和编辑: +cat: 显示文件内容。 +less: 分页查看文件内容。 +head: 显示文件的开头部分。 +tail: 显示文件的结尾部分。 +nano 或 vim: 文本编辑器。 + +#系统信息和管理: +uname: 显示系统信息。 +df: 显示磁盘空间使用情况。 +du: 显示目录空间使用情况。 +top 或 htop: 显示系统资源使用情况。 +ps: 显示当前运行的进程。 +kill: 终止进程。 +shutdown 或 reboot: 关闭或重启系统。 + +#用户和权限管理: +whoami: 显示当前登录的用户名。 +who: 显示当前登录用户的信息。 +sudo: 以超级用户权限执行命令。 +adduser 或 useradd: 添加新用户。 +passwd: 修改用户密码。 +groups: 显示用户所属的组。 +visudo: 编辑 sudoers 文件,配置用户权限。 + +#网络相关: +ping: 测试网络连接。 +ifconfig: 或 ip: 显示网络接口信息。 +netstat: 显示网络状态。 +traceroute 或 mtr: 追踪网络路由。 +wget 或 curl: 下载文件。 +ssh: 远程登录。 + +#压缩和解压: +tar: 打包和解压文件。 +gzip 或 gunzip: 压缩和解压 gzip 格式的文件。 +zip 或 unzip: 压缩和解压 zip 格式的文件。 +``` diff --git a/linux/make.md b/linux/make.md new file mode 100644 index 0000000..ce6facc --- /dev/null +++ b/linux/make.md @@ -0,0 +1,9 @@ +## make + +```sh +sudo apt update +sudo apt install make +make --version + + +``` \ No newline at end of file diff --git a/linux/nano.md b/linux/nano.md new file mode 100644 index 0000000..df1799e --- /dev/null +++ b/linux/nano.md @@ -0,0 +1,35 @@ +# nano文本编辑 + +## 安装 +```sh +apt-get install -y nano +``` + +## 使用语法 + ```sh +nano <文件名或文件绝对路径> +# 使用示例 +nano vvhan.com.txt +nano /root/vvhan.com.txt +``` +当你打开一个不存在的文件,那么即为新建文件。打开文件后,就可以直接编辑了。 +## 使用教程 +```sh +Ctrl+G,显示帮助文本 +Ctrl+O,保存当前文件 +Ctrl+R,读取其他文件并插入光标位置 +Ctrl+Y,跳至上一屏幕 +Ctrl+K,剪切当前一行 +Ctrl+C,显示光标位置 +Ctrl+X,退出编辑文本 +Ctrl+J,对其当前段落(以空格为分隔符) +Ctrl+W,搜索文本位置 +Ctrl+V,跳至下一屏幕 +Ctrl+U,粘贴文本至光标处 +Ctrl+T,运行拼写检查 +Ctrl+_,跳转到某一行 +ALT+U,撤销 +ALT+E,重做 +ALT+Y, 语法高亮 +ALT+#,显示行号 +``` \ No newline at end of file diff --git a/linux/nginx.md b/linux/nginx.md new file mode 100644 index 0000000..a349d25 --- /dev/null +++ b/linux/nginx.md @@ -0,0 +1,101 @@ +# Nginx + +## 常用命令 +```sh +# 启动 Nginx 服务 +sudo systemctl start nginx +# 关闭 +sudo systemctl stop nginx +# 重启 +sudo systemctl restart nginx +# 重新加载 Nginx 以应用更改 +sudo systemctl reload nginx + +# 默认目录 +cd /var/www/ +# 配置文件 +cd /etc/nginx/ +/etc/nginx/nginx.conf + +#测试 Nginx 配置是否正确 +sudo nginx -t + +``` + +## 在 Ubuntu 22.04 上安装和配置 Nginx + +### 安装 +```sh +#首先,确保您的软件包索引是最新的: +sudo apt update +#步骤 2:安装 Nginx +sudo apt install nginx +#步骤 3:启动 Nginx 服务 +sudo systemctl start nginx +#步骤 4:使 Nginx 服务开机自启 +sudo systemctl enable nginx +#步骤 5:检查 Nginx 状态 +sudo systemctl status nginx +#步骤 6:配置防火墙 +sudo ufw allow 'Nginx Full' + +``` + +### 配置ssh +常见的存放路径是 /etc/nginx/ssl/ +```sh +sudo mkdir -p /etc/nginx/ssl +sudo cp /path/to/your/example.com.crt /etc/nginx/ssl/ +sudo cp /path/to/your/example.com.key /etc/nginx/ssl/ + +``` +```sh +server { + listen 443 ssl; + server_name api.zpc-xy.com; + + ssl_certificate /etc/nginx/ssl/api.zpc-xy.com_nginx/api.zpc-xy.com_bundle.crt; + ssl_certificate_key ssl/api.zpc-xy.com_nginx/api.zpc-xy.com.key; + + # ssl_protocols TLSv1.2 TLSv1.3; # 仅使用 TLS 1.2 和 1.3 + # ssl_ciphers HIGH:!aNULL:!MD5; # 配置强密码套件 + + # location / { + # proxy_pass http://localhost:3000; # 例如,如果你有一个后端应用运行在端口3000 + # proxy_set_header Host $host; + # proxy_set_header X-Real-IP $remote_addr; + # proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + # proxy_set_header X-Forwarded-Proto $scheme; + # } +} +``` + ### 配置文件 +```bash +# 基础配置 +server { + listen 80; + server_name example.com www.example.com; + + root /var/www/example.com/html; + index index.html index.htm index.nginx-debian.html; + + location / { + try_files $uri $uri/ =404; + } +} + +server { + # 添加虚拟目录映射 + location /output/ { + # alias /disk/ai_sports/DataGateway/output/; + # 或者使用 root 指令(视具体情况而定) + root /disk/ai_sports/DataGateway/output/; + + # 可选配置:根据需要添加其他指令,如访问控制、缓存策略等 + autoindex on; # 如果希望列出目录内容 + # expires 30d; # 设置静态资源缓存过期时间 + # try_files $uri $uri/ =404; # 用于处理目录索引和文件不存在的情况 + } + } +``` + \ No newline at end of file diff --git a/linux/ssh.md b/linux/ssh.md new file mode 100644 index 0000000..60a8d8f --- /dev/null +++ b/linux/ssh.md @@ -0,0 +1,53 @@ +# windwos ssh 创建 +```sh +ssh-keygen -t rsa -b 4096 -C "zhangzhe@pc" +# 输入路径 /c/Users/admin/.ssh/229_rsa +# 创建的路径不能有公共的读写权限 +eval "$(ssh-agent -s)" ssh-add ~/.ssh/229_rsa +ssh-copy-id -i ~/.ssh/229_rsa.pub root@192.168.1.229 +# 远程的时候可以添加密钥文件地址cd +ssh root@192.168.1.229 -i ~/.ssh/229_rsa +``` + +# linux ssh 创建 +```sh +ssh-keygen -t rsa -b 4096 -C "zhangzhe@wsl" +# /home/z/.ssh/229_rsa +eval "$(ssh-agent -s)" ssh-add /home/z/.ssh/229_rsa +ssh-copy-id -i /home/z/.ssh/229_rsa.pub root@192.168.1.229 + # 远程的时候可以添加密钥文件地址 +ssh root@192.168.1.229 -i ~/.ssh/229_rsa + +ssh root@192.168.1.229 -i ~/.ssh/229_rsa "cd /disk/work/sj_git/sunnysports/;make build-data" + +``` +ssh-copy-id -i /root/.ssh/id_rsa.pub + +# linux ssh 线上 +```sh +ssh-keygen -t rsa -b 4096 -C "zhangzhe@wsl" +# /home/z/.ssh/25_rsa +eval "$(ssh-agent -s)" ssh-add /home/z/.ssh/25_rsa +ssh-copy-id -i /home/z/.ssh/25_rsa.pub root@192.144.132.25 + # 远程的时候可以添加密钥文件地址 +ssh root@192.144.132.25 -i ~/.ssh/25_rsa +``` + +```sh +ssh-keygen -t rsa -b 4096 -C "zhangzhe@pc" +# 输入路径 /c/Users/admin/.ssh/25_rsa +# 创建的路径不能有公共的读写权限 +eval "$(ssh-agent -s)" ssh-add ~/.ssh/id_rsa +ssh-copy-id -i ~/.ssh/25_rsa.pub root@192.144.132.25 +# 远程的时候可以添加密钥文件地址 +ssh root@192.144.132.25 -i ~/.ssh/25_rsa +``` +ssh-copy-id -i ~/.ssh/id_rsa.pub ubuntu@1.117.87.77 +eval "$(ssh-agent -s)" ssh-add ~/.ssh/id_rsa +1.117.87.77 +dbt@com@1234 +ssh ubuntu@1.117.87.77 +ssh root@1.117.87.77 + + +ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.144.132.25 \ No newline at end of file diff --git a/服务器文档/api-1.md b/服务器文档/api-1.md new file mode 100644 index 0000000..19c76d8 --- /dev/null +++ b/服务器文档/api-1.md @@ -0,0 +1,2 @@ +1. [网络地址](https://api.zpc-xy.com/) +2. IP: 101.43.1.207 \ No newline at end of file