gpt4 book ai didi

node.js - 我应该在生产中使用 Nginx 来服务 React 吗?

转载 作者:行者123 更新时间:2023-12-02 12:01:33 26 4
gpt4 key购买 nike

我正在 Kubernetes 上使用 React 和 Node.js 构建 SPA。我为前端和后端服务提供了单独的服务和入口。我见过人们也使用 Nginx 来服务 React 构建,但我发现下面的做法效果很好。

# Dockerfile.production
FROM node:8.7.0-alpine
RUN mkdir -p /usr/app/client
WORKDIR /usr/app/client
COPY package*.json /usr/app/client/
RUN npm install
RUN npm install -g serve
COPY . /usr/app/client
EXPOSE 3000
RUN npm run build
CMD ["serve", "-s", "build", "-l", "3000" ]

或者,我可以使用 Nginx 来提供构建服务,如下所示。这似乎是“正确的方法”,但我不确定与使用serve npm 包相比有什么优势,尽管它对我来说确实感觉很hacky。似乎可以使用 Nginx 配置来为应用程序提供服务的所有内容也可以在 Ingress 中完成,对吗?

server {
server_name example.com;
...

location ~ / {
root /var/www/example.com/static;
try_files $uri /index.html;
}
}

最佳答案

服务很好。 Nginx 可能会使用少几个字节的 RAM 来提供服务,但这将通过携带您不使用的所有额外功能来抵消。我们对许多 K8s SPA 使用类似的 Serve 设置,每个 pod 在满负载时使用 60 到 100MB 的 RAM。对于其他一些应用程序,我们有 Caddy 的精简版本,它的最大容量约为 70MB,因此略少一些,但可能有更好的方法来担心 30MB RAM :)

关于node.js - 我应该在生产中使用 Nginx 来服务 React 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61178165/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com