簡體   English   中英

React App Docker 部署 Express/PM2 與 Nginx

[英]React App Docker deployment Express/PM2 vs Nginx

我已經創建並構建(react-script build)一個簡單的反應應用程序。 我想通過 Docker 映像將它部署到我的 ubuntu 服務器,我正在尋找建議。 使用 expressjs 和 pm2 為 react 應用程序提供服務更好還是通過 nginx 提供服務更有用? 有什么優點和缺點?

非常感謝您的建議

當您要部署 React 應用程序時,您通常使用 Webpack 之類的工具將其編譯為一組 static 文件。 完成此操作后,通過 nginx 部署它將比 Express 服務器更小更快,並且由於您沒有涉及整個 Node 解釋器,因此涉及的部分更少可能存在安全問題。

事實上,即使您的應用程序的 rest 位於容器中,將前端托管在外部某處也是有益的(例如,如果您要部署到 AWS,則將構建的前端放入 S3 存儲桶中) . 這可以稍微簡化部署機制,並且使用 Webpack 的文件哈希,您可以為最近沒有重新加載頁面的瀏覽器保留舊版本的代碼。 您可能仍然需要 nginx 代理(提供/index.html頁面,代理后端服務),但您不一定需要在前端代碼更改時重新部署它。

基於 Express 的部署設置的唯一真正優勢是能夠在生產中實時重新加載您的代碼。 但是,這會帶來很高的人為錯誤風險:意外輸入錯誤並保存文件,最終用戶會看到錯誤頁面。 我會避開這條路。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM