在 Nginx 的配置中遇到了困难的经历
简而言之
-
- 我用Vue创建了一个作品集网站,但在部署时遇到了问题。
-
- 我检查了Nginx的日志,发现是权限错误,所以我给目标目录添加了权限。
-
- 即使重新启动了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
如果再次访问时,已经反映了变更,则结束!
请参考以下网站