13: Intel Edisonの初期状態で起動するWebサーバを止めたい

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

よく訓練されたアップル信者、都元です。本日で「アドベントカレンダーかもしれない」は折り返しです。昨日のエントリーはこちらです。

さて、Intel Edisonは、初期状態でWebサーバが立ち上がっています。

2014-12-11_1944

セットアップを補助してくれる機能も持っているため、Getting start的には便利ですが、本気でEdisonを使いはじめるにあたっては、80番ポートを占有してしまうため、問題になる場合があります。というわけで、止めてしまいましょう。

80番ポートをリスンしているプロセスを突き止める

# lsof -i:80
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
node    1147 root   10u  IPv4  27618      0t0  TCP *:http (LISTEN)

なるほど、(ここでは)1147番がそのプロセスです。

# ps | grep 1147
 1147 root     70488 S    node /usr/lib/edison_config_tools/edison-config-server.js
 1172 root      2416 S    grep 1147

このサーバはnode.jsで動いていたんですね。なるほど。自動的に起動するということはsystemdによって制御されているわけですね。

# systemctl status edison_config
● edison_config.service - The Edison status and configuration service
   Loaded: loaded (/lib/systemd/system/edison_config.service; enabled)
   Active: active (running) since Thu 2014-12-11 10:43:11 UTC; 9min ago
 Main PID: 1147 (node)
   CGroup: /system.slice/edison_config.service
           └─1147 node /usr/lib/edison_config_tools/edison-config-server.js

それっぽいのを見つけました。

サービスを停止し、自動起動も止める

# systemctl disable edison_config
# systemctl stop edison_config

という簡単な話でした。前者がchkconfig off相当、後者がservice stop相当ですね。systemdの詳しい話は、はじめてのsystemdサービス管理ガイドを御覧ください。

明日のエントリーはこちらです。