博客 (32)

引擎连接方式
mysqlimysqli_connect("域名或IP:端口", "用户名", '密码', "数据库名")
Scaffold-DbContextScaffold-DbContext "server=域名或IP;port=端口;uid=用户名;pwd=密码;database=数据库名;" Pomelo.EntityFrameworkCore.MySql -OutputDir 模型路径 -Force

如果端口配置不正确,会报错:

Unable to connect to any of the specified MySQL hosts.

xoyozo 8 天前
57

要将一个服务公开给外部访问,必须开放端口,例举一些场景的端口映射:

  • VMware 实现宿主机端口映射到虚拟机端口:

    打开 VMware 的菜单中的 编辑 - 虚拟网络编辑器,

    在弹出窗口中表格中的选中“NAT”项,点击下方的“NAT设置”(若无法操作需要先点击“更改设置”允许)

    在“NAT设置”中“添加”,填写主机端口和虚拟机端口、虚拟机IP地址。

    这样,宿主机就能访问到虚拟机中的服务了。

  • 在 Windows 11 的防火墙中允许端口:

    在“设置”或“控制面板”中打开防火墙,“高级设置”

    在“入站规则”中“新建规则”

    选择“端口”并填写,完成。

    这样,局域网的其它电脑就能访问到这台 Windows 的服务了。

  • 小米路由器:

    登录路由器,进入“高级设置”,

    切换到“端口转发”,添加规则,

    这样,外网就能通过路由器的外网IP来访问局域网中的内网服务了。

  • 华为路由器 AX3 Pro:

    登录路由器,进入“更多功能”,

    展开“安全设置”,选择“NAT服务”,

    点击“+”号设置端口映射。

    这样,外网就能通过路由器的外网IP来访问局域网中的内网服务了。

  • H3C ER3200G2 路由器:

    登录路由器,展开“高级设置”,“地址转换”,

    切换到“虚拟服务器”,“新增”,

    填端口和内部服务器IP,完成。

    这样,外网就能通过路由器的外网IP来访问局域网中的内网服务了。

xoyozo 3 个月前
360
  1. 购买 ECS

  2. 解析域名(非网站域名)、修改实例名称、主机名

  3. 设置阿里云(重要)

  4. 远程连接进入 ECS(若解析未生效可以先用 IP)(若新服默认使用 22 端口,可在阿里云控制台登录系统,或先在安全组临时放行 22 端口)

  5. 修复系统漏洞

  6. 将磁盘挂载到目录(fdisk、df 命令参考:https://xoyozo.net/Blog/Details/SSH

  7. 安装宝塔面板(本文以宝塔面板方案为例,选择任何你喜欢的环境部署方案都行)。可以在阿里云控制台ECS实例页安装扩展程序

  8. 临时放行宝塔面板端口,进入宝塔面板(http方式),或用命令更改宝塔面板端口

  9. 配置面板 SSH、添加新的安全端口、面板设置

  10. 更改 SSH 默认端口(参:https://xoyozo.net/Blog/Details/change-default-port

  11. 安装 nginx、PHP 等

  12. 配置 PHP 扩展(Redis、sqlsrv(注意选择兼容的版本)、memcached 及端口)

  13. 创建网站,配置网站(路径、伪静态等)

  14. 迁移网站文件(参:https://xoyozo.net/Blog/Details/SSH

  15. 仔细对比新旧网站的配置文件(特别是 .php 的访问权限,参:https://xoyozo.net/Blog/Details/nginx-location-if

  16. 设置写入目录(使用 rsync 同步的文件会同步用户和权限)

  17. 解析域名(先改 hosts 测试网站功能)

  18. 更改内网其它 ECS 上的 hosts

  19. 关闭原 ECS(能马上发现问题,不然等运行一段时间才发现问题就麻烦点)

  20. 设置 FTP

  21. 迁移“计划任务”

  22. 所有网站和软件的配置文件都要使用 WinMerge 进行对比

  23. 移除“宝塔面板-安全”和“阿里云-ECS-安全组”中不用的端口

  24. 再次检查阿里云设置

  25. 在备份工具中添加该服务器的所有备份项

  26. 私网中若有 ECS 的 hosts 中域名直接绑定到私网 IP 的,做相应更改


更多文章:

从零搭建一台阿里云 ECS(Windows Server)并迁移网站

xoyozo 8 个月前
1,586

* 本文信息仅供参考,以设备最新产品说明为准!


网关型号角色蓝牙蓝牙 MeshZigbeeWi-Fi端口其它
小米中枢网关ZSWG01CM中枢网关支持 100 个
支持 200 个不支持2.4G / 5G网口四核,4G存储
小米路由器 BE6500 ProDR08中枢网关支持支持不支持2.4G / 5G4个Wi-Fi 7 路由器,四核1G
小米多模网关ZNDMWG03LM从网关支持 100 个支持 100 个

Zigbee 3.0

支持 32 个(中继 128 个)

2.4G支持 HomeKit
小米多模网关2DMWG03LM从网关支持 100 个
支持 100 个

Zigbee 3.0 

支持 32 个(中继 128 个)

2.4G / 5G网口双核128M
绿米 Aqara 网关M1SZHWG15LM从网关不支持不支持

Zigbee 3.0

支持 32 个(中继 128 个)

2.4G

支持 HomeKit

支持夜灯、报警

绿米 Aqara 网关M1S 2022款(第二代)ZHWG20LM从网关不支持不支持

Zigbee 3.0

 支持 32 个(中继 127 个)

2.4G

双核64M

还支持 matter、Apple Home

支持夜灯、报警

绿米 Aqara 网关 M2 2022款ZHWG19LM-不支持不支持Zigbee 3.02.4G网口

不支持米家 App

支持红外

绿米 Aqara 方舟智慧中枢 M3ZHWG24LM中枢网关支持Aqara设备
支持2.4G / 5G
不支持米家 App,支持 Aqara Home app、Apple Home、matter,支持红外,8G存储
易来 Yeelight 网关(mesh 版)YLWG01YL白色盲网关支持支持不支持2.4G网口支持 HomeKit
易来 Yeelight Pro S20 蓝牙 Mesh 网关YLWG01YL灰色从网关支持支持不支持2.4G

支持 Yeelight Pro 和 HomeKit 3

未原生接入米家,但可通过“其它平台”接入米家

青萍蓝牙网关
CGSPR1盲网关支持不支持不支持2.4G
小米智能家庭面板
XMZHP01LM从网关支持 100 个
支持 100 个不支持2.4G / 5G86型墙壁开关


-> 查看目前可以做中枢和从网关的产品中枢网关 / 从网关

xoyozo 9 个月前
1,793

客户端:Failed to connect to host.

服务端:无任何日志

原因:可能是域名、IP 或端口有误,或端口未开放。


客户端/服务端:530 Login incorrect.

原因:用户名或密码错误。


客户端/服务端503 Use AUTH first.

原因:服务端开启了 FTPS 协议(FTP over TLS),且禁止了 FTP 协议(plain FTP)。

解决方法:不建议服务端恢复不安全的 FTP 协议,客户端应配置 client.Config 的 EncryptionMode、DataConnectionEncryption、SslProtocols、ValidateCertificate 等参数。


客户端/服务端:530 This server does not allow plain FTP. You have to use FTP over TLS.

原因:服务端启用了 FTPS。

解决方法:给 client.Config.EncryptionMode 正确的赋值(FtpEncryptionMode.Explicit 或 FtpEncryptionMode.Auto)。


服务端:[Error] TLS session of data connection not resumed.

原因:证书版本有误。

解决方法:给 client.Config.SslProtocols 赋值正确的 TLS 版本。


服务端:521 PROT P required

原因:服务端开启了Require TLS session resumption on data connection when using PROT P”

解决方法:client.Config.DataConnectionEncryption = true;


客户端/服务端450 TLS session of data connection has not resumed or the session does not match the control connection

原因:TLS 与控制连接不匹配,即服务端开启了“Require TLS session resumption on data connection when using PROT P”

解决方法:我暂时还不知道原因,临时关闭了Require TLS session resumption on data connection when using PROT P”(不建议)。该问题出现在 FileZilla Server 0.x 版本,在 1.x 版本中没有该配置选项。

xoyozo 1 年前
1,668

FTP 服务端与客户端之间使用命令端口和数据端口进行通信。

1.png

而主动模式与被动模式的区别是:在数据连接时,服务端是否为主动方。


主动模式(PORT 模式)

2.png

第一步:客户端使用任意 N 端口向服务端 21 端口发送请求,建立连接

第二步:服务端使用 20 端口向客户端任意 M 端口发送请求,传输数据

要求:

服务防火墙开放 21 端口准入,20 端口准出(默认所有端口准出)

客户端设置“允许应用通过防火墙”(将 FTP 客户端程序加入允许)


被动模式(PASV 模式)

3.png

第一步:客户端使用任意 N 端口向服务端 21 端口发送请求,建立连接

第二步:客户端使用任意 M 端口向服务端 P 端口发送请求,传输数据

要求:

服务端设置被动模式端口范围

服务端防火墙开放 21 端口及被动模式范围端口准入

客户端一般不需要设置


xoyozo 1 年前
1,080
  1. 购买 ECS

  2. 解析域名(非网站域名)挂载磁盘(若有另购)、修改实例名称、主机名

  3. 设置阿里云(重要)

  4. 远程连接进入 ECS(若解析未生效可以先用 IP)(若新服默认使用 3389 端口,可先在安全组临时放行 3389 端口)

  5. 开启 Windows 防火墙(使用推荐设置)

  6. Windows 更新、并在高级选项中开启(更新 Windows 时接收其它 Microsoft 产品的更新)

  7. 安装 IIS:服务器管理器-添加角色和功能-勾选“Web 服务器(IIS)”包括管理工具

    建议勾选:

    默认已勾选项

    按需安装 IP 和域限制

    常见 HTTP 功能(不建议安装 WebDAV 发布

    跟踪(即“失败请求跟踪”)

    请求监视器、日志记录工具、

    按需安装 ASP

    按需安装 ASP.NET 4.8(会同时勾选 .NET Extensibility 4.8、ISAPI 扩展、ISAPI 筛选器)

    按需安装 WebSocket 协议

    应用程序初始化(建议安装)

    管理服务(用于 Web 部署)

  8. 细节:设置任务栏;设置桌面图标;个性化-颜色-勾选“标题栏和窗口边框”;设置输入法;

  9. 更改远程桌面端口

  10. 按需安装:

    下载 URL 重写(文件名:rewrite_amd64_zh-CN.msi)

    下载 MySQL Connector/NET(文件名:mysql-connector-net-8.0.19.msi)

    下载 ASP.NET Core 运行时 Hosting Bundle(文件名:dotnet-hosting-*.*.*-win.exe)

    下载 .NET 桌面运行时 Windows x64(文件名:windowsdesktop-runtime-*.*.*-win-x64.exe)

    下载 Web Deploy(文件名:WebDeploy_amd64_zh-CN.msi)

  11. 服务:设置“ASP.NET State Service”自动启动

  12. IIS 日志:路径(如 D:\wwwlogs),每小时(统一设置一个全局的就行了,不需要设置每个网站),按需勾选“使用本地时间进行文件命名和滚动更新”

  13. IIS 导入证书:个人、允许导出证书。

  14. 设置默认网站的 https

  15. 设置权限:设置网站所在分区(如 D 盘),安全,添加 IIS_IUSRS,全部拒绝(防止跨站)

  16. 添加用户:为每个网站创建用户(既能防止跨站,又能跟踪进程),密码不能改、不过期,仅隶属于 IIS_IUSRS,并添加到每个网站的根目录,若用户创建失败看这里

  17. 创建网站:设置访问物理路径的用户;设置应用程序池的“标识”用户;编辑绑定:勾选需要服务器名称指示;检查域名是否绑全;设置写入目录;

  18. 重复上面两步

  19. 检查所有网站用户是否仅隶属于 IIS_IUSRS(在“组”页面双击 Users 和 IIS_IUSRS 查看成员)

  20. 在应用程序池列表页面检查 CLR 版本、管托管道模式和标识;在网站列表页面检查绑定和路径

  21. 设置 Web 部署

  22. 设置“IP 地址和域限制”

  23. 废弃旧服时再次检查:IIS 中各功能设置、hosts、安装的应用程序、启动项、服务、防火墙等

  24. 更改默认端口

  25. 解析各网站域名

  26. 其它:资源管理器-查看-选项-查看-去掉“始终显示图标,从不显示缩略图”前的勾

  27. 再次检查阿里云设置

  28. 私网中若有 ECS 的 hosts 中域名直接绑定到私网 IP 的,做相应更改

  29. 在备份工具中添加该服务器的所有备份项


>> 关于域名解析

因各地域名解析生效时间不可控,一般国内域名 1 天内,国际域名 2 天内。

  • 若网站数据库在 RDS、上传文件在 OSS,则解析 48 小时后直接停止原网站即可;(比较理想的)

  • 文件上传到 ECS 的可使用 FTP 等工具定时同步文件,或直接停止原网站。(网友会遇到新文章中图片无法显示等问题)

  • 还有一种方法是新网站提前解析一个备用域名,确保完全生效后再修改正式域名的解析,原网站无条件跳转到备用域名,如果数据库中有保存完整网址路径的,关闭原网站并解绑备用域名之后,进行批量替换。(缺点是可能会影响在搜索引擎的网站权重)

  • 部分有定时器的网站要注意,如果两个网站的定时器都正常开启会导致意外的,需要停止其中一个网站的定时器。

当然每种方法都有优缺点,选择可以接受且方便的一种即可。


更多文章:

从零搭建一台阿里云 ECS(Alibaba Cloud Linux / CentOS / Linux)并迁移网站

xoyozo 1 年前
2,809

默认端口带来安全隐患,建议更改为 50000-60000 之间的端口号。


Windows 远程桌面(RDP)(3389)

  1. 在 Windows 防火墙中放行新端口:在“入站规则”中找到“Open RDP Port 3389”复制并粘贴该规则,修改端口和名称。

    若没有这个规则:新建规则 - 端口 - TCP - 特定本地端口(填写新的端口号)- 允许连接 - 名称

  2. 如有其它防火墙或安全组也一并配置(如阿里云 ECS 的安全组)

  3. 打开注册表(regedit),展开到:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp,右侧双击“PortNumber”切换到“十进制”,将 3389 改为新端口号

  4. 重启生效

  5. 在防火墙和安全组中禁止原默认端口


SSH (22) 之 CentOS

  1. 从阿里云控制台登录服务器(如果未设置 root 密码则先设置),直接跳到第 4 步

  2. 在外部防火墙中放行新的端口号(如阿里云 ECS 的安全组)

  3. 在内部防火墙中放行新的端口号(如 firewalld 或 iptables),使用宝塔面板的直接在面板“安全”页面设置即可

  4. 打开 SSH 配置文件

    sudo vi /etc/ssh/sshd_config
  5. 找到并编辑 Port 行的商品号并启用

    #Port 22
  6. 重新加载使生效

    sudo systemctl reload sshd
  7. 在防火墙和安全组中禁止原默认端口

  8. 建议使用 SSH 密钥对代替传统账号密码登录


FTP (21) 之 FileZilla Server Windows 版

  1. 一般地,在 Windows Defender 防火墙中是以添加应用 filezilla-server.exe 的方式允许的,所以不需要更改端口。如果以端口方式允许的,那么在入站规则中允许新的端口。

  2. 如有其它防火墙或安全组也一并配置(如阿里云 ECS 的安全组)

  3. 打开 Administer FileZilla Server,打开菜单 - Server - Configure - Server listeners,右侧窗口中将 Port 改为新端口(强烈建议将 Protocol 改为“Require explicit FTP over TLS”,即禁止 FTP 协议,改为使用 FTPS 协议)

  4. 从防火墙和安全组移除 21 端口


FTP (21) 之 Pure-Ftpd(宝塔面板)

  1. 在防火墙中放行新的端口号(如阿里云 ECS 的安全组)

  2. 进入宝塔面板,打开“安全”,添加端口规则 TCP

  3. 在宝塔面板中进入软件商店,找到 Pure-Ftpd 并打开,切换到“配置修改”,搜索“Bind”,删除开头的“#”,将端口号 21 改为新端口号,保存(强烈建议将 TLS 项改为 2,即禁止 FTP 协议,仅允许 FTPS 协议)

  4. 切换到“服务”选项卡,点击“重启”

  5. 从防火墙和安全组移除 21 端口


MySQL (3306) 之阿里云云数据库 RDS MySQL 版

  1. 打开控制台 RDS 实例页,左侧菜单点击“白名单与安全组”,切换到“安全组”查看正在使用的安全组ID

  2. (若使用了安全组)打开控制台 ECS 首页,左侧菜单点击“安全组”,找到这个安全组,放行新的端口

  3. 打开控制台 RDS 实例页,左侧菜单点击“数据库连接”,点击“修改连接地址”,在弹出框中修改端口

  4. 从防火墙和安全组移除端口(确保没有其它实例正在使用此端口)


PolarDB (3306)

  1. 打开控制台 PolarDB 集群实例页,左侧菜单点击“集群白名单”,切换到“安全组”查看正在使用的安全组ID

  2. (若使用了安全组)打开控制台 ECS 首页,左侧菜单点击“安全组”,找到这个安全组,放行新的端口

  3. 打开控制台 PolarDB 集群实例,左侧菜单点击“基本信息”,点击“主地址”和“集群地址”的“配置”,在“网线信息”中点击“更多”更改端口

  4. 从防火墙和安全组移除端口(确保没有其它实例正在使用此端口)


MSSQL (1433) 之阿里云云数据库 RDS SQL Server 版

  1. 打开控制台 RDS 实例页,左侧菜单点击“白名单与安全组”,切换到“安全组”查看正在使用的安全组ID

  2. (若使用了安全组)打开控制台 ECS 首页,左侧菜单点击“安全组”,找到这个安全组,放行新的端口

  3. 打开控制台 RDS 实例页,左侧菜单点击“数据库连接”,点击“修改连接地址”,在弹出框中修改端口

  4. 从防火墙和安全组移除端口(确保没有其它实例正在使用此端口)


Redis (6379) 之阿里云云数据库 Redis 版

  1. 打开控制台 Redis 实例页,左侧菜单点击“白名单设置”,切换到“安全组”查看正在使用的安全组ID

  2. (若使用了安全组)打开控制台 ECS 首页,左侧菜单点击“安全组”,找到这个安全组,放行新的端口

  3. 打开控制台 Redis 实例页,在“连接信息”中点击“修改连接地址”,在弹出框中修改端口

  4. 从防火墙和安全组移除原端口(确保没有其它实例正在使用此端口)


宝塔面板 (8888)

  1. 在防火墙中放行新的端口号(如阿里云 ECS 的安全组),或直接在私网其它 ECS 上的浏览器上直接访问原 8888 端口的地址

  2. 进入宝塔面板,打开面板设置,切换到“安全设置”页,找到“面板端口”,点击“设置”

  3. 在防火墙和安全组中禁止原默认端口


IIS 管理服务(Web 部署)(8172)

  1. 在 Windows 防火墙中放行新端口:在“入站规则”中找到“Web 管理服务(HTTP 流量入站)”因其为预定义规则且复制也无法修改,所以按其设置新建一个,并指定新的端口。

  2. 如有其它防火墙或安全组也一并配置(如阿里云 ECS 的安全组)

  3. 打开 IIS 管理器 - 管理服务,右侧停止,左侧修改端口,右侧启动

  4. VS 中发布配置修改“服务器(E)”项添加端口

  5. 在防火墙和安全组中禁止原默认端口




xoyozo 1 年前
1,334

查询占用带宽的设备 IP 地址:

image.png

查看 IP 地址对应的 MAC 地址:

image.png

image.png

IP 流量限制:

image.png

端口映射:

image.png

xoyozo 2 年前
1,633

经常有人碰到这样一种情况,我的 918+ 有 4 个硬盘呢,怎么空间很快就没了,最重要的是,自己查看统计了所有文件占用情况,和实际的占用空间不符。这个首先可以肯定的就是空间必然是文件占用了。但是呢,有些文件是不能从 File Station 里面直接看到的,所以很多用户就搞不懂了,有时候文件删除了,空间也不见增加。今天,就来教大家一个大招,让这些不能直接看到的文件无处遁形。

一、SSH 登陆群晖

这里我们要用到一个叫 putty 的软件

putty下载链接:点此下载

在开始之前,我们要开启群晖的 SSH 或是 telnet 服务功能(控制台 - 终端机和 SNMP - 勾选启动 SSH 功能)。

 1.png

打开 putty,在主机名称输入群晖的局域网 IP 地址,然后点击下面的【打开】。

2.png

会弹出一个黑色的窗口。登入账号输入管理员:admin,按回车,然后输入 admin 的密码,要注意的是,输入密码的时候,光标是不会动的,你尽管输就行。有些用户看到代码就头疼,其实我们用到的都是些非常简单基础的命令代码,你只要照着这个步骤一步一步去做,肯定能成功,成功把空间腾出来后,你会很有成就感,哈哈!

3.jpg

切换到 root 权限,输入 sudo -i,按回车,然后也是输入 admin 的密码。

4.jpg

MAC 电脑用终端也可以登录 :

  1. 打开终端

  2. 输入命令:ssh -p 999 admin@192.168.1.9

  3. 上面 999 为自定义端口号,admin 为自己的用户名


二、查询文件

到这里我们就登陆到群晖里面了,在这里可以执行命令。

输入 cd /volume1 命令后按回车,意思是进入存储空间 1(若您的储存空间为 2,则改成 volume2,依此类推)。

输入 du -ah --max-depth=1,可以查看当前目录文件大小,这个过程可能会需要数分钟到数小时不等,依您的文件数及空间大小而定。实测 8TB 机械硬盘耗时两个多小时。

image.png

三、删除文件

像上面图片中的 @download 就是 Download Station 的缓存文件,有时候操作不当,会造成缓存不能自动删除,这个时候就需要使用代码的方法来删除缓存,才能释放存储空间了。

比如要删除 Download Station 的缓存文件夹,就是上图的 @download 文件夹,可以使用下面这个命令:rm -rf /volume1/@download

6.jpg

这个命令要慎用,一旦删除就不能恢复了!

四、还有哪些文件占用存储空间而不能直接查询

除了 Download Station的缓存文件之外,还有 File Station 里面删除了文件,但启用了回收站,文件实际上还没彻底删除,也会造成删除文件,空间没有增加的情况。这个时候清空一下回收站即可。

清除某个文件夹回收站:

7.jpg

也可以直接一次性清空所有文件夹的回收站:

8.jpg

还有 Drive 的版本控制和 Drive本身自带的回收站;

9.jpg

@synologydrive/@sync/repo 是 Synology Drive Client 的缓存目录,我删除这个目录就释放了 5TB 的空间。

除此之外,还有 Cloud Station 保留的版本,Snapshot Replication 套件生成的快照文件等。


如果发现 /volume1/@synologydrive/@sync/repo/ 这个目录占用空间过大,请参考这篇文章

转自 清风 2 年前
9,492