電脳麻将で天鳳の牌譜を検討する - koba::blog で作成した天鳳牌譜変換サーバを外部からアクセス可能な常駐サービスとして起動するよう設定します。手順は、
- mod_proxy によりApacheをリバースプロキシにする
- systemd によりサーバ起動時に自動起動するようにする
となります。
mod_proxy によりApacheをリバースプロキシにする
たいていのサーバでは、すでにWebサーバ*1がポート80で起動しているものと思います。このためNode製のWebサービスは個々に任意のポートで立上げることとし、リバースプロキシの機能でメインのWebサーバと結びつけるのがよいでしょう。この方法なら80番のポートを奪い合わず、複数のNode製のサービスを共存させることができます。
電脳麻将 はWebサーバにApacheを使用しているので、Apacheをmod_proxyでリバースプロキシ化し、天鳳牌譜変換サーバにアクセスできるように設定します。天鳳牌譜変換サーバはデフォルトでは http://127.0.0.1:8001/tenhou-log/ で牌譜を配信するので、http.conf などに以下のような設定をすればOKです。*2
ProxyRequests Off <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass /majiang/tenhou-log http://127.0.0.1:8001/tenhou-log ProxyPassReverse /majiang/tenhou-log http://127.0.0.1:8001/tenhou-log
systemd によりサーバ起動時に自動起動するようにする
CentOS 7ではデーモンの管理は systemd で行うようになっています。天鳳牌譜変換サーバをサービスとして登録するために、/etc/systemd/system/tenhou-log-server.service を作成し、以下に設定します。
[Unit] Description=Tenhou-log conversion server After=network.target remote-fs.target nss-lookup.target [Service] ExecStart=/usr/local/bin/node /usr/local/bin/tenhou-log-server Restart=always [Install] WantedBy=multi-user.target
各設定の意味は以下の通りです。
- Description
- サービスの説明です。
- After
- サービスの起動順序を指定します。Apacheと同じ記述にしました。
- ExecStart
- サービスを起動するコマンド列です。フルパスで記述しましょう。
- Restart
- サービスが落ちた場合の再起動方法です。always は無条件再起動です。*3
- WantedBy
- サービスを起動する run level の指定です。Apacheと同じ記述にしました。*4
設定ができたら systemctl コマンドでサービスを有効化し起動します。
$ sudo systemctl enable tenhou-log-server $ sudo systemctl start tenhou-log-server
サーバを再起動してみましたが、問題なくサービスも起動されました。