Nginxの設定
MR
https://gitlab.com/karasu97/ansible-httpd/-/merge_requests/7
後に下記で修正。 https://gitlab.com/karasu97/ansible-httpd/-/merge_requests/12/ 929c5e17
要項
Nginxデーモンの起動と有効化
$ systemctl start nginx
$ systemctl enable nginx
Nginx.confの設定
root
下記が$document_root
の値となる。
root /var/www/public_html/wordpress;
wp-config.php
wp-config.php
にはデータベース接続の情報、テーブルプレフィックス、特定のディレクトリへのパス、特定の機能に関連する多くの設定などのデータが保存される。よって、wp-config.php
にはURIからのアクセスを禁止するよう設定する。
https://kinsta.com/jp/blog/wp-config-php/
location ~* /wp-config.php {
deny all;
}
*.php
wordpressは動的ページをphp
を用いて提供する。FastCGIはWebサーバでユーザプログラムを動作するための仕組みであり、CGIはユーザから要求があるたびにプロセスの生成と破棄を行う。PHPには、モジュール版とCGI版が存在するが、今回はCGI版を活用する。ちなみにモジュール版の方が早いが、CGIでは、CGIを動かすユーザとWebサーバを動かすユーザが分離されているため、相互干渉のリスクが低減される。
location ~ [^/]\.php(/|$) {
try_files $uri @wordpress;
# FastCGIサーバへリクエストをプロキシするように設定(同居しているため`127.0.0.1`)
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
# 読み込んだ設定ファイルにパラメータの上書き
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
# Fast-CGIの設定ファイルを読み込む
include fastcgi_params;
fastcgi_buffers 16 16k;
fastcgi_buffer_size 32k;
}
Edited by Lucifer