NGINX 在任何位置都找不到 index.html

NGINX 在任何位置都找不到 index.html

我是 nginx 新手,正在尝试部署一个 React 应用程序,但进展不太顺利。

我的 dist 文件夹位于 /home/ec2-user/difo/digital-input-for-operators-react/dist,其中包含静态文件(index.html、css 和 js)。

我的 nginx 默认页面在端口 80 上运行良好,但是当我尝试访问端口 3000(这是我在 listen 指令中输入的数字)时,出现 404 错误页面。

我尝试了 difo.ucnet.g-ushin.com:3000,得到了这个:

server {
    listen 3000;
    server_name difo.ucnet.g-ushin.com localhost;
    access_log /etc/nginx/logs/difo-react.log;
    root /home/ec2-user/difo/digital-interfaces-for-operators-react/dist;
    index index.html index.htm;
    location / {
        try_files $uri $uri/ =404;
    }
}

然后我尝试创建一个简单的 html 页面进行一些测试。我将这个新的 index.html 移动到 nginx 根文件夹中名为 page 的新文件夹,然后在我的 conf/server 块中尝试执行以下操作:


server {
    listen 3000;
    server_name difo.ucnet.g-ushin.com localhost;
    access_log /etc/nginx/logs/difo-react.log;
    root page;
    index index.html index.htm;
    location / {
        try_files $uri $uri/ =404;
    }
}

而且还不起作用。

这是日志:


10.23.7.153 - - [09/Nov/2022:14:39:19 +0000] "GET / HTTP/1.1" 404 555 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36"
10.23.7.153 - - [09/Nov/2022:14:44:05 +0000] "GET / HTTP/1.1" 404 555 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36"

有人能帮助我了解如何在 conf.d 中设置服务器块吗?

答案1

我将 dist 文件夹移到了 nginx 获取默认 index.html 的同一文件夹中,一切正常。我猜是权限问题。

相关内容