今日は、Nginx ProxyManagerをRaspberryPiにインストールする方法を見ていきます!
ネットワーク上のサービスを公開している場合は、リバースプロキシを使用することで、セキュリティとパフォーマンスを向上させることができます。リバースプロキシは、Webサーバーの前に配置され、クライアント要求をWebサーバーに転送するサーバーです。素人の言葉で言えば、(ポート80/443を使用して)1つのサーバーを公開するだけでよく、必要な数のWebサービスを公開できます。
これは、リバースプロキシ(簡略化)のネットワークフローの例です。
このチュートリアルでは、家庭での使用に最適なRaspberry Piを利用しますが、トラフィックの多いものをホストしている場合は、より高性能なサーバーを使用することをお勧めします。インストールが完了したら、Portainerを使用してアプリケーションのステータスを確認しますが、これは必須ではありません。
手順– Nginx Proxy Manager Raspberry Pi
Dockerがインストールされていることを確認します。インストールされていない場合は、ここでインストール方法を学ぶことができます。
1.dockercomposeを使用してNginxProxyManagerコンテナーを作成する必要があります。これには、いくつかの依存関係をインストールする必要があります–以下のインストールコマンドを順番に実行してください。
sudo apt-get install -y libffi-dev libssl-dev sudo apt-get install -y python3 python3-pip sudo pip3 -v install docker-compose
2.コマンドのインストールが完了したら、configファイルとdocker-composeファイルが存在するフォルダーを作成する必要があります。次に、そのフォルダーに移動して、config.jsonという名前のファイルを作成します。
mkdir nginx cd nginx nano config.json
3.これらの内容を構成ファイルに貼り付けます。
{
"database": {
"engine": "mysql",
"host": "db",
"name": "npm",
"user": "npm",
"password": "npm",
"port": 3306
}
}
4.ファイルを保存して終了します。 docker-compose.yml
という名前の新しいファイルを作成しますnano docker-compose.yml
5.以下の内容をdocker-composeファイルに貼り付けます。
version: '3'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
ports:
- '80:80'
- '81:81'
- '443:443'
volumes:
- ./config.json:/app/config/production.json
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
db:
image: 'yobasystems/alpine-mariadb:latest'
environment:
MYSQL_ROOT_PASSWORD: 'npm'
MYSQL_DATABASE: 'npm'
MYSQL_USER: 'npm'
MYSQL_PASSWORD: 'npm'
volumes:
- ./data/mysql:/var/lib/mysql
エラーが発生し、コンテナが起動せず、「異常」として実行されている場合は、以下の手順に従ってください。
ソリューションについてコメントしてくれたPlan945に特に感謝します。
docker-compose.ymlでこれを置き換えます:
image: 'yobasystems/alpine-mariadb:latest'
これで:
image: 'yobasystems/alpine-mariadb:10.4.17-arm32v7'
6.ファイルを保存して終了します。 nginxフォルダーに2つのファイルが存在する必要があります。以下のコマンドを実行して、Dockerコンテナを起動します。
sudo docker-compose up -d
7.コンテナは、必要なすべてのファイルをダウンロードしてインストールします。
8.次に、RaspberryPiが再起動されたときにNginxProxyManagerが自動的に起動するために使用する両方のコンテナーを調整します。
sudo docker update --restart always nginx_app_1 sudo docker update --restart always nginx_db_1
9。 Raspberry Piを再起動します– 非常に重要です!
sudo reboot now
10.再起動が完了した後、コンテナが完全にインストールされるまでに数分かかります。以下のコマンドを実行して、コンテナのステータスを確認できます。 「正常」と報告されたら、NginxプロキシマネージャーのWebサイトに移動できます。または、Portainerをセットアップした場合は、Portainerを開いて、そこでコンテナのステータスを確認できます。
sudo docker ps
11.ステータスが正常に変わるのを待ちます 。
12.RaspberryPiのIPアドレスとポート81に移動します。
http://[RASPBERRY_PI_IP]:81
13.デフォルトのメールアドレスは[emailprotected]で、パスワードはchangemeです。ログインすると、この情報を変更するように求められます。
14.この時点で、NginxProxyManagerは完全にインストールされています。 Raspberry Piを指すには、ルーターのポート80/443を開く必要があります。そこから、Nginxプロキシマネージャーを構成する必要があります。大多数の人は、Nginxプロキシマネージャーをプロキシマネージャーとしてのみ使用します。サービスの構成プロセスは人によって異なるため、ここでは説明しませんが、例を示したときにどのように使用できるかを知りたい場合は、ビデオをチェックしてください。
>結論
ネットワーク上でサービスを公開している場合は、リバースプロキシを使用することをお勧めします。多くの人はNginxProxyManagerを実行する完全なサーバーを必要としないため、その場合はRaspberryPiが最適なオプションです。うまく動作し、セットアップもやや簡単です。
チュートリアルを読んでいただきありがとうございます。ご不明な点がございましたら、コメント欄にご記入ください!
DockerImagePruneでDockerイメージを管理しやすくする
MacでDockerをPodmanに置き換える方法、再考
21すべてのDockerユーザーが知っておくべき重要なコマンド