このトピックが役立つものだったため、3 年前のものですが追加させていただきます。本日、ポート使用中の問題に遭遇し、何が起きたのか少々困惑しています。もし他の誰かが同じ状況に陥った場合に備えて、出来事の順序を記録しておきます。
背景:Ubuntu 16.04.3 LTS を実行中(18.04 へのアップグレードはあまりにも恐くてできません)、Discourse 2.3.x(どのバージョンかは不明、その理由は後述します)。
app.yml に(関係のない)変更を加え、アプリを再構築しました。
また、Ubuntu が再起動を求めていたことに気づき(理由は確認しませんでした)、Ubuntu も再起動しました。
その結果、ポートエラーの問題が発生しました。
Apache2 が突然実行されていたことに気づき、無効化しました:
root@Discourse:~# sudo update-rc.d apache2 disable
insserv: warning: current start runlevel(s) (empty) of script apache2' overrides LSB defaults (2 3 4 5). insserv: warning: current stop runlevel(s) (0 1 2 3 4 5 6) of script apache2’ overrides LSB defaults (0 1 6).
その後、ポートが解放されたため、ようやくフォーラムが復活しました。
しかし、なぜこれが起きたのか理解できません。Apache2 はどこから来たのでしょうか?
再起動直後にフォーラムをテストすべきでした、あちゃ。Discourse のアップグレードが原因だったのか、Ubuntu の再起動が原因だったのか、今はわかりません(おそらくログに記録されているのでしょうが、Linux にはもうあまり詳しくないのです)。Discourse 2.5 は現在 Apache2 をインストールするのかどうか、フォーラムで探してみましたが、見つかりませんでした。
良い点は、Discourse のアップグレードが長らく遅れていたことです。ただ、過去 5 年間でほぼ 2 回に 1 回の割合でこのような問題に遭遇してきたため、最近はアップグレードに非常に消極的です。それでも、Discourse は大好きですが…