Repository navigation
Server Operations
bianchiidentity edited this page Oct 10, 2026
·
2 revisions
接続URL・Home · 初期状態と復旧 · 計測記録
| 用途 | パス |
|---|---|
| 作業リポジトリ | /home/isucon/isucon12 |
| Wikiのローカルクローン | /home/isucon/isucon12-wiki |
| 稼働中のアプリ | /home/isucon/webapp/go |
| 配信中の静的ファイル | /home/isucon/public |
| ベンチマーカー | /home/isucon/bench |
| 不変の初期SQLite | /home/isucon/initial_data |
| 稼働中のテナントSQLite | /home/isucon/webapp/tenant_db |
| ベンチ結果 | /home/isucon/bench-results |
| pproteinバイナリ | /home/isucon/tools/pprotein/bin |
| pproteinの収集データ | /home/isucon/tools/pprotein/runtime/data |
作業リポジトリのコードを変更・pullするだけでは、稼働中のアプリに反映されない。
systemdのWorkingDirectoryは /home/isucon/webapp/go、ExecStartはその配下の isuports。
| サービス | 内容 |
|---|---|
isuports |
Goアプリ。API・初期化処理 |
blackauth |
ブラウザー認証のJWT発行 |
nginx |
TLS終端、静的配信、アプリと認証への転送 |
mysql |
管理DB isuports
|
redis-server |
サーバーに導入済みのRedis |
pprotein |
計測ダッシュボード |
pprotein-agent |
nginx / MySQLログの収集 |
取得時はすべてenabled / active。Redisが導入済みであることは、現行アプリが利用していることを意味しない。
systemctl is-active isuports blackauth nginx mysql redis-server pprotein pprotein-agent
sudo journalctl -u isuports -n 100 --no-pager
sudo journalctl -u pprotein -u pprotein-agent -n 100 --no-pager
sudo nginx -tnginx設定は検査が成功してから sudo systemctl reload nginx で反映する。
systemdユニットを変更した場合はdaemon-reload後、対象サービスを再起動する。
MySQLを再起動した場合、isuportsはMySQLへの依存があるため、アプリの起動状態も確認する。
このサーバーの通常のPATHにはGoがなく、既存のDockerイメージ
golang:1.18.4-bullseye を使用している。
cd /home/isucon/isucon12/webapp/go
docker run --rm --network host \
-v "$PWD":/app -w /app golang:1.18.4-bullseye \
go build -o isuports ./cmd/isuports/main.goこれはビルドのみ。稼働パスへの配置と isuports 再起動は別に行う。
稼働側の既存 rebuild.sh は /home/isucon/webapp/go のソースをビルドして再起動するため、
作業リポジトリの変更を自動で取り込むものではない。
専用鍵は ~/.ssh/id_ed25519_github_isucon、専用設定は ~/.ssh/config_github_isucon。
秘密鍵の内容はWikiにもGitにも保存しない。
作業リポジトリは core.sshCommand に専用SSH設定を指定済み。
WikiのGit操作にも同じ専用設定を使う。
cd /home/isucon/isucon12
git pull --ff-only
cd /home/isucon/isucon12-wiki
git -c core.sshCommand='ssh -F /home/isucon/.ssh/config_github_isucon' pull --ff-only