Saya perlu memiliki beberapa PHP-FPM di domain tunggal.
Contoh: services.local / notifikasi -> notifikasi: 9000 services.local / auth -> auth: 9000
Jadi, saya punya konfigurasi vhost:
server {
server_name services.local;
root /www;
include /etc/nginx/conf.d/services/*.conf;
error_log /var/log/nginx/symfony_error.log;
}
Dan saya punya notification.conf
location /notification {
root /www/;
index app.php index.html;
#try_files $uri $uri /notification/web/app.php?$is_args$args;
rewrite ^(.*)$ /notification/web/app.php last;
}
location /notification/web/app.php {
fastcgi_pass notification-upstream;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME /www/notification/web/app.php;
fastcgi_param HTTPS on;
}
Masalahnya adalah bahwa setiap penulisan ulang ke app.php menghasilkan pengunduhan kontennya, bukan meneruskannya ke FPM.
Ketika saya mengakses app.php secara langsung maka itu diteruskan ke PHP-FPM, satu-satunya masalah adalah dengan kombinasi subdirektori + PHP-FPM + menulis ulang
Saya pikir saya sudah mencoba semuanya selama dua hari dan saya tidak punya ide lain. Konfigurasi ini dibangun kembali 50 kali :)
Jawaban:
Akhirnya saya menemukan solusinya. Saya tidak tahu hanya apakah itu akan bekerja dengan aset statis, mungkin tidak, tetapi ini bukan kasus saya. Merasa bebas untuk mempercantik dan menyederhanakan kode ini karena saya sadar bahwa kode ini terlihat sedikit jelek tetapi berfungsi dengan baik.
sumber