[英]NGINX Index 404 Not Found
我剛剛在運行NGINX的新服務器上安裝了Ghost Blog。 Ghost config.json文件指向正確的目錄/ blog,並且在我訪問它時博客加載正常。
不起作用的是,當我從URL中刪除/ blog時,進入了404頁面。 我已經檢查了啟用網站的文件,該文件如下所示:
server {
listen 80;
listen [::]:80;
server_name *********;
root /var/www/ghost/system/nginx-root;
location ^~ /blog {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_pass http://*********:2368;
proxy_redirect off;
}
location ~ /.well-known {
allow all;
}
client_max_body_size 50m;
但是我不完全確定我需要更改什么才能得到404錯誤。 我有一個示例.php文件,該文件應該正在加載但不是。
我一直使用Digital Ocean一鍵式Ghost應用程序,但這次我想使用Ghost CLI。 我有種想念的感覺。
以下內容可能會消除您的一些限制,但可以使用
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl default_server;
listen [::]:443 ssl default_server;
server_name _;
ssl on;
ssl_certificate /etc/letsencrypt/live/thedomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/thedomain.com/privkey.pem;
access_log /var/log/nginx/thedomain.access.log;
error_log /var/log/nginx/thedomain.error.log;
root /var/www/thedomain;
index index.html;
gzip on;
gzip_proxied any;
gzip_types text/css text/javascript text/xml text/plain application/javascript application/x-javascript application/json;
location / {
try_files $uri $uri/ =404;
}
}
您需要確保所有ssl文件都已存在,並且有權通過www-data訪問。
如果您需要首次運行certbot,請在80塊中使用443代碼而不使用ssl語句
您發布的Nginx配置僅適用於Ghost。
您已經設置了一個在端口80上響應的服務器,將根設置為Ghost的nginx-root,並創建了2個位置塊。 一個用於/blog/
並服務於Ghost,第二個.well-known
塊用於通過letencrypt處理SSL證書的生成。
我不是為PHP配置nginx的專家,但是Digital Ocean的本指南以及這個stackoverflow問題涵蓋了很多細節。
我認為您有兩種選擇:
/
添加新的位置塊,以提供php文件 我相信添加這樣的新位置塊將意味着,如果URL中的路徑匹配,則將始終調用您擁有的任何.php文件。
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
但是fastcgi_pass的值將取決於您如何在系統上設置PHP。
這樣,轉到/index.php應該可以工作。
設置index: index.php
意味着/
映射到/index.php
我不確定這是否會干擾Ghost,如果確實如此,則需要一個特定的location / {}
塊而不是設置索引。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.