Здравствуйте!
Есть localhost, мне нужно чтобы на location / был proxy_pass
http://web:80;
Это сделать несложно
а на location /api
нужно запускать php-fpm
что то такое:
location /api/ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass api:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
Как правильно прописать location для php?
Если location /api/~ \.php$ {
То получаю ошибку с неправильным путем.
Ведет на /app/src/api/index.php"
А нужно на /app/src/index.php"
Что изменить чтобы заработало?
server {
listen 80 default_server;
server_name localhost;
error_log /var/log/nginx/error.log;
access_log /var/log/nginx/access.log;
location / {
proxy_pass http://web:80;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
break;
}
location /api/~\.php$ {
alias /app/src;
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass api:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
}