VPS에 Ubuntu를 설치했습니다. 도메인 이름이 없으므로 https : // IP : port 통해 모든 콘텐츠에 액세스 할 수 있습니다 . ip / name을 통해 액세스 된 여러 웹 응용 프로그램을 실행하도록 nginx를 구성하려고했습니다.
여기 내 구성입니다
server {
listen 443 ssl;
error_log /var/log/nginx/nginx_error.log;
ssl_certificate /etc/nginx/ssl/server.crt;
ssl_certificate_key /etc/nginx/ssl/server.key;
set $root_path '/var/www/html';
root $root_path;
# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html index.php;
server_name localhost;
# handle static files within project.. break at end to avoid recursive redirect
location ~ app3/((.*)\.(?:css|cur|js|jpg|jpeg|gif|htc|ico|png|html|xml))$ {
rewrite app3/((.*)\.(?:css|cur|js|jpg|jpeg|gif|htc|ico|png|html|xml))$ /app3/$1 break;
}
location /app3 {
rewrite ^/app3(.*)?$ /app3/pathto/public/index.php?$1 last;
}
location / {
try_files $uri $uri/ =404;
}
location /app1 {
try_files $uri $uri/ /index.php;
}
location /app2 {
try_files $uri/ /index.php;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
#try_files $uri $uri/ =404;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_nam
}
}
이것은 app1과 app2에 잘 작동합니다. App3 (Laravel 앱)은 상대 경로 대신 절대 URL을 사용하기 때문에 올바르게 실행할 수 없습니다. 따라서 / app3 / pathto / public /. 대신 / api ..에 대한 404 요청을 얻습니다 (상대 경로로 app3 포크를 시도했지만 일부 이미지 및 글꼴이 표시되지 않는 경우 모두 잘 실행됩니다)
app3에 자체 루트 폴더가 있도록 nginx를 구성하는 방법은 무엇입니까? app3 위치의 루트 또는 별칭 지시문이 제대로 작동하지 않습니다.
감사 !