Nginx + Symfony。 仮想ホストを自動的に作成します

私は長い間、PHPフレームワークとしてsymfonyを使用しています。 nginx + php-fpm Webサーバーの役割では、多くの人がnginxができる素晴らしいことを使用していないことに気付きました。

以下に説明するスクリプトは、原則として、 symfonyで書かれたプロジェクトに適していますが、個人的にこの例をsymfonyに使用します。 ハンディキャップなしで仮想ホストを作成してください! ;)

プロジェクトがあるディレクトリがあるとします-/ var / www / git / ...条件は、プロジェクトディレクトリとホストを呼び出すことです。 たとえば、/ var / www / git / sait.ru。 (www。を機能させたい場合は、このフォルダへのシンボリックリンクを作成します(ln -s ...))。
合計:/ etc / hostsにホストを作成し、nginxを起動します。 彼はあなたの作業ディレクトリでプロジェクトをピックアップします。

server {
listen 80;
root /var/www/git/$host/web; #
server_name _;
charset utf-8;

location / {
if (-f $request_filename) {
expires max;
break;
}
if ($request_filename !~ "\.(js|htc|ico|gif|jpg|png|css)$") {
rewrite ^(.*) /index.php last;
}
}

location ~ \.php$ {
set $script $uri;
set $path_info "";
if ($uri ~ "^(.+\.php)(/.+)") {
set $script $1;
set $path_info $2;
}
root /var/www/git/$host;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/git/$host/web$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT /var/www/git/$host/web;
fastcgi_param PATH_INFO $path_info;
include /usr/local/nginx/conf/fastcgi_params;
}

location ~ /\.ht {
deny all;
}
}


Source: https://habr.com/ru/post/J67227/


All Articles