docker デプロイメントの実装手順 lnmp-wordpress

docker デプロイメントの実装手順 lnmp-wordpress

1. 実験環境

システム: centos7 IP: 192.168.238.133

#ファイアウォールをオフにする [root@localhost ~]# systemctl stop firewalld 
[root@localhost ~]# systemctl ファイアウォールを無効にする
[root@localhost ~]# setenforce 0
#DNSを追加
[root@localhost ~]# cat /etc/resolv.conf
ネームサーバー 114.114.114.114
#ホスト名を変更する [root@localhost ~]# hostnamectl set-hostname docker-lnmp
[root@localhost ~]# su

2. Dockerソースをインストールする

#依存環境をインストールします [root@docker-lnmp ~]# yum install -y yum-utils device-mapper-persistent-data lvm2
#Ali をインストール docker source [root@docker-lnmp ~]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3. Dockerをインストールする

[root@docker-lnmp ~]# yum install -y docker-ce #コミュニティ バージョンをインストールします[root@docker-lnmp ~]# systemctl enable docker #自動起動を設定します/etc/systemd/system/multi-user.target.wants/docker.service から /usr/lib/systemd/system/docker.service へのシンボリック リンクを作成しました。
[root@docker-lnmp ~]# systemctl start docke #サービスを開始#dockerfileディレクトリを作成[root@docker-lnmp ~]# mkdir docker && cd docker
#MySQLとNginxのdockerfileディレクトリを作成する [root@docker-lnmp docker]# mkdir nginx mysql

ここに画像の説明を挿入

4. NginxとPHPをデプロイする

1. ソフトウェアパッケージと構成ファイルをアップロード/解凍する

ここに画像の説明を挿入

#ソフトウェア パッケージを解凍します [root@docker-lnmp nginx]# tar zxvf wordpress-4.9.4-zh_CN.tar.gz
[root@docker-lnmp nginx]# tar zxvf nginx-1.12.2.tar.gz
[root@docker-lnmp nginx]# tar zxvf libmcrypt-2.5.7.ta​​r.gz
[root@docker-lnmp nginx]# tar zxvf php-5.5.38.tar.gz

2. Dockerfileを作成する

[root@docker-lnmp nginx]# vim Dockerfile
docker.io/centos:7 より
yum -y updateを実行します
実行 yum -y install gcc gcc-c++ openssl-devel openssl autoconf cmake autoconf zlib zlib-devel libtool pcre pcre-devel wget net-tools make
groupadd -g 900 nginx && useradd nginx -g nginx -s /sbin/nologin を実行します。
docker.io/centos:7 より
yum -y updateを実行します
実行 yum -y install gcc gcc-c++ openssl-devel openssl autoconf cmake autoconf zlib zlib-devel libtool pcre pcre-devel wget net-tools make
groupadd -g 900 nginx && useradd nginx -g nginx -s /sbin/nologin を実行します。
nginx-1.12.2 を追加 nginx-1.12.2
実行 cd /nginx-1.12.2/ && ./configure --prefix=/usr/local/nginx --with-http_dav_module --with-http_stub_status_module --with-http_addition_module --with-http_sub_module --with-http_flv_module --with-http_mp4_module --with-http_ssl_module --with-http_gzip_static_module --user=nginx --group=nginx
cd /nginx-1.12.2/ && make && make install を実行します。
実行 ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
sed -i '1afastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;' を実行します /usr/local/nginx/conf/fastcgi_params
nginx.conf を /usr/local/nginx/conf/ に追加します。
wordpress を追加します /usr/local/nginx/html/wordpress
wp-config.php /usr/local/nginx/html/wordpress を追加します。
実行 yum -y install gcc gcc-c++ libxml2-devel libcurl-devel openssl-devel bzip2-devel openssl automake make autoconf libtool zlib-devel make pcre-devel wget net-tools
libmcrypt-2.5.7 を追加 libmcrypt-2.5.7
cd libmcrypt-2.5.7/&& ./configure --prefix=/usr/local/libmcrypt && make && make install を実行します。
php-5.5.38 を追加 php-5.5.38
実行 cd php-5.5.38/ && ./configure --prefix=/usr/local/php5.5 --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-openssl --enable-fpm --enable-sockets --enable-sysvshm --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --with-mhash --with-mcrypt=/usr/local/libmcrypt --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2 --enable-maintainer-zts && make && make install
実行 cd php-5.5.38 && cp php.ini-production /etc/php.ini
実行 cd /php-5.5.38 && cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm && chkconfig --add php-fpm && chkconfig php-fpm on を実行します。
実行 cp /usr/local/php5.5/etc/php-fpm.conf.default /usr/local/php5.5/etc/php-fpm.conf
実行 sed -i 's*;pid = run/php-fpm.pid*pid = run/php-fpm.pid*g' /usr/local/php5.5/etc/php-fpm.conf
sed -i 's/user = nobody/user = nginx/g' /usr/local/php5.5/etc/php-fpm.conf を実行します。
sed -i 's/group = nobody/group = nginx/g' /usr/local/php5.5/etc/php-fpm.conf を実行します。
sed -i 's/pm.max_children = 5/pm.max_children = 50/g' /usr/local/php5.5/etc/php-fpm.conf を実行します。
sed -i 's/pm.start_servers = 2/pm.start_servers = 5/g' /usr/local/php5.5/etc/php-fpm.conf を実行します。
sed -i 's/pm.min_spare_servers = 1/pm.min_spare_servers = 5/g' /usr/local/php5.5/etc/php-fpm.conf を実行します。
sed -i 's/pm.max_spare_servers = 3/pm.max_spare_servers = 30/g' /usr/local/php5.5/etc/php-fpm.conf を実行します。
エクスポーズ9000
エクスポーズ80

3. イメージを構築する

[root@docker-lnmp nginx]# docker build -t "centos:nginx-php" .

ミラーリストを表示

ここに画像の説明を挿入

4. コンテナを作成して実行する

[root@docker-lnmp nginx]# docker run -dit -p 80:80 -m 500m --memory-swap 1G 3efb4e2c79b5 /bin/bash
49c5b69ce7012579f4b024ef6be88ff5de8057ccc7f81583fcf04f1c3ec6a79c

コンテナリストを表示

ここに画像の説明を挿入

5. サービスを開始する

[root@docker-lnmp nginx]# docker exec -it 49c5b69ce701 /bin/bash
[root@49c5b69ce701 /]# /etc/init.d/php-fpm を開始 && nginx
[root@49c5b69ce701 /]# netstat -antp | grep php
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 32/php-fpm:master  
[root@49c5b69ce701 /]# netstat -antp | grep nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 39/nginx: マスター pr 

確認します:

ここに画像の説明を挿入

5. MySQLをデプロイする

1. MySQL dockerfileを作成する

[root@docker-lnmp mysql]# vim Dockerfile
docker.io/centos:7 より
実行 yum -y install gcc gcc-c++ make autoconf make cmake wget
実行 groupadd mysql; useradd -r -M -u 3306 -s /sbin/nologin -g mysql mysql
mkdir /usr/local/mysql; mkdir /data/mysql -pv を実行します。
yum install gcc gcc-c++ ncurses-devel bison bison-devel -y を実行します。
wget -c http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.29.tar.gz を実行します。
tar xf mysql-5.6.29.tar.gz -C /usr/local/src/ を実行します。
ワークディレクトリ /usr/local/src/mysql-5.6.29
cmake を実行します。-DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/etc -DMYSQL_TCP_PORT=3306 -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DDEFAULT_CHARSET=utf8 -DEXTRA_CHARSETS=all -DDEFAULT_COLLATION=utf8_general_ci -DWITH-MYSQLD-LDFLAGS=-all-static -DWITH-CLIENT-LD-FLAGS=-all-static -DWITH_DEBUG=0 && gmake && gmake install
chown -R root:mysql /usr/local/mysql/ && chown -R mysql:mysql /data/mysql を実行します。
chmod 755 /usr/local/src/mysql-5.6.29/scripts/mysql_install_db.sh を実行します。
/usr/local/src/mysql-5.6.29/scripts/mysql_install_db.sh --basedir=/usr/local/mysql --datadir=/data/mysql --no-defaults --user=mysql を実行します。
実行 cp /usr/local/src/mysql-5.6.29/support-files/my-default.cnf /etc/my.cnf
実行cp /usr/local/src/mysql-5.6.29/support-files/mysql.server /etc/init.d/mysqld
chmod 775 /etc/init.d/mysqld && /etc/init.d/mysqld start を実行します。
echo -e '#!/bin/bash\nexport PATH=$PATH:/usr/local/mysql/bin' >/etc/profile.d/mysql.sh を実行します。
実行ソース/etc/profile
エクスポーズ3306

2. イメージを構築する

[root@docker-lnmp mysql]# docker build -t "centos:mysql-5.6" .

ミラーリストを表示

ここに画像の説明を挿入

3. コンテナを作成して実行する

[root@docker-lnmp mysql]# docker run -dit -p 3306:3306 --device-write-bps /dev/sda:10M 704e5b978518 /bin/bash
960645a296e3e8795c344a8037b0641f8b5baf8e2214453214359071480c379d

コンテナリストを表示

ここに画像の説明を挿入

4. サービスを開始する

[root@docker-lnmp mysql]# docker exec -it 960645a296e3 /bin/bash
[root@960645a296e3 mysql-5.6.29]# /etc/init.d/mysqld を起動します
MySQL を起動しています............ 成功しました!

5. データベース認証

#パスワードを変更 [root@960645a296e3 mysql-5.6.29]# mysql -uroot -p123456
警告: コマンド ライン インターフェイスでパスワードを使用すると安全でない可能性があります。
エラー 1045 (28000): ユーザー 'root'@'localhost' のアクセスが拒否されました (パスワード使用: YES)
[root@960645a296e3 mysql-5.6.29]# mysqladmin -u root -p パスワード
パスワードを入力してください: 
新しいパスワード: 
新しいパスワードを確認: 
#[root@960645a296e3 mysql-5.6.29]を承認# mysql -uroot -p123456
mysql> create database wordpress default charset utf8 COLLATE utf8_general_ci; #wordpress テーブルを作成 クエリは正常、1 行が影響を受けました (0.00 秒)

mysql> 'wordpress'@'%' (識別名 '123456') に、付与オプションを使用して wordpress.* のすべての権限を付与します。# 認証クエリは正常、影響を受けた行は 0 行 (0.00 秒)

mysql> 権限をフラッシュします; #権限を更新します クエリは正常です、0 行が影響を受けました (0.01 秒)

アクセス: http://192.168.238.133/wordpress/index.php

ここに画像の説明を挿入

docker デプロイメント lnmp-wordpress の実装手順に関するこの記事はこれで終わりです。docker デプロイメント lnmp-wordpress の関連コンテンツについては、123WORDPRESS.COM で以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Docker で LNMP 環境を素早く構築する方法 (最新)
  • Dockerを使用して分散lnmpイメージを作成する
  • DockerでLNMPアーキテクチャを展開する方法
  • LNMP と phpMyAdmin を Docker にデプロイする方法
  • dockerでlnmp環境を構築する方法
  • Dockerを使用して統合サービスlnmp環境を作成する
  • Dockerを使用してLNMP環境を構築する詳細な説明

<<:  HTML フローティング フレーム (iframe 読み込み HTML) の設定と使用の例

>>:  Node-Redを使用してMySQLデータベースに接続する方法

推薦する

Dockerfile ビルド中に発生する「/bin/sh: pip: コマンドが見つかりません」という問題の解決方法

記述した Dockerfile の内容は次のとおりです。 Python:3.6.8 から pip i...

JS WebSocket 切断理由とハートビートの仕組みの詳しい説明

1. 切断理由WebSocket が切断される理由は多数あります。WebSocket が切断されたと...

Linux ソースコードの解析 epoll

目次1. はじめに2. シンプルなepollの例2.1、epoll_create 2.2、構造体イベ...

シンプルなウェブデザインコンセプトのカラーマッチング

(I)ウェブページのカラーマッチングの基本概念(1)白黒の言葉は永遠のテーマです。誰もそれを悪く言う...

Docker用国産イメージウェアハウスの使い方

1. 問題の説明何らかの理由により、中国でのDockerイメージのダウンロード速度は特に遅くなります...

Vueはグラフィック検証コードを実装する

この記事の例では、グラフィック検証コードを実装するためのVueの具体的なコードを参考までに共有してい...

JavaScript イベント キャプチャ バブリングとキャプチャの詳細

目次1. イベントの流れ1. コンセプト2. DOMイベントフロー2. イベントの委任1. イベント...

MacOS に MySQL 8.0 をインストールして MySQL にログインする方法

公式チュートリアルに従って、インストール パッケージをダウンロードし、[インストール] をクリックし...

Vue で wangeditor リッチテキスト編集を使用する際の問題

wangEditor は、JavaScript と CSS に基づいて開発された Web リッチ テ...

テキスト ファイルの並べ替えに役立つ Awk コマンドラインまたはスクリプト (推奨)

Awk は、ソートを含む他の一般的なユーティリティによって実行できるいくつかのタスクを実行できる強...

MySQL マルチバージョン同時実行制御 MVCC の基本原理の分析

目次1 トランザクションの同時実行で発生する問題1.1 ダーティリード1.2 繰り返し不可能な読み取...

乱数、文字列、日付、検証コード、UUIDを生成するMySQLメソッド

目次乱数を生成する0から1までの乱数を生成する指定された範囲内で乱数を生成します6桁のモバイル認証コ...

正の整数かどうかを判断するMYSQLカスタム関数の例コード

関数を記述できます。主に正規表現を使用して判断を行います。入力文字が空の場合は、「-」を使用して置き...

CSS における要素の表示モード

CSS では、要素タグは、要素の表示モードの違いに応じて、インラインレベル要素とブロックレベル要素の...

Tudou.com フロントエンドの概要

1. 分業とプロセス<br />Tudou.comでは、プロジェクト開発が中核であり、誰...