1.はじめに
Visualixirをsystemdによる自動起動に対応させます。
GitHub - koudelka/visualixir: A process/message visualizer for BEAM nodes.💪👁
実行環境
Ubuntu 18.04LTSです。
$ uname -a Linux smsv3 5.3.0-51-generic #44~18.04.2-Ubuntu SMP Thu Apr 23 14:27:18 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
2.インストール
npm
$ sudo apt install npm
Visualixir
$ mkdir ~/gitwork/elixir/ $ cd ~/gitwork/elixir/ $ https://github.com/koudelka/visualixir.git $ cd visualixir $ mix deps.get && mix compile && cd assets && npm install && cd -
動作チェック
$ elixir --sname visualixir -S mix phx.server [Ctrl-\]で終了
ブラウザでhttp://localhost:4000/
を開くとこんな感じで見えます。
3.sytemdの設定
serviceファイル
$ touch visualizer.service
$ nano visualizer.service
visualizer.service
ここでは、インストールディレクトリを/home/ubuntu/gitwork/elixir/visualixir
としています。
[Unit] Description=Visualixir After=local-fs.target ConditionPathExists=/home/ubuntu/gitwork/elixir/visualixir [Service] WorkingDirectory=/home/ubuntu/gitwork/elixir/visualixir ExecStart=/usr/bin/elixir --sname visualixir -S mix phx.server ExecStop=/bin/kill -QUIT ${MAINPID} ExecReload=/bin/kill -HUP ${MAINPID} Restart=always StartLimitInterval=60 StartLimitBurst=3 KillMode=mixed Type=simple User=kenkyu Group=kenkyu [Install] WantedBy=multi-user.target
systemdに登録
# 設定をコピー(シンボリックリンク) $ sudo ln -s /home/kenkyu/gitwork/elixir/visualixir/visualizer.service /etc/systemd/system #設定の再読込 $ sudo systemctl daemon-reload #有効化 $ sudo systemctl enable visualizer.service #起動 $ sudo systemctl start visualizer.service #状態確認 $ systemctl status visualizer.service ● visualizer.service - Visualixir Loaded: loaded (/home/ubuntu/gitwork/elixir/visualixir/visualizer.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2020-05-09 12:24:31 JST; 1 days ago Main PID: 22918 (beam.smp) Tasks: 43 (limit: 4662) CGroup: /system.slice/visualizer.service ├─22918 /usr/lib/erlang/erts-10.7.1/bin/beam.smp -- -root /usr/lib/erlang -progname erl -- -home /home/ubuntu-- -pa /usr/lib/elixir/bin/../lib/eex/eb ├─22955 erl_child_setup 1024 ├─22984 /usr/bin/node node_modules/brunch/bin/brunch watch --stdin ├─22991 /usr/bin/node /home/ubuntu/gitwork/elixir/visualixir/assets/node_modules/brunch/lib/run-cli.js watch --stdin ├─23007 inet_gethost 4 └─23008 inet_gethost 4