低スペッククラウドサーバーの実用的な設定記録

サーバー構成の概要

最近、Alibaba Cloud ECSクラウドサーバーを購入しました。非常に安価で、構成は以下の通りです:

  • CPU: 2コア(vCPU)
  • メモリ: 2 GiB
  • ストレージ: クラウドディスク 40 GiB(2120 IOPS)
  • ネットワーク: 固定帯域幅 3M

スペックが非常に低いため、この記事では使用中に遭遇した様々な問題とその解決策を記録します。

設定の最適化

pnpmの設定最適化

メモリとCPUの制限により、pnpmで依存関係をインストールする際にフリーズしやすいため、並列数やリトライ回数を制限する必要があります:

# 並列数を制限し、メモリ不足を回避
pnpm config set concurrency 2

# pnpmの自動ロックファイル更新を無効化し、インストール時のディスクIO負荷を軽減
pnpm config set auto-install-peers=false

# リトライ回数を設定し、ネットワークが不安定な場合の成功率を向上
pnpm config set fetch-retries 3

# リトライファクターを設定し、リトライ間隔を延長
pnpm config set fetch-retry-factor 2

# ネットワークタイムアウトを設定
pnpm config set network-timeout 60000

SSHキー管理

keychainツールを使用してSSHおよびGPGキーのエージェントを一元管理し、一度のアンロックで複数セッション間で共有できます。

# keychainのインストール
# Debian/Ubuntu
sudo apt install keychain
# CentOS/RHEL
sudo dnf install keychain

自動読み込みを有効にするには、シェルの初期化ファイル(例:.bash_profile.profile)を編集し、以下を追加します(鍵のパスは適宜調整してください):

# keychainでSSHとGPGキーを管理
if command -v keychain > /dev/null; then
    eval $(keychain --quiet --eval ~/.ssh/id_rsa)
fi

# 署名や暗号化にGPGを使う場合も一括管理可能:
eval $(keychain --quiet --eval ~/.ssh/id_rsa GPG_KEY_EMAIL@DOMAIN.COM)

--quietオプションでログイン時のメッセージ(例:* Found existing ssh-agent: 1996)を抑制でき、運用環境での静かな動作に適しています。 GPG_KEY_EMAIL@DOMAIN.COMはご自身のGPG鍵に紐付いたメールアドレスに置き換えてください。

初回ログイン時に秘密鍵のパスワード入力が求められますが、以降は新しいターミナルやSSHセッションでも既にアンロックされたエージェントが自動的に再利用されます。複数のシェル間で同じ鍵を共有でき、パスワードの再入力は不要です。

このページは生成AIによって自動翻訳されており、不正確または不完全な情報が含まれている可能性があります。 ご意見・ご指摘はこちらまで。品質向上のためご協力をお願いいたします。




    この記事を楽しみましたか?

    次におすすめの記事はこちら:

  • macOSシステム設定の記録
  • 「随筆」旧居の記憶
  • 「随筆」2025年の最初の日に、少し語ってみる
  • 2024年の研究活動総括
  • 「転載」中国語の常態と異常態