轶哥

📚 Having fun with AI Agent. Always learning.

Poetry快速安装教程
  •   更新:2021-03-10 16:17:14
  •   首发:2021-03-10 13:16:21
  •   教程
  •   12411

Poetry是一个Python的依赖管理工具。设计思路比较先进,运行速度非常快。非常类似于Node.js里面的yarn

Poetry在国内的安装速度比较慢。好在安装脚本提供了--file参数,可以指定安装包。我们可以通过这个方法进行快速安装。

关于Poetry

Poetry是用于处理依赖项安装以及Python程序包构建和打包的工具。只需一个文件即可完成所有工作:标准化的 pyproject.toml

换句话说,用pyproject.toml来代替setup.pyrequirements.txtsetup.cfgMANIFEST.in和新加入的Pipfile

  • 将尝试将语义版本控制作为版本命名的最佳实践。
  • 可以指定自述文件,included 和 excluded 文件:no more MANIFEST.inpoetry还将使用VCS忽略文件(如.gitignore)填充该exclude部分。
  • 可以指定关键字(最多5个),并在包发布站点上用作标签。
  • 依赖项部分支持插入符号,波浪号,通配符,不等式和多重依赖。
  • 您必须指定与您的软件包兼容的python版本。

poetry还将检测您是否在virtualenv中,并相应地安装软件包。因此,poetry可以在全球范围内安装并在任何地方使用。

poetry 还带有完整的依赖关系解析库。

更多内容不再赘述,参考peotry官网:https://python-poetry.org/

使用方法参考 peotry开源地址:https://github.com/python-poetry/poetry

Nginx通过域名进行TCP反向代理
  •   更新:2021-03-08 11:12:02
  •   首发:2021-03-08 00:19:58
  •   教程
  •   5810

使用Nginx可以实现根据域名进行TCP反向代理到不同的内网服务器。

应用场景

一家公司购买了很多服务器,为了节约成本,使用了阿里云/腾讯云的NAT网关,通过几台网关服务器进行NAT出口,通过大量内网服务器进行数据计算,节约公网带宽费用且确保了内网服务器不因公网IP泄露导致被攻击。

aliyun.png

(上图来自阿里云)

但是在用作网关的出口服务器上,需要配置SSL域名证书。如果在网关配置域名证书,各个业务对证书的要求不一样,网关服务器管理员疲于运维。因此,通过TCP反向代理到内网服务器,让内网服务器管理员自行配置SSL证书。

云服务器Linux磁盘扩容
  •   更新:2021-03-07 23:58:04
  •   首发:2021-03-07 23:54:29
  •   教程
  •   4493

云服务器云盘扩容相关文章挺多的,坑也比较多。特整理正确操作如下。

支持的发行版

  • Ubuntu
  • CentOS
  • Debain
  • Alpine
  • Arch

Ubuntu 16.04Ubuntu 18.04Ubuntu 20.04测试过。

CentOS 6CentOS 7CentOS 8测试过。

阿里云腾讯云AWS EC2实测过扩容,以上云服务商都支持云盘扩容。

需要注意的是,虽然扩容方法支持系统盘和数据盘,然而部分云服务提供商并不支持系统盘扩容,只支持在购买云服务器/VPS的时候选择系统盘大小。通常这些服务商都支持对系统盘进行备份,可以通过新购服务器还原系统盘镜像然后再执行此文操作的方式进行迁移扩容。

此方法不支持ARM服务器扩容。一般来说,ARM服务器、Raspberry Pi、NanoPi等arm架构的设备都有专门的扩容方法,需要查阅相应文档进行扩容。

Node.js在VM环境使用ECMAScript modules
  •   更新:2021-03-04 15:28:35
  •   首发:2021-03-04 13:25:32
  •   教程
  •   3840

vm模块允许在V8虚拟机上下文中编译和运行代码。但是不是安全机制,如果有沙箱(sandbox)需求,可以考虑https://github.com/patriksimek/vm2

在VM环境中使用ECMAScript modules,即在VM环境中可以用import代替require引入某个模块,避免Cannot use import statement outside a module错误,也可以用export代替module.exports

我的使用场景:

通过Node.js在VM环境使用ECMAScript modules之目的,是为了构建一个虚拟环境(可控的上下文内容)动态执行一些代码,方便在复杂系统中构建小型脚本动态的快速验证一些想法。

https://github.com/yi-ge/api-proxy这个小项目中也有用到vm模块。

Node.js 获取项目根目录
  •   更新:2021-03-04 14:48:06
  •   首发:2016-05-06 15:22:23
  •   教程
  •   14075

介绍一个非常实用的小技巧获取node.js项目根目录

假设我们的js文件写在server目录中,但是我们的资源文件存储在app/img目录中。如下图,我们需要在server/index.js文件中使用fs读取app/img/favicon.ico文件。

获取node项目根目录

在node.js只提供了一个__dirname全局变量。通过__dirname可以获得“C:\wwwroot\yidata\server”。这时需要用到path。

ESXi + Frp 内网穿透
  •   更新:2021-03-03 14:13:43
  •   首发:2021-03-03 14:10:19
  •   教程
  •   12027

ESXi + Frp 实现内网穿透,可以做到远程管理ESXi。由于ESXi默认启用了SSL本地证书,因此配置方法与传统http站点反向代理有所不同。

[esxi-web]
type = tcp
local_ip = 10.10.10.254
local_port = 443
remote_port = 6012

可以看到上述绑定的本地端口号是443。这里的type只设置为tcp,远程访问地址:https://xx.xx.xx.xx:6012,注意,需要以https开头并忽略证书错误。

ESXi 7.0 安装教程
  •   更新:2021-03-03 13:34:45
  •   首发:2020-09-17 14:16:26
  •   教程
  •   13509

VMware vSphereVMware虚拟化平台VMwarev Sphere的两个核心组件是ESXivCenter ServerESXi是用于创建并运行虚拟机和虚拟设备的虚拟化平台。vCenter Server是一项服务,用于管理网络中连接的多个主机,并将主机资源池化

可以简单理解为ESXi是安装在物理机上的,通过vCenter Server将多个物理机资源整合起来。

目前ESXi可以独立运行在某个物理设备上,为设备提供虚拟化平台(虚拟机)。例如在软路由中安装ESXi 7.0,以实现爱快+OpenWrt等组合搭配。

  上一页 下一页