この構成でサーバー上に新しいサイトを作成するには、サイトの名前でディレクトリを作成し、コンテンツを入力します。 そして、構成ファイルは唯一の変更されないままです。
構成は次のことを行います。
1. URLのこれらの文字に関係なく、サーバーがサイトを含むディレクトリを見つけるように、アドレスから「www」を切り取ります。
2.存在しないサイトをリクエストするときに別のページを提供します。
3.存在しないパスを要求するときに、サイトのルートにあるindex.phpへの標準リダイレクトを作成します。
4. .phpファイルを呼び出すときに、リクエストをphp-fpmにリダイレクトします。
5. .htm(l)ファイルをPHPとして処理する機能を追加します。
サイトのディレクトリは、/ var / www / all /に作成されます。
wwwからwwwなしへのSimlinksは必要ありません。
存在しないサイトを呼び出すと、gagサイトはディレクトリ/ var / www / all / undefinedに配置されます。
あるサイトですべてのhtmlファイルをPHPとして処理する必要がある場合、このサイトのルートに空のファイル.parse_htmlを配置する必要があります。
以下はサイト構成ファイルです。 / etc / nginx / sites_enabled / defaultに配置できます。
おそらく1つの制限があります:ルートのindex.phpのみを書き換えます。 ただし、スパッドする必要があるサイトの99.9%には、このオプションが適しています。
server { listen 80 default; # - 80 server_name _; # , , set $sathost $host; # sathost . # www if ( $host ~ ^(www\.)?(.+)$ ) { set $sathost $2; } root /var/www/all/$sathost; # index index.php index.html index.htm; # access_log off; # access_log /var/log/nginx/all/$sathost_access.log; # , , . error_log /var/log/nginx/all.error.log error; location / { # if (!-d /var/www/all/$sathost) { # # undefined, /all/undefined set $sathost undefined; rewrite ^ /index.php last; } # rewrite set $rflag 1; # , . flag if (-e $request_filename) { # , set $rflag 0; } if (!-f /var/www/all/$sathost/index.php) { # index.php , , set $rflag 0; } if ($rflag = 1) { # rewrite ^ /index.php last; } # rewrite if (-f $request_filename) { # expires 1h; break; } } location ~ \.php$ { # .php root /var/www/all/$sathost; fastcgi_pass 127.0.0.1:9000; # php-fpm fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/all/$sathost/$fastcgi_script_name; include fastcgi_params; break; } location ~ \.htm(l?)$ { # .html .htm # «.parse_html», HTML PHP fastcgi_param SCRIPT_FILENAME /var/www/all/$sathost/$fastcgi_script_name; include fastcgi_params; if (!-f $request_filename) { # .html, # , , rewrite rewrite ^ /index.php last; } if (-f /var/www/all/$sathost/.parse_html) { # # , html php fastcgi_pass 127.0.0.1:9000; } break; } location ~ /\.ht { # , «.ht» - . deny all; } }