【发布时间】:2020-10-29 00:35:09
【问题描述】:
我目前已经在 AWS 上的 nginx 上部署了 React 和 Node.js。我的部署没有问题,也没有错误。
当前环境是:PRODUCTION。
但我怀疑我遵循的方法是对还是错。这是我遵循的方法,https://jasonwatmore.com/post/2019/11/18/react-nodejs-on-aws-how-to-deploy-a-mern-stack-app-to-amazon-ec2
以下是我的nginx配置
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
root /var/apps/front_end/build;
try_files $uri /index.html;
}
location /api/ {
proxy_pass http://0.0.0.0:3005/;
}
如上所示,我已将 npm run build 后的 build 文件夹复制到 AWS 实例,并将位置提供给 nginx,后端原样复制到 AWS 实例,我将 npm start 它在 3005 端口上运行,我将该 IP 提供给 /api 位置以代理传递
我看到其他几个使用 server.js 作为前端并将构建文件夹文件放在那里并将 nginx 设置为该 server.js。
那我应该那样做吗?或者我对上面链接中的当前方法是否满意?
【问题讨论】:
-
在知道您是否做对之前,您能否提供有关您的应用程序的更多信息:1. 规模是多少 2. SLA 要求是什么 3. 是否需要后端(是它在服务器端呈现)根据您的答案,您可能能够在 AWS 上提供更便宜/更有效的解决方案。例如:CloudFront 上的静态站点
-
应用规模可能在 3000 到 5000 之间,以后可能会增加
-
这些数字是每秒请求数吗?
-
我们网站的活跃用户
-
好吧,如果您不需要服务器,我建议您不要使用 NGINX,而只是从 CloudFront 提供您的资产。您可以使用基于地理的路由来确保您的内容快速交付。像这样,medium.com/@wolovim/… prod 部署当然可能会有所不同,但这会给你一个想法
标签: javascript node.js reactjs amazon-web-services nginx