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データベースに接続する方法

推薦する

mysql はフィールドコンテンツの一部を置き換え、mysql は関数 replace() を置き換えます。

[mysql] replace の使用方法 (フィールドの内容の一部を置き換える) [mysql]...

ウェブフロントエンドに対する一般的な攻撃とその防止方法

ウェブサイトのフロントエンド開発で発生するセキュリティ問題は、クライアントブラウザで実行されるコード...

Linux での NTP サーバー設定の詳細な手順

目次1. 環境設定1.NTPサーバー2. ビジネスサーバー2. NTPサーバーの設定1. chron...

IE ラベル LI テキスト折り返し問題について

私は長い間この問題に悩まされていましたが、検索してみたところ、実際にこの問題を解決した人がいることが...

Spring Cloud での Docker デプロイメントに jib を使用する詳細な手順

ジブの紹介Jib は Google が開発した、Java アプリケーションの Docker および ...

SSH経由でリモートLinuxシステムでコマンドを実行する方法

場合によっては、リモート マシンでいくつかのコマンドを実行する必要があることがあります。これが時々行...

TypescriptとAxiosに基づくインターフェースリクエスト管理の詳細な説明

目次アイデア傍受を要求するレスポンスインターセプションhttpClient.tsを使用してリクエスト...

CSS3のwebkit-box-reflectを巧みに使用して、さまざまな動的効果を実現します。

かなり前の記事で、 -webkit-box-reflectプロパティについて説明しました。リフレクシ...

MySQL の最適化: InnoDB の最適化

勉強の計画は簡単に中断され、継続するのが困難です。先日、社内で事業の方向性を調整するための会議があり...

nginx のスムーズな再起動を実装する方法

1. 背景サーバーの開発プロセスでは、新しいコードや構成をロードするためにサービスを再起動することが...

Win7x64でのMySQL 5.7.18解凍版のインストール方法

関連記事: Win7 x64 に解凍版の mysql 5.7.18 winx64 をインストールする...

Echarts 凡例コンポーネントのプロパティとソース コード

凡例コンポーネントは、ECharts でよく使用されるコンポーネントです。シリーズ マーカーの名前を...

Node.js コンソールで強調表示されたコードを印刷する方法

序文コードを実行してエラーが発生すると、エラーが出力されます。エラーにはスタック情報が含まれており、...

ウェブ上でチャートを描くための 9 つの優れた JavaScript フレームワーク スクリプト

ウェブ上でチャートを描くための 9 つの優れた JavaScript フレームワーク スクリプト 1...

データベースの水平セグメンテーションを実装するための2つのアイデア

導入インターネット アプリケーションの普及に伴い、膨大なデータの保存とアクセスがシステム設計における...