Nginx で WordPress を設定する方法

Nginx で WordPress を設定する方法

以前、私は自分で WordPress を構築していましたが、当時はサードパーティの仮想ホストを使用していたため、1 台のマシンに数十の Web サイトが存在することもありました。当時、仮想マシンはまだ物理的な分離を実現しておらず、1 つの Web サイトがリソースを占有すると、すべての Web サイトがクラッシュする可能性がありました。

最近、Alibaba Cloud ECS 上に独立した WordPress を構築してみて、その構築過程を記録しました。

もともと私は、Apache を WordPress のコンテナとして使用し、Apache への直接のリバース プロキシとして nginx を使用することを考えていました。しかし、Apache を使ってみて問題が見つかりました。リバースプロキシとして nginx を直接使用し、Apache に切り替えると、疑似静的 URL にアクセスできなくなったようです。URL ごとに nginx の場所を設定する必要があるようでした。面倒すぎると感じたので、諦めました。

もちろん、他の解決策もあるかもしれませんが、試していません。後で調べたところ、nginx はサードパーティのプラグインを使用して PHP をサポートできることがわかりました。 nginx をコンテナとして直接使用することにも利点があります。デプロイが比較的簡単で、単一の nginx コンテナを通じて複数の Web サイトを直接デプロイできます。

1. ドメイン名の購入

これについては詳しく説明しません。ドメイン名プラットフォームにアクセスしてドメイン名を申請するだけです。

2.MySQLのインストール

MySQL のインストール方法についてはすでに説明しました。詳細はこちらをご覧ください。インストールが完了したら、WordPress 用に別のアカウントを作成する必要があります。なぜ別のアカウントを作成する必要があるのでしょうか?これは主にセキュリティ上の理由によるものです。WordPress が攻撃され、ルート アカウントを使用すると、データベース内のすべてのテーブルが公開されます。

// wordpress ユーザーを作成し、パスワードを設定します。パスワードはランダムに生成し、大文字と小文字、数字、特殊文字を組み合わせて 8 文字以上にすることをお勧めします。CREATE USER 'wordpress'@'%' IDENTIFIED BY 'password';

//WordPress アカウントに、選択、削除、更新、挿入、作成、変更など、すべての操作権限を付与します。GRANT all ON wordpress.* TO 'wordpress'@'%';

権限に関する詳細情報は、こちらをご覧ください。

3. nginxのインストール

Nginx は yum を使用してインストールされますが、非常に簡単です。

インストール:

yum -y nginx をインストールします。

起動する:

systemctl で nginx.service を起動します。

2 つのステップで nginx のインストールが完了します。

4. PHPをインストールする

4.1 PHPのインストール

yum -y php をインストールします。

PHP のインストールは非常に簡単です。インストールが完了したら、次のコマンドを実行してバージョンを表示します。バージョンが表示されれば、インストールが正しいことがわかります。

php -v;

4.2 php-fpmのインストール

PHP に加えて、fast-cgi と php-fpm の 2 つも必要です。それで、これら 2 つとは何でしょうか?詳細を知りたい場合は、こちらをご覧ください。簡単に言うと、fpm は fastcgi のマネージャーです。これまでは、php ファイルを正しく解析するために fpm をインストールする必要があることを知らず、長い間苦労していました。

yum で php-fpm をインストールします。

//インストールが成功したかどうかを確認します php-fpm -v;

php-fpmを起動する 
systemctl で php-fpm を起動します。

デフォルトでは、fpm はポート 9000 を占有します。

5. WordPressをインストールする

https://wordpress.org/latest.tar.gz をダウンロードしてください。

//解凍 tar -xzf latest.tar.gz -C /var/www/html;

解凍後、:/wordpress/wp-config-sample.php ファイルを見つけて、データベース名、ユーザー名、パスワードを変更します。フィールドは次のとおりです。

// ** MySQL 設定 - この情報は Web ホストから取得できます ** //
/** WordPress のデータベース名 */
define('DB_NAME', 'データベース名');

/** MySQL データベースのユーザー名 */
define('DB_USER', 'ユーザー名');

/** MySQL データベースのパスワード */
define('DB_PASSWORD', 'パスワード');

/** MySQL ホスト名 */
define('DB_HOST', 'あなたのホスト');

変更が完了したら、wp-config-sample.php のファイル名を wp-config.php に変更します。

6. nginxを設定する

以下は私の設定です。参考にしてください。

# * 公式英語ドキュメント: http://nginx.org/en/docs/
# * 公式ロシア語ドキュメント: http://nginx.org/ru/docs/

アップストリームphp {
 #サーバー unix:/tmp/php-cgi.socket;
 #fpmのデフォルトポート9000を指定します。
 サーバー 127.0.0.1:9000;
}

サーバー{ 
 聞く 80 ;
 聞く [::]:80 ;
 サーバー名 www.domain.com;
 ルート /web/www.domain.com/;
 インデックスindex.php;
 
 場所 ~ \.php$ {
  #注意: php.ini に「cgi.fix_pathinfo = 0;」と記述する必要があります
  fastcgi.conf をインクルードします。
  fastcgi_intercept_errors をオン;
  fastcgi_passphp;
 }

 # デフォルトのサーバー ブロックの構成ファイルを読み込みます。
 /etc/nginx/default.d/*.conf を含めます。
 }

7. セキュリティ設定

世界中のウェブサイトの約 20% が WordPress システムを使用しており、WordPress はハッカー攻撃の標的にもなっています。個人でも企業でも、セキュリティの問題は無視できません。一般ユーザーがセキュリティ保護を迅速に強化できる簡単な方法はありますか?いくつかのセキュリティ プラグインを調べたところ、セキュリティ戦略の改善に役立つプラグインが 1 つ見つかりました。そのプラグインは、All In One WP Security & Firewall です。このプラグインは比較的シンプルで、一般ユーザーにとって使いやすいです。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • WordPress をベースに個人ブログをゼロから構築する方法を教える 6 つのステップ
  • nginx+WordPressで個人ブログを構築するプロセス全体の詳細な説明
  • ホストNginx + Docker WordPress Mysqlを設定するための詳細な手順
  • Nginx 環境での WordPress マルチサイト構成の詳細な説明
  • Nginx で WordPress 擬似静的を設定する方法の例
  • WordPress ウェブサイトのアクセスが遅い問題を解決する方法に関する詳細なグラフィックチュートリアル

<<:  Vueはクリックを実装し、イベントオブジェクトとカスタムパラメータを同時に渡します。

>>:  Mysql5.7 サービスを開始できません。グラフィカル ソリューション チュートリアル

推薦する

mysql5.7.18 解凍バージョンで mysql サービスを起動します

mysql5.7.18の解凍版はmysqlサービスを起動します。具体的な内容は以下のとおりです。 1...

ウェブサイトのアクセス速度を向上させるための徹底的な最適化に関するヒント

<br />ウェブサイトのアクセス速度はウェブサイトのトラフィックに直接影響を及ぼし、ウ...

JSアルバム画像の揺れと拡大表示効果のサンプルコード

前回の記事では、JS を使って簡単な揺れ効果を実現する方法を紹介しました。ご興味があればクリックして...

vue3.0共通コンポーネントの自動インポート方法の例

1. 前提条件インポートには require.context メソッドを使用します。vite で作成...

MySQL カーソルの概念と使用法の詳細な説明

この記事では、例を使用して MySQL カーソルの概念と使用方法を説明します。ご参考までに、詳細は以...

JavaScript データ型変換の例 (他の型を文字列、数値型、ブール型に変換する)

序文データ型変換とは何ですか?フォームまたはプロンプトを使用して取得されるデフォルトのデータ型は文字...

MySQLの認証コマンドgrantの使い方

この記事の例は MySQL 5.0 以降で実行されます。ユーザー権限を付与するための MySQL コ...

CocosCreatorでWeChatゲームを作成する方法

目次1. WeChatパブリックプラットフォームからWeChat開発者ツールをダウンロードする2. ...

30分でReact Hooksを包括的に理解できます

目次概要1. 使用状態1.1 3つの概念に関する質問1.2 例1.3 注記2. リデューサーを使用す...

Vue プロジェクトに ECharts を導入する

目次1. インストール2. はじめに3. 使用4. 必要に応じてEChartsチャートとコンポーネン...

Dockerイメージ送信コマンドcommitの動作原理と使い方の詳細な説明

ローカルでコンテナを作成した後、このコンテナに基づいてローカル イメージを作成し、このイメージを D...

Linuxアカウントファイル制御管理の詳細な手順

Linux システムでは、ユーザーが手動で作成したさまざまなアカウントに加えて、システムまたはプログ...

Ubuntuのインストール Matlab2020b の詳細なチュートリアルとリソース

目次1. リソースファイル2. インストール2.1 詳細な手順2.1.1 ディスクイメージのマウント...

GoのDockerデプロイメント用の基本イメージ2つの実装

1. golang:最新のベースイメージ mkdir gotest タッチメイン.go Docker...

MySQL Group by最適化の詳細な説明

目次標準的な実行プロセス最適化並べ替えを削除並べ替え成し遂げる要約する標準の Group by ステ...