我是 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 的同一文件夹中,一切正常。我猜是权限问题。