コース一覧
サーバー運用実践:セキュリティ・監視・デプロイ
tmuxで多重端末

サーバー運用実践:セキュリティ・監視・デプロイ

構築済みのnginxサーバーを、専用ユーザー・SSH鍵認証・ufwで保護し、HTTPS化、ログとヘルスチェックの監視、systemdタイマー、リリース切替、ロールバック、障害復旧までを実践します。本番を想定した安全な公開・監視・デプロイの基本を身につける30レッスンのコースです。

1
セキュリティのきほん
01. 専用ユーザーで動かす16分
02. SSH鍵認証16分
03. sshdを固める16分
04. ufwファイアウォール16分
05. ポートの棚卸し16分
06. ミッション サーバーを固める16分
07. 第4章クイズ12分
2
HTTPS
01. HTTPSとTLSのしくみ16分
02. 自己署名証明書を作る16分
03. nginxにHTTPSを設定16分
04. HTTPからのリダイレクト16分
05. ミッション HTTPS化完了16分
06. 第5章クイズ12分
3
運用と監視
01. tmuxで多重端末16分
02. ログローテーション16分
03. エラーログ監視16分
04. ヘルスチェック16分
05. systemdタイマー16分
06. ミッション 監視の自動化16分
07. 第6章クイズ12分
4
デプロイ
01. デプロイの型16分
02. シンボリックリンク16分
03. deploy.sh v216分
04. ロールバック16分
05. ミッション ワンコマンドデプロイ16分
06. 第7章クイズ12分
5
総合制作
01. ゼロから構築ミッション16分
02. 障害対応演習16分
03. 自由拡張16分
04. 完成と次のステップ16分

tmuxで多重端末

回線が切れると、作業も死ぬ

SSH で入って長い処理を始めたとします。パッケージの更新、大きなファイルの転送、データベースの移行。そこで回線が切れると、実行中のコマンドごと道連れになります。ノートを閉じただけでも同じです。

原因は親子関係にあります。打ったコマンドは、その SSH セッションの子として動いています。親が消えれば子も終わらされます。転送の途中で死ねば、中途半端なファイルだけが残ります。

解決は、接続とは別の場所でコマンドを動かすことです。そのための道具が tmux です。

セッションを作って、そこに住む

ターミナル

tmux new -s deploy

-s はセッションに付ける名前です。実行すると画面が切り替わり、下に横帯が出ます。ここから先で打つコマンドは、SSH ではなく tmux の子になります。

名前を付けるのは、あとで戻るときに指定するためです。省略すると 0 や 1 という番号になり、複数あると見分けが付かなくなります。

離れて、戻る

離れるときは Ctrl-b を押してから d です。Ctrl-b は tmux への合図で、続けて押すキーが命令になります。d は detach、離れるという意味です。

離れても中身は動き続けます。SSH を切っても、ノートを閉じても同じです。あとで入り直して戻れます。

ターミナル

tmux ls
# deploy: 1 windows (created Fri Aug  8 12:00:00 2026)

tmux attach -t deploy

ls で一覧、attach -t <名前> で戻ります。離れている間に終わった処理の出力も、そのまま残っています。

スクリプトから使う

人が操作しないときは、画面を開かずにセッションを作れます。

ターミナル

tmux new -d -s deploy

-d を付けると、作るだけで中に入りません。中のセッションへコマンドを送るには send-keys を使います。

ターミナル

tmux send-keys -t deploy 'date > /root/from-tmux.txt' Enter

最後の Enter は、改行キーを押す、という指定です。これが無いと文字が入力欄に置かれるだけで実行されません。忘れやすいところです。

中の様子を覗くこともできます。

ターミナル

tmux capture-pane -t deploy -p

-p は、拾った内容をそのまま画面に出す指定です。自動化した処理が中で何を言っているかを確かめるのに使えます。

終わらせる

ターミナル

tmux kill-session -t deploy

用が済んだセッションは畳みます。放っておくと、何をしていたか分からないセッションが溜まっていきます。tmux ls を時々見る癖を付けてください。

覚えるのは3つでいい

tmux には画面分割など多くの機能がありますが、運用で本当に効くのは次の3つです。

  1. tmux new -s <名前> — 作る
  2. Ctrl-b d — 離れる
  3. tmux attach -t <名前> — 戻る

これだけで、長い処理を安全に走らせられます。

手を動かす

名前を付けたセッションを画面を開かずに作り、そこへコマンドを送って実行させます。中の様子も覗きます。

ヒント

-d を付けると、セッションを作るだけで中に入りません

send-keys の最後の Enter は、改行キーを押すという指定です

  • 1. tmux new -d -s deploy でセッションを作る
  • 2. tmux ls > /root/tmux-ls.txt で一覧を保存する
  • 3. tmux send-keys -t deploy 'date > /root/from-tmux.txt' Enter でコマンドを送る
  • 4. tmux capture-pane -t deploy -p > /root/tmux-pane.txt で中の様子を保存する
  • 5. tmux ls でセッションが残っていることを確かめる

Linux は使うときに起動します(初回は約102MB通信します)

6 項目で採点します