亚马逊网络服务
这篇文章介绍了如何通过简单的几步在 Amazon Web Services 平台使用 EC2 服务安装 Verdaccio 假设你已经创建了一个 EC2 的 Amazon Linux 服务器实例;如果没有请查看 AWS EC2 安装教程
安装 & 配置
第一步: 打开 SSH & 使用您的 EC2 秘钥登录.
第二步:请先安装 Node 版本管理工具(nvm),安装完成后关闭并使用你的 EC2 密钥重新连接 SSH
sudo apt update
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
exit
第三步:使用 nvm 安装 Node
nvm install node
第四步:安装 Verdaccio & pm2,我们需要通过 pm2 在后台运行 Verdaccio 服务
npm i -g verdaccio pm2
第五步:将 Verdaccio registry 设置为 npm 源 默认情况下使用的是 NPM registry
npm set registry http://localhost:4873
npm set ca null
第六步:运行 Verdaccio 然后停止它(ctrl+c) 这会创建一个我们需要使用的配置文件。
verdaccio
第七步:现在执行以下配置来监听该服务器/EC2 实例上的所有地址。 (查看更多)
打开并且编辑 config.yaml
文件:
nano .config/verdaccio/config.yaml
或 nano ~/verdaccio/config.yaml
在最后添加以下几行。 (查看更多)
listen:
- 0.0.0.0:4873
更改以下行,以便只有经过身份验证的人才能访问我们的 registry
将 "access: $all" 替换为 "access: $authenticated"
(可选)根据您希望授予范围注册表访问权限的用户数量更改以下行
将 "#max_users: 1000" 替换为 "max_users: 1"
还有一些参数可用于配置它。 像修改存储方式,代理,默认端口。 (查看更多)
第八步:使用 pm2 在后台运行 Verdaccio:
pm2 start verdaccio
第九步:现在,你可以访问你的 Verdaccio 网页界面了。
URL 看起来像是这样的:
http://ec2-..compute.amazonaws.com:4873
{or}
http://your-ec2-public-ip-address:4873 (你可以在你的 AWS 控制台查看你的 EC2 实例开放的 ip)
为了确认 Verdaccio 的运行状态,请运行以下命令:
pm2 list
为了在开机时运行 Verdaccio,请执行以下命令:
pm2 stop verdaccio
pm2 delete verdaccio
pm2 startup
这将在您的终端中显示一个命令。 复制/粘贴并执行它,让 pm2 为您创建启动服务。
which verdaccio
复制此命令显示的路径。
pm2 start /home/ubuntu/.nvm/versions/node/v17.1.0/bin/verdaccio
(输入您从上面的命令复制的路径)。
pm2 status
这应该会显示 Verdaccio 服务的状态为“在线”。
pm2 save
现在,当您重新启动 EC2 实例时,它会直接启动 verdaccio。
第十步: 在 Verdaccio registry 中注册用户
npm adduser
请输入用户名、密码和有效的电子邮件 ID。 记下这些详细信息,稍后将用于登录 Verdaccio registry 来发布我们的库。
第十一步: 现在我们准备将我们的 AWS 服务器实例用作私有 registry。
登录 Verdaccio registry。 输入上面步骤中设置的相同用户名、密码和电子邮件 ID。
npm set registry http://your-ec2-public-ip-address:4873
npm login
第十二步:前往您的自定义库包路径。 在我的例子中,这是我的 Angular 7 包路径 -> /libraries/dist/your-library-name/your-library-name-0.0.1.tgz
如果您想了解如何创建 angular 7 库/包,请(点击此处)
cd [custom library package path]
第十三步: 最后在 Verdaccio registry 上发布我们的库 your-library-name-0.0.1.tgz
[custom library package path] >> npm publish your-library-name-0.0.1.tgz
{or}
[custom library package path] >> npm publish
{or}
[custom library package path] >> npm publish --registry http://your-ec2-public-ip-address:4873
现在,访问 http://your-ec2-public-ip-address:4873
你将会在这里看到新的库