阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

使用Linux命令行管理DigitalOcean VPS水滴

81次阅读
没有评论

共计 2714 个字符,预计需要花费 7 分钟才能阅读完成。

DigitalOcean 是云 VPS 主机市场中最炙手可热的新生儿。虽然没有提供像 Amazon 之类一样的综合服务业务,但 DigitalOcean 定位于中小型企业和开发者,已经成为基于 Linux 的最佳云 VPS 服务的强有力竞争者,这都得归功于它们具有竞争力的价格和用户友好的管理界面。

使用 Linux 命令行管理 DigitalOcean VPS 水滴

不管什么时候,当你需要一个面向网络的服务器用于你的个人项目,你都可以全速开动一个“水滴”(DigitalOcean 中 VPS 实例的昵称),也可以在你不需要时杀掉它,没必要为了让你的 VPS 保持运作而烧光了你的钱袋。尽管 DigitalOcean 基于网络的管理界面已经十分高效,但对于那些命令行界面的死忠派,它还是提供了基于命令行界面的水滴管理工具,它叫 tugboat。多亏了这个命令行工具,所有复杂的水滴管理任务都可以简单地转变成一个脚本来完成。

在本文中,我打算讲述 怎样使用 tugboat 来从命令行对 DigitalOcean 水滴进行管理

在 Linux 上安装 tugboat

在 Debian,Ubuntu 或者 Linux Mint 上安装 tugboat:

  1. $ sudo aptget install rubydev
  2. $ sudo gem install tugboat

在 Fedora 上安装 tugboat:

  1. $ sudo yum install rubydevel
  2. $ sudo gem install tugboat

要在 CentOS 上安装 tugboat,首先安装或升级到最新的 Ruby,因为在 CentOS 6.5 以及更早的版本上,默认的 Ruby 不满足 Tugboat 所需的最小版本(1.9 及更高版本)。安装 Ruby 1.9 及更高版本后,请按如下方式安装 tugboat。

  1. $ sudo gem install tugboat

tugboat 首次使用配置

在安装完后,就该进行一次配置,其中包括授权 tugboat 访问 DigitalOcean 帐号。

转到 https://cloud.digitalocean.com/api_access,并创建新的 API 密钥,记录客户 ID 和 API 密钥。

使用 Linux 命令行管理 DigitalOcean VPS 水滴

通过运行以下命令来启动授权过程:

  1. $ tugboat authorize

在提示你输入客户 ID 和 API 密钥时,请输入。它会询问几个其它问题,目前你可以接受默认的回答。我们将会在后面自定义默认设置。

使用 Linux 命令行管理 DigitalOcean VPS 水滴

现在,让我们自定义默认水滴设置,以反映你典型的使用状况。要做到这一点,首先检查水滴提供的可用设置项(如,可用的镜像、区域、大小)。

运行以下命令,它会列出可用的水滴镜像。选取使用一个默认镜像,并记录相关的 ID。

  1. $ tugboat images global

使用 Linux 命令行管理 DigitalOcean VPS 水滴

类似,从可用区域中选取一个默认的地理位置:

  1. $ tugboat regions

同时,从可用的 RAM 大小中选择一个默认的水滴大小:

  1. $ tugboat sizes

使用 Linux 命令行管理 DigitalOcean VPS 水滴

现在,把你的默认选择放到~/.tugboat 中。例如,我在这里自定义了默认设置:区域在纽约,系统是 Ubuntu 14.04,内存 512MB。如果你想要通过密钥验证启用 SSH,设置“ssh_user”为 root,这个我很快会讲到。

  1. $ vi ~/.tugboat

  1. authentication:
  2. client_key: XXXXXXXXXXXXXXXXXXX
  3. api_key: XXXXXXXXXXXXXXXXXXXX
  4. ssh:
  5. ssh_user: root
  6. ssh_key_path:/home/dev/.ssh/id_rsa
  7. ssh_port:’22’
  8. defaults:
  9. region:‘4’
  10. image:‘3240036’
  11. size:’66’
  12. ssh_key:
  13. private_networking:‘false’
  14. backups_enabled:‘false’

创建并添加 SSH 密钥到 DigitalOcean

要访问水滴实例,一个安全的方式是通过密钥验证的 SSH 连接到该实例。

事实上,你可以通过使用 DigitalOcean 来注册 SSH 公钥,为你的水滴实现自动启用密钥验证。下面告诉你怎么做。

首先,生成一个公 / 私密钥对(如果你还没有)。

  1. $ sshkeygen t rsa C “your@emailaddress.com”

假设生成的密钥对由~/.ssh/id_rsa(私钥)和~/.ssh/id_rsa.pub(公钥)构成,去将你的公钥上传吧,命令如下:

  1. $ tugboat addkey [nameofyourkey]

你可以任意给你的密钥命名(如,“my-default-key”)。当出现提示时,输入公钥路径(如,/home/user/.ssh/id_rsa.pub)。在密钥上传完成后,运行以下命令来验证密钥是否正确添加:

  1. $ tugboat keys

使用 Linux 命令行管理 DigitalOcean VPS 水滴

密钥也应该出现在 DigitalOcean 的 SSH 密钥页。如果你想要密钥自动使用到水滴中,添加密钥 ID 到~/.tugboat 中。

  1. ssh_key:‘182710’

Tugboat 的基本用法

这里列出了 tugboat 命令行的一些基本使用情况。

  1. 使用默认设置创建新水滴。

    1. $ tugboat create
  2. 列出所有活动水滴。

    1. $ tugboat droplets
  3. 显示水滴的信息。

    1. $ tugboat info

使用 Linux 命令行管理 DigitalOcean VPS 水滴

  1. 关闭水滴,并移除镜像。

    1. $ tugboat destroy
  2. 关闭水滴,但保持镜像

    1. $ tugboat halt
  3. 为水滴创建快照,水滴必须先关闭。

    1. $ tugboat snapshot
  4. 调整水滴大小(增加或减少 RAM 大小),水滴必须先关闭。

    1. $ tugboat resize s

  如果你想要了解特定命令的更多选项,运行:

  1. $ tugboat help <command>

使用 Linux 命令行管理 DigitalOcean VPS 水滴

排障

  1. 当我运行 tugboat 命令时,它出现以下错误。

    1. /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in`gem_original_require’: /usr/lib/ruby/gems/1.8/gems/tugboat-0.2.0/lib/tugboat/cli.rb:12: syntax error, unexpected ‘:’, expecting kEND (SyntaxError)

    Tugboat 要求 Ruby 1.9 及更高版本,你需要升级 Ruby 来解决该问题。对于 CentOS,请参考此教程

  2. 当我试着用 gem 来安装 Tugboat 时,出现了下面的错误。

    1. /usr/local/share/ruby/site_ruby/rubygems/core_ext/kernel_require.rb:55:in`require’: cannot load such file — json/pure (LoadError)

  安装以下 gem 来修复该问题。

  1. $ sudo gem install json_pure
正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-20发表,共计2714字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中