我正在嘗試為第一次測驗使用設定 nginx,但還沒有域。
我目前的目標是在 顯示一些頁面并在http://<server IP>提供一些靜態內容http://<server IP>/projectname。“某個頁面”目前只是默認的/var/www/html/index.nginx-debian.html.
在/etc/nginx/sites-available/我創建了一個projectname配置,并放置了一個指向啟用站點的鏈接:
sudo ln -s /etc/nginx/sites-available/tiddlywiki /etc/nginx/sites-enabled/
配置的第一個版本是
server {
listen 80;
listen [::]:80;
server_name <server IP>;
root /some/path/to/project/static-files;
index index.html;
location /projectname {
try_files $uri $uri/ =404;
}
}
我得到的是http://<server IP>開始提供靜態檔案,但http://<server IP>/projectname顯示 404。我該如何解決?因為下一步,我遵循了這個答案并嘗試設定 2 個位置:
location /projectname {
try_files $uri $uri/ =404;
}
location / {
root /var/www/html;
index index.nginx-debian.html;
}
但只在http://<server IP>后面得到了默認頁面,而 404 在http://<server IP>/projectname.
uj5u.com熱心網友回復:
好的,所以問題是,使用root指令,路徑連接到根,所以使用這個配置
server {
listen 80;
listen [::]:80;
server_name <server IP>;
root /some/path/to/project/static-files;
index index.html;
location /projectname {
try_files $uri $uri/ =404;
}
location / {
root /var/www/html;
index index.nginx-debian.html;
}
}
nginx 嘗試提供/projectname→/some/path/to/project/static-files/projectname這是一個不存在的檔案夾(現有檔案夾是/some/path/to/project/static-files)。我需要的是alias指令:
server {
listen 80;
listen [::]:80;
server_name <server IP>;
index index.html;
location /projectname {
alias /some/path/to/project/static-files;
index index.html;
}
location / {
root /var/www/html;
index index.nginx-debian.html;
}
}
我不確定它到底是如何try_files作業的,所以我暫時洗掉了它并添加了index指令。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/386049.html
標籤:nginx
