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 サービスを開始できません。グラフィカル ソリューション チュートリアル

推薦する

数百万のデータに対して MySQL クエリを最適化する 4 つの方法

目次1. 時間が経つにつれて限界が遅くなる理由2. 百万データシミュレーション1. 従業員テーブルと...

効率的な視覚化Nginxログ表示ツール

目次導入インストール表示フィールドフィルターソートキー導入Rhit は、標準フォルダー (gzip ...

MySQL 完全折りたたみクエリ正規マッチングの詳細な説明

概要前の章では、クエリのフィルター条件について学習しました。MySQL では、like % ワイルド...

MySql 5.7.20 のインストールとデータおよび my.ini ファイルの構成

1. まずMySqlの公式サイトからダウンロードします参考: https://www.jb51.ne...

JSは円形のプログレスバーのドラッグとスライドを実装します

この記事の例では、円形のプログレスバーのドラッグアンドスライドを実現するための具体的なJSコードを紹...

Windows 10 での mysql-8.0.17-winx64 のインストール方法

1.公式サイトからダウンロードして解凍する参考: ダウンロード後、zip 圧縮ファイル (mysql...

Win7 での mysql5.5 インストール グラフィック チュートリアル

MySQL のインストールは比較的簡単なので、通常は次のステップに直接進み、注意が必要な点に集中する...

MySQLのストレージエンジンの詳細な説明

MySQL ストレージ エンジンの概要ストレージ エンジンとは何ですか? MySQL のデータは、さ...

CSS の優先順位に関する詳細な紹介

CSS の優先順位について話す前に、CSS とは何か、CSS が何に使用されるのかを理解する必要があ...

Amap を使用した React 実装例 (react-amap)

React の PC 版は Amap を使用するようにリファクタリングされました。情報を検索したと...

JavaScriptはシンプルな日付効果を実装します

JavaScriptの日付エフェクトの具体的なコードは参考用です。具体的な内容は次のとおりです。コー...

インターフェーステストプラットフォームを構築するためのDjango+Vue+Dockerの詳細な説明

1. 冒頭の2つの単語みなさんこんにちは。私の名前はLin Zonglinです。私はテストエンジニア...

Vueはタブを切り替えてデータの状態を維持する3つの方法を実装します

Vue でタブ切り替えを実装する 3 つの方法1. v-showはコンテンツの切り替えを制御します1...

JavaScript カスタム カレンダー効果

この記事では、JavaScriptカスタムカレンダーエフェクトの具体的なコードを参考までに紹介します...