以前、私は自分で 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 を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: Vueはクリックを実装し、イベントオブジェクトとカスタムパラメータを同時に渡します。
>>: Mysql5.7 サービスを開始できません。グラフィカル ソリューション チュートリアル
データシート /* Navicat SQLite データ転送 ソースサーバー: school ソース...
この記事では、省、市、地区の3段階選択を実現するためのjsの具体的なコードを紹介します。具体的な内容...
ビューポートとはモバイル ブラウザは、Web ページを仮想の「ウィンドウ」(ビューポート) に配置し...
1. asキーワードはアサーションを示すTypescript では、アサーションを表現する方法が 2...
問題を見つける最近、プログラムのストレージを Mongodb に移行したところ、Guid 型が書き込...
導入同時接続数を制限するモジュールは http_limit_conn_module です。アドレス:...
JavaScript での HTML (選択オプション) の詳細な説明1. 基本的な理解:コードをコ...
目次VMware バープスイート1. 仮想マシンイメージとVMwareのインストールと使用2. 仮想...
目次Tomcat8のインストールと設定方法tomcat ダウンロードTomcat マネージャーを有効...
簡単です。チュートリアルを見てください。ブロガー1. まずdockerを起動するサービスdocker...
目次質問: 1. リモートログイン権限を有効にする: 2. MySQLの権限を更新します。 3. テ...
ハイパーリンク <a> タグはリンク ポイントを表します。これは英語の単語「anchor...
注意: スコープアニメーションは使用できません。 ! ! ! GIF経由 <テンプレート>...
序文デフォルトでは、MySQL はデータベース クエリ データをキャッシュするために大きなメモリ ブ...
クエリ書き換えプラグインMySQL 5.7.6 以降、MySQL Server は、サーバーが実行す...