在 Nginx 的配置中遇到了困难的经历

简而言之

    1. 我用Vue创建了一个作品集网站,但在部署时遇到了问题。

 

    1. 我检查了Nginx的日志,发现是权限错误,所以我给目标目录添加了权限。

 

    1. 即使重新启动了Nginx和实例,权限错误仍然出现。

 

    我创建了/WWW目录,并在那里设置了权限来解决问题。

环境

    • EC2(AamazonLinux2023)

 

    • Nginx v1.24.0

 

    Vue3

发生的错误 de

2023/09/25 10:56:41 [crit] 2129#2129: *1 stat() "/home/ec2-user/[ディレクトリ名]/dist/" failed (13: Permission denied), client: 175.177.43.47, server: hogehoge.com, request: "GET / HTTP/1.1", host: "hogehoge.com"

似乎是由于nginx用户没有访问”/home/ec2-user/ec2-dep/dist/”的权限导致的。

總結

server {
    listen 80;

    server_name hogehoge.com; # ここに実際のドメイン名を入れてください。

    location / {
        root /www; # ここにビルドされたコードへのパスを入れてください。
        try_files $uri $uri/ /index.html;
    }
}

在 EC2 实例上运行,使用 ec2-user 用户

sudo mkdir /www

同样地执行以下命令。

sudo chmod 755 /www
sudo chown nginx:nginx /www

创建一个试用文件

echo '<h1>Hello, World!</h1>' | sudo tee /www/index.html

重启Nginx

sudo systemctl restart nginx

如果成功访问实例的开放IP并显示”Hello, World!”的话,那么就成功了!

还有一个事情。

npm run build

请执行以下操作,构建应用程序。

sudo cp -r /home/ec2-user/[ディレクトリ名]/dist/* /www/

请把 /www/ 文件夹下的所有内容复制到 dist 文件夹中。

重启 Nginx

sudo systemctl restart nginx

如果再次访问时,已经反映了变更,则结束!

请参考以下网站

 

bannerAds