WordPressはかなりメモリを消費するものです。私はApacheではなくnginxを使うことを考えています。
その前に考慮すべき1つの重要なことは、機能しなくなるプラグインがあるかどうかです。私はいくつかテストしましたが、それらはうまくいくようですが、壊れる可能性があるものがあるかどうかを調べる必要があります。
私は残念ながらこれに関する経験がありませんが、明らかにこれらの記事とプラグインがいくつかの問題に対処しているのでそれを行うことができます:
また、あなたは WPエンジンのWordPressホスティング に精通していますか?彼らは明らかにApacheとのハイブリッド形式で、おそらくフロントエンドプロキシとしてそれを使っています。
これらの助けを願っています。
小さな世界 :)。あなたはNginxとApache + Wordpressに関して多くの問題を見ることはないでしょう。私達は私達の会社のためにそれを同様に使用します、そして私達は1つのサーバーのために1ヶ月あたり20万ユニークと毎月百万ページビューを提供することに問題はありません。 Nginx + W3トータルキャッシュ、あなたはいくつかの非常に注目すべき数字を得ます。
最大の違いは書き換え規則ですが、同等の書き換え規則を提供するたくさんのガイドがあります(Mikeがリンクしたものなど)。
プラグインの観点からは、プラグインが何か本当におかしいことをしていない限り、違いはわからないはずです。すべての内部の書き換えルールとそのソートは、あなたのHTTPDとは無関係にWordPressレベルで処理されます。
一言で言えば、それのために行きます。
Nginxを使用してもWordpressのメモリ使用量は減りません。メモリが心配な場合は、必要なモジュールだけをロードするようにApacheの設定を最適化し、Apacheが必要とするメモリを減らす他の設定を行うことで、サーバごとにいくらか節約できます。
それに加えて、Apacheは考慮に値するキャッシングモジュールを持っているので、起動時にWordPressが使用していたであろう全てのメモリを節約するために。 WordPressの出力はキャッシュされるので、Wordpressはもう実行する必要はなく、メモリを節約できます。
Mod_rewriteがロードされていないことをWordPressが検出すると、pathinfoにフォールバックします。例:(/ index.php /%postname%/)パーマリンク設定ページのパーマリンク。あなたは nginx互換性 プラグインを使ってWordPressにかなりのパーマリンクを使わせ、それからあなたのnginxサーバーファイルに書き換え規則を追加することができます:
server { server_name mysite.com;
root /path/to/blog;
index index.php;
location / {
try_files $uri $uri/ @wordpress;
}
location @wordpress {
fastcgi_pass ...;
fastcgi_param SCRIPT_FILENAME $document_root/index.php;
include /etc/nginx/fastcgi_params;
fastcgi_param SCRIPT_NAME /index.php;
}
location ~ \.php$ {
try_files $uri @wordpress;
fastcgi_index index.php;
fastcgi_pass ...;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
}
文書はロシア語で書かれており、やや曖昧です。翻訳が悪いのか、それともドキュメントがそもそも明確ではないのかと疑問に思うことがあります。そのため、答えを見つけるのに時間がかかる場合や試行錯誤によるテストが必要になる場合があります。
しかし、作者はコミュニティに深く関わっているようで、設定オプションを説明しています。そして、NginX自体が、「ここではこのオプションを使用することはできません」などのフィードバックを提供します。
私はNgnix、ニスキャッシング対応のワードプレスセットアップの研究をしました。
ワードプレス用のNginx仮想ホスト設定。
server {
listen 127.0.0.1:8080 default_server;
listen [::]:8080 default_server;
root /var/www/html/wordpress;
index index.php index.html index.htm;
server_name yourdomain.com www.yourdomain.com;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
include fastcgi_params;
}
}
オープンファイル/ etc/default/varnishをインストールし、以下のように設定します。
DAEMON_OPTS="-a :80 \
-T localhost:6082 \
-f /etc/varnish/default.vcl \
-S /etc/varnish/secret \
-s malloc,256m"
実行中のポートを確認してください。
netstat -ntulp
netstatコマンドが見つからない場合.
Sudo apt-get install -y net-tools