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.tar.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 をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: HTML フローティング フレーム (iframe 読み込み HTML) の設定と使用の例
>>: Node-Redを使用してMySQLデータベースに接続する方法
記述した Dockerfile の内容は次のとおりです。 Python:3.6.8 から pip i...
1. 切断理由WebSocket が切断される理由は多数あります。WebSocket が切断されたと...
目次1. はじめに2. シンプルなepollの例2.1、epoll_create 2.2、構造体イベ...
(I)ウェブページのカラーマッチングの基本概念(1)白黒の言葉は永遠のテーマです。誰もそれを悪く言う...
1. 問題の説明何らかの理由により、中国でのDockerイメージのダウンロード速度は特に遅くなります...
この記事の例では、グラフィック検証コードを実装するためのVueの具体的なコードを参考までに共有してい...
目次1. イベントの流れ1. コンセプト2. DOMイベントフロー2. イベントの委任1. イベント...
公式チュートリアルに従って、インストール パッケージをダウンロードし、[インストール] をクリックし...
wangEditor は、JavaScript と CSS に基づいて開発された Web リッチ テ...
Awk は、ソートを含む他の一般的なユーティリティによって実行できるいくつかのタスクを実行できる強...
目次1 トランザクションの同時実行で発生する問題1.1 ダーティリード1.2 繰り返し不可能な読み取...
目次乱数を生成する0から1までの乱数を生成する指定された範囲内で乱数を生成します6桁のモバイル認証コ...
関数を記述できます。主に正規表現を使用して判断を行います。入力文字が空の場合は、「-」を使用して置き...
CSS では、要素タグは、要素の表示モードの違いに応じて、インラインレベル要素とブロックレベル要素の...
1. 分業とプロセス<br />Tudou.comでは、プロジェクト開発が中核であり、誰...