LoginSignup
1
2

More than 5 years have passed since last update.

supervisor - http-serverで動かすswagger-uiを永続化する

Posted at

やったこと

swagger-uiをnodeのhttp-serverで動かしていたものを
supervisor使って勝手に立ち上がるようにした

環境

  • Mac OS X
  • node v8.4.0

手順

http-serverのインストール

$ npm install -g http-server

swagger-uiを持ってくる

$ cd path/to
$ git clone https://github.com/swagger-api/swagger-ui
$ cd swagger-ui/dist

dist/をルートにして動かします

$ http-server -p 9090
Starting up http-server, serving ./
Available on:
  http://127.0.0.1:9090
  http://*.*.*.*:9090 # macに振られているIP

これで、swagger-uiにアクセスすることができるようになりました。
今回はこのプロセスを永続化したいわけです

supervisorのインストール

この方のdocを参考にしてすんなり行きました

永続化するプロセスの設定ファイルを作成

$ /usr/local/etc/supervisor/conf.d
$ sudo vi swagger-ui.conf
$ cat swagger-ui.conf
[program:swagger-ui] 
directory=/path/to/swagger-ui/dist
command=http-server -p 9090
numprocs=1 
autostart=true
autorestart=true
user=user ; 実行ユーザー
redirect_stderr=true
stdout_logfile=/var/log/supervisor/swagger-ui.log

supervisorに設定を再読込させる

$ supervisorctl
supervisor>
# 設定読み込み
supervisor> reread
swagger-ui: available # conf.dに設定したプロセスが表示される

# 再起動
supervisor> reload
Really restart the remote supervisord process y/N? y
Restarted supervisord

# 確認
supervisor> status
swagger-ui                       RUNNING   pid 724, uptime 0:00:03

再起動するのかテスト

$ ps ax | grep http-server
 1198   0.0  0.0  2452260    832 s010  S+    2:58PM   0:00.01 grep http-server
 1035   0.0  0.1  3041256  11824   ??  S     2:50PM   0:00.27 node ~/.nvm/versions/node/v8.4.0/bin/http-server -p 9090
$ pgrep node
1035
$ pgrep node | xargs kill -9
$ ps ax | grep http-server | grep -v grep
 1276   0.0  0.3  3041256  22556   ??  S     3:00PM   0:00.26 node ~/.nvm/versions/node/v8.4.0/bin/http-server -p 9090

あたらしくプロセスIDが振られているので勝手に立ち上がっていることが確認できました

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2