nginxでConcrete5を動かすための防備録
/var/www/html/concrete5
に展開した、webサーバーはnginx。
/etc/nginx/sites-enabled に設定ファイルdefultファイルが有るとうまくいかないので消す。
/etc/nginx/sites-enabled/concrete5.conf を作る、ほんとはシンボリックリンクだけどとりあえず。中身は
server {
listen 80 default_server;
#listen [::]:80 default_server;
root /var/www/html/concrete5;
index index.php index.html index.htm;
# server_name _;
location / {
try_files $uri $uri/ /index.php?$args;
if (-f $request_filename) {
expires 14d;
break;
}
if ($uri ~ "^(.+?\.php?)(/.*)$") {
set $path_info $2;
}
if (!-e $request_filename) {
rewrite / /index.php last;
}
}
location ~ \.php$ {
# include fastcgi_params;
include snippets/fastcgi-php.conf;
# fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
# fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
# fastcgi_index index.php;
fastcgi_param URI $uri;
fastcgi_intercept_errors on;
fastcgi_ignore_client_abort off;
fastcgi_connect_timeout 60;
fastcgi_send_timeout 180;
fastcgi_read_timeout 180;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
#コミュニティーに接続する場合必要
# fastcgi_param PHP_VALUE "allow_url_fopen=On";
}
}
でとりあえず動く、http://IPアドレス で動くhttp://IPアドレス/concrete5十かで動かしたいんだけどね。
listen 80 default_server;# server_name _;
listen 80 default_server; は開けるポート、通常httpは版 default_server はServer_name が一致しないときに開かれる設定らしい。
#listen [::]:80 default_server;
はIPv6の時のポート-------------------
root /var/www/html/concrete5;
ルートディレクトの設定
-------------------
-------------------
location / {
ルートディレクトリ?に対する処理、/test/ などは別にlocation /test 等が無い限り全てに適用されるそうだ。
-------------------
try_files $uri $uri/ /index.php?$args;
多分これがキモ、$uri、$uri/ を/index.php?$args; index.php?引数にわたせか。
この辺の設定をちゃんとすれば動きそう。
コメント
コメントを投稿