こんにちは
Discourse の新しいインスタンスをインストールしており、ドメインのルートにインストールしようとしています (Configure your hosted Discourse site to run at the root or apex domain (e.g. example.com) を読み、要件を満たすことができます)。初回は間違いを犯し、apex ドメインを discourse-setup スクリプトに提供した場合、NGinx が Docker の外で実行されることに気づきました。これは簡単にテストして再現できます。
新しい VM インスタンスを起動し、nginx がインストールされておらず、ポート 80 が開いていないことを確認しました。
discourse-setup スクリプトを実行し、スクリプトに apex ドメインを提供しました。
スクリプトは完了まで実行されます。
Nginx は Docker の外で実行されており (ps -ax で確認済み)、ポート 80 を占有しています。ドメインを参照すると、「Welcome to nginx」画面が表示されます。
これを検索しましたが、他のレポートは見つかりませんでした。ただし、nginx が Docker の外で実行されているという報告をいくつか見かけました。これが原因である可能性があります。
これは私のミスであることは承知していますが、おそらくスクリプトでは apex ドメインを提供できないようにすべきでしょうか?
これは技術的には不可能です。お使いのVMには、おそらくnginxがプリインストールされていたのだと思います。一部のクラウドプロバイダーは、標準イメージにWebサーバー(apache2またはnginx)をバンドルしています。
「いいね!」 1
こんにちは!そうですね。私もそう思って、まったく新しいVMをプロビジョニングし、discourse-setupを実行する前にNginxがインストールされていないことを確認してテストしました。実行直後にNginxが説明どおりに動作しました。
いくつかインストールしたことがあり、毎回まったく同じ手順に従っており、すべて期待どおりに動作しています。今回初めてドメインのルートにインストールしようとした(つまり、セットアップスクリプトにexample.comを提供した)ときに、この問題が発生しました。同じVM、同じOSなどです。
もう一度テストして、さらにログを取得します。
今朝、Discourseをルートドメインにインストールして試してみたところ、問題なく読み込まれました。 (Digital Ocean、2GBドロップレット)
「いいね!」 1
RGJ
(Richard - Communiteq)
2022 年 2 月 7 日午前 11:43
5
ClubmanPlus850:
docker の外部(ps -ax で確認済み)
ps -ax は Docker 内部で実行されているプロセスも表示します。
これは仮想化ではなく、コンテナ化です。
コンテナの内外で service nginx status を試してください。
root@ip:~# service nginx status
Unit nginx.service could not be found.
root@ip:~# cd /var/discourse/
root@ip:/var/discourse# ./launcher enter app
x86_64 arch detected.
service service root@ip-app:/var/www/discourse# service nginx status
[ ok ] nginx is running.
「いいね!」 1