フォーラムをDocker環境アプリケーションに移行する準備をし、その後の移行を円滑に進めるために、いくつかのコマンドを入力して前のフォーラムデータを新しいサーバーに移行するだけです。 この記事では、Dockerを使って新しいDiscuzフォーラムを構築し、試行錯誤しています。
Linux環境でのDockerインストールに関するチュートリアルについては、以下の内容を参照してください。
MySQLアプリをインストールしてください
以下のコマンドでMySQL Databaseバージョン5.7.34をインストールしてください:
実行完了後、ホストマシンのIP:3306ポートにアクセスでき、アカウントとパスワードはどちらも:rootです
phpMyAdminアプリをインストールしてください
phpMyAdminは、MySQLのウェブ管理を扱うためにPHPで書かれた無料ソフトウェアツールです。 phpMyAdminはMySQLとMariaDBで幅広い操作をサポートしています。 よく使われる操作(データベース、テーブル、カラム、リレーションシップ、インデックス、ユーザー、権限などの管理)はユーザーインターフェースを通じて実行でき、SQL文は直接実行できます。
コマンドは以下の通りです:
実行完了後、ブラウザからホストのIPアドレス8081にアクセスし、MySQLアカウントとパスワードを入力できます。以下の図に示されています。
Redisアプリをインストールしてください
Discuzは一部のコンテンツをRedisにキャッシュできるため、アクセス速度とパフォーマンスを向上させるため、必要なウェブマスターにとっては以下のコマンドでredisアプリをインストールしてください。
FTPサービスのインストール
DiscuzはFTPプロトコルを通じてリモートサーバーに添付ファイルをアップロードでき、フォーラムの添付ファイル(画像)はセカンドレベルドメイン名からアクセスでき、セカンドレベルドメイン名はCDNで加速されてウェブサイトの読み込み速度を向上させることができます。
新しい /data/wwwroot/ftp_data ディレクトリを作成して添付ファイルの内容を保存し、以下のコマンドを使用します。
Dockerを使ってFTPサービスをインストールするコマンドは以下の通りです:
FTPアカウントとパスワードは以下の通りです:dz_itsvse/a123456
注意:LOCAL_UMASKパラメータを設定してください。そうでなければnginxはアクセス時に許可なく403エラーを報告します!
Discuzプログラムをホストマシンにアップロードしてください
新しい /data/wwwroot/discuz ディレクトリを作成し、サイトプログラムに保存します。以下のコマンドで:
アップロード後、以下のように:
php-fpmアプリをインストールしてください
ホストマシンに新しいphp設定フォルダを作成し、コマンドは以下の通りです:
初めて(私の投稿の添付ファイルを使ってください。こんなことはしなくて大丈夫です!php-fpmコンテナを起動し、docker cpコマンドを使って次のコマンドで設定をホストのマッピングディレクトリにコピーする必要があります:
dockerを使ってphp-fpmアプリを起動します
コンテナを起動した後は、GD、mysql、redisなどのPHP拡張機能をインストールするためにコンテナ内に入る必要があります。そうしないと、データベースに接続できず、redisキャッシュを使えず、画像処理もできません。
以下のコマンドを使ってコンテナに入ります:
コンテナに入り、次のコマンドを実行します。
GDおよびRedis拡張機能のインストールに関する情報は、以下の記事をご参照ください。
拡張機能をインストールした後は、php5-fpmコンテナを再起動する必要があります!
php5-fpmコンテナの中に戻ってください。/data/wwwroot/discuzディレクトリ内の帰属可能なユーザーやグループを修正してください、そうでなければphp-fpm!で読み取られ、実行されません! ページが真っ白になる! コマンドは以下の通りです:
/data/wwwroot/discuzディレクトリで、以下のコマンドで新しいphpinfo.phpファイルを作成します。
php.ini 最も重要な最適化設定は以下の通りです。
デフォルトでPHP-FPMコンテナチューニング php-fpmパラメータやphp.ini設定(タイムゾーン、最大ファイルアップロード上限など)は以下を参照できます:
Nginx リバースプロキシ php-fpm
nginxサービスをホストマシンに直接インストールしましたが、dockerでインストールしたわけではありません。インストール内容は以下のように言えます:
nginx.confの主な構成は以下の通りです:
ブラウザアクセステスト:http://dev.itsvse.com:8099/phpinfo.php、下図に示されているように:
Discuzのインストールを始めましょう
上記はすべて準備段階です。mysql、ftp、redis、nginx、php-fpmなどを準備し、その後本格的なインストールを開始します。アクセス:http://dev.itsvse.com:8099/、下図に示されているように:
以下の図に示すようにMySQLデータベース接続を設定します:
設置は完了しており、以下に示されています。
リモートアタッチメントをテスト用にセットアップします。以下のように:
画像の透かしが正常かどうかを以下のようにテストしてください:
/data/wwwroot/discuz/config/config_global.phpの設定を変更してRedisキャッシュを使い、以下のように設定してください:
Redisコンテナにログインして、データがキャッシュされているか確認してください。以下の画像に示されています:
下の図のようにリモート接続機能が正常に動作しているかテストするために投稿してください:
phpconfig.zip ファイルは以下の通りです:
観光客の皆さん、この投稿の隠された内容を見たい方は、どうぞ 答える
(終わり)
|