クラウドでtraefikの背後にPostgreSQLとREDISを配置する
Useful for development purposes and faster environment setup.
この記事ではPostgreSQL and Redis 後ろにTraefik サーバーのプロキシを5ドルで公開し、あなたのサブドメインを指すようにします.
今試してみたいなら、こちらはGithub repo .
新しいプロジェクトを起動すると、おそらくいくつかのデータを格納し、ユーザーの情報を管理する場所が必要になります.そこにたくさんのデータベースがあるが、我々は最も知られている1つに固執するつもりです - PostgreSQL.
その時点で、データベースを設定してデータを格納するときには、トークンのようないくつかの一時的な情報を保存したり、アクセスすることができます.これを処理するために、traefikプロキシの後ろにPostgreSQLと同等に展開するREDISを使用できます.
サーバに設定を展開するために、以下の接続URLで外部の世界で利用できるようになります.
Postgres:
Domain: postgresql://admin:[email protected]:5432/db
IP: postgresql://admin:[email protected]:5432/db
Redis:
Domain: redis://db.website.com:6379
IP: redis://46.101.120.53:6379
だから、ローカルのセットアップを乱すことなくチームメイトの間で共有データベースを持つことができます.ために完全にガイドを完了するには、端末とのいくつかの親しみを持っている必要がありますDocker . ダイレクトサーバーのIPアドレスではなく、ドメインから利用可能なPostgreSQLとREDISを作成する場合は、登録ドメインとDNSレコードを変更できるダッシュボードにアクセスする必要があります.
サーバーの設定
私たちは使用するつもりですDigitalOcean しかし、5ドルのためのドロップレットを設定するには、好きなクラウドサービスを自由に使用できます.
新しいドロップレットを作成し、好みの設定を埋めるダッシュボードに移動します.私は、個人的に、doの市場からDockerで予め設定された液滴を使います.
また、サーバーの名前、領域、およびその他の設定を指定する必要があります.次に、Createをクリックし、プロセスが完了するまで待ちます.
次の手順に進む前に、コンソールを介してドロップレットに接続できるかどうかを確認します.DigialAceanは内蔵コンソールを提供するので、ブラウザから開くことができます.
液滴を押して設定を開き、右上隅にコンソールボタンが表示されます.それを押すと、ドロップダウンに接続されているターミナルウィンドウがポップアップします.
建物のドッキング
サーバーを設定した後、我々は
docker-compose.yml
traefik、PostgreSQL、REDISサービスのファイル.あなたがtraefikに精通していないならば、それは私がすべてのプロジェクトのためにすでに3年を使う素晴らしい代理サーバーです.2番目のバージョンから始めて、PostgreSQLとREDISコンテナを公開するTCPポートを設定することができました.
最初のDockerの構成サービスを作成することから始めましょう - traefikPostgreSQLとREDISコンテナのエントリポイントを記述する必要があります.その他の構成はかなり直感的でシンプルに見えます.あなたがtraefikについてもっと勉強したいならば、チェックアウトしてくださいthe documentation .
その後、PostgreSQLとREDISサービスを記述できます.
< div >
< hr/>
< H >
クラウドでの展開
<高橋潤子>
< tt >サーバをセットアップし、配備するファイルを作成します.p >
プロセスを簡単にするために、私はGithub repository どのコマンドを使ってコマンドを実行しますかp >
私たちのサーバに接続しましょう( DigitalOceanコンソールを使います)そして、リポジトリをクローンします
<> P >
クラスをハイライト表示する
> git clone https://github.com/kanzitelli/postgres-and-redis-behind-traefik.git backend
> cd backend
< div >私たちがDocker構成セットアップのために若干の環境変数を使用するように、我々は
.env
ファイルと値を入力します<> P >
クラスをハイライト表示する
> nano .env
< div >< P >
.env
ファイルは以下のようになります.< br/><> P >
クラスをハイライト表示する
# Postgres
DB_NAME=db
DB_USER=admin
DB_PASS=pass_12345qwerty
< div >一度、すべての値を1つにします.envファイルは、ビルドスクリプトを実行できます
<> P >
クラスをハイライト表示する
> sh build.sh
< div >建築プロセスが終了したら、どのdockerプロセスが動いているかを確認できます.< br/>
<> P >
クラスをハイライト表示する
> docker ps
< div >< P >
< p >私たちはサーバのIPアドレスを指し示すDNSレコードを作成しなければなりません.p >
< P >
DNSレコード更新は72時間かかるかもしれませんが、通常5分で発生します.ホストを解決したくない場合は、別の無線LANを試したり、モバイルデータを使用してくださいp >
< hr/>
< H >
セットアップのチェック
<高橋潤子>
現在開いているなら
db.website.com:6969
, traefikのダッシュボードが表示されます< P >
< tt >データベースへの接続を確立することで、すべてがうまく動いているか確認できます.PostgreSQLクライアントを使用することができます.p >
< P >
ボタンを押すと、すべてのテーブルが表示されます!p >
< P >
< hr/>
現在、あなたのリモートPostgreSQLとREDISをプロジェクトで起動することができます.p >
このアプローチは開発目的のために非常に便利ですが、生産条件に近いです.接続やその他のメトリックのレイテンシを測定することができます.p >
質問をしてください、どんな改善も提案して、ちょっとこんにちは!< em > < em >
< P >https://batyr.io |
Reference
この問題について(クラウドでtraefikの背後にPostgreSQLとREDISを配置する), 我々は、より多くの情報をここで見つけました https://dev.to/kanzitelli/deploying-postgresql-and-redis-behind-traefik-in-the-cloud-5an2テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol