Мне сложно настроить комбинацию перезаписи URL и fastcgi для nginx. Сервер приложений за интерфейсом fastcgi ожидает / myapp / в качестве базового пути. И я хочу сделать это доступным под моим http://myserver.com/
upstream appfcgi {
server 127.0.0.1:6000;
server 127.0.0.1:6001;
server 127.0.0.1:6002;
fair;
}
server {
listen 80 default;
server_name myserver.com;
root /var/www;
location / {
rewrite ^(/.*)$ /myapp$1 last;
}
location /myapp/ {
include /etc/nginx/fastcgi_params;
fastcgi_intercept_errors on;
fastcgi_pass appfcgi;
}
Независимо от того, что я пытаюсь, я всегда получаю корневой путь сервера приложений. Я помню, у меня были проблемы с тем, чтобы сделать то же самое с apache, но я забыл, что до сегодняшнего дня я пытался сделать это с помощью nginx. Любая помощь приветствуется. Спасибо.
Не думаю, что вам здесь нужны два места. Вот фрагмент одной из моих конфигов:
location / {
root /path.to.app/;
index index.php index.html;
rewrite ^/(.*)$ /index.php?query=$1 break;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /path.to.app/$fastcgi_script_name;
include fastcgi_params;
}