Dockerを使用して分散lnmpイメージを作成する

Dockerを使用して分散lnmpイメージを作成する

LNMP は、Linux システム上で Nginx、Mariadb、PHP を組み合わせて構築された動的 Web サイト サーバー アーキテクチャです。次に、Docker を使用して分散 lnmp イメージを作成します。

1. Docker分散lnmpイメージ生成

1. Nginx、MySQL、PHPコンテナを実行する

#ファイアウォールとコア保護をオフにする systemctl enable firewalld
systemctl 停止 ファイアウォール
強制0を設定する

# ポート 3306、80、9000 が使用されているかどうかを確認します ss -natp | grep 3306
ss -natp | grep 80
ss -natp | grep 9000

#カスタムネットワークを作成する docker network create -d bridge --subnet 172.168.184.0/24 --gateway 172.168.184.1 lnmp

#Nginx コンテナを実行します docker run -itd --name nginx --network lnmp -p 80:80 --ip 172.168.184.10 nginx:1.12.0

#MySQL コンテナを実行します docker run -itd --name mysql --network lnmp -p 3306:3306 --ip 172.168.184.20 -e MYSQL_ROOT_PASSWORD=010230 mysql:5.7

#PHP コンテナを実行します docker run -itd --name phpfpm --network lnmp -p 9000:9000 --ip 172.168.184.30 php:7.1-fpm 

ここに画像の説明を挿入
ここに画像の説明を挿入

ここに画像の説明を挿入

2. Nginx設定ファイルとPHPファイルを変更する

docker exec -it nginx /bin/bash
echo -e "サーバー{
    聞く 80;
    server_name ローカルホスト;
    位置 / {
        ルート /usr/share/nginx/html;
        インデックス index.html index.htmi index.php;
    }
    エラーページ 500 502 503 504 /50x.html;
    場所 = /50x.html {
        ルート /usr/share/nginx/html;
    }
    場所 ~ \.php$ {
        ルート /usr/share/nginx/html;
        172.168.184.30:9000; をパスします。
        fastcgi_index インデックス.php;
        fastcgi_param SCRIPT_FILENAME \$document_root\$fastcgi_script_name;
        fastcgi_params を含めます。
    }
}" > /etc/nginx/conf.d/default.conf

nginx -s リロード

docker exec -it phpfpm /bin/bash
mkdir -p /usr/share/nginx/html
echo "<?php
phpinfo();
?>" > /usr/share/nginx/html/index.php 

ここに画像の説明を挿入

ここに画像の説明を挿入

4. テストを実施する

仮想マシンにlocalhost/index.phpを入力します。

ここに画像の説明を挿入

このマシンで 192.168.184.70/index.php を入力します (私の仮想マシンのアドレスは 192.168.184.70 です)

ここに画像の説明を挿入

以上がdockerを使って分散lnmpイメージを作成する手順です。docker分散lnmpイメージの詳細については、123WORDPRESS.COMの他の関連記事もご覧ください。

以下もご興味があるかもしれません:
  • Docker で LNMP 環境を素早く構築する方法 (最新)
  • DockerでLNMPアーキテクチャを展開する方法
  • dockerでlnmp環境を構築する方法
  • Dockerを使用して統合サービスlnmp環境を作成する
  • Dockerを使用してLNMP環境を構築する詳細な説明
  • DockerコンテナでLNMPをコンパイルする例

<<:  コンテンツ領域の周囲を回転する CSS 動的グラデーション ボーダーの効果 (サンプル コード)

>>:  リンク内の href=# はどういう意味ですか?

推薦する

WangEditor リッチ テキスト コンポーネントを Angular でカプセル化する方法

リッチ テキスト コンポーネントは、Web プログラムで、特にブログやフォーラムなどの Web サイ...

メタタグの詳しい説明(メタタグの役割)

個人のウェブサイトがどんなに素晴らしいものであっても、サイバースペースの広大な海に浮かぶ小さなボート...

VMware 仮想マシンでの CentOS7 ネットワーク構成 (ホストのワイヤレス インターネット アクセス)

CentOS7 システムを使用するのは今回が初めてで、ネットワーク構成を行う際に多くの問題が発生し...

JSコードコンパイラMonacoの使い方

序文私が必要としているのは、構文の強調表示、関数プロンプト、自動行折り返し、およびコードの折りたたみ...

MySQLは1億のテストデータを素早く挿入します

目次1. テーブルを作成する1.1 テストテーブルt_userを作成する1.2 一時テーブルの作成2...

React コードを共有するためのベストプラクティス

プロジェクトがある程度複雑になると、必然的にロジックの再利用の問題に直面することになります。 Rea...

Linux のバックグラウンドで実行するいくつかの方法 (まとめ)

1. ノーフープハングアップ信号を無視してプログラムを実行する追加メモnohup コマンドは、ハン...

フォームにファイルをアップロードした後にアクションを保存するよう促す理由と解決策

jsonデータはhtml形式で返される必要がありますつまり、 response.setContent...

Linux での vi (vim) の新しい使い方のまとめ

私は数年間 vi エディタを使ってきましたが、実用的な用途で使ったことはありませんでした。今日 Py...

Mybatis での動的 SQL ステートメント分析

この記事は主にMybatisでの動的SQL文の解析について紹介します。この記事のサンプルコードは非常...

MySQL デッドロック ルーチン: 一意のインデックスの下でのバッチ挿入順序の不一致

序文デッドロックの本質はリソースの競合です。バッチ挿入の順序が一貫していないと、デッドロックに陥りや...

MySQL 継続的集計の原理と使用法の分析

この記事では、例を使用して、MySQL の継続的な集計の原理と使用方法を説明します。ご参考までに、詳...

HTML でスタイルを使用して属性を追加する例

必要なリンクにインライン スタイルを追加します。コードをコピーコードは次のとおりです。 <a ...

HTML チュートリアル: よく使われる HTML タグのコレクション (6)

関連記事:初心者が学ぶ HTML タグ (5)導入された HTML タグは、必ずしも XHTML 仕...

MySQLにおけるトランザクション分離レベルの実装原理の詳細な説明

序文データベース トランザクションに関して言えば、トランザクションの ACID 特性、分離レベル、解...