首页 > 解决方案 > 如何将我的 ReactJS Web 应用程序部署到生产服务器

问题描述

我的项目是用 [ReactJS + php + mysql] 创建的。我已经设置了我的本地环境npm installnpm start这很好,我的网站在我的本地 PC localhost:1234 中运行良好。之后,我想将我的 ReactJS Web 应用程序部署到生产环境中,为此我有一个 Digitalocean 的 Ubuntu 18.04 服务器。因此,我安装了 Nginx Web 服务器并让加密的 SSl 我有一个 DNS xplosa.com,这一切都已完成,当前指向 nginx 主页。

我已经尝试npm build过这样做没有错误我可以在我的项目中看到一个名为dist的目录它有我的部署源是杂乱无章的一堆文件,无论如何我只是将我的 dist 包含(在我的本地 pc 中)复制到我的 Nginx 指向目录(我的 digitalocean 的ubuntu 服务器)使用 SFTP 方法进行传输,但在我重新启动我的 nginx 并使用 www.xplosa.com 在互联网上检查我的网站后,它只显示我的网站欢迎消息。之后,我从中删除了我的源代码,并保留了它自己的欢迎页面,回到我的本地电脑并检查它在我的本地机器上是否有效。请帮助我在生产中部署我的 ReactJS Web 应用程序

标签: phpreactjsnginxdeploymentubuntu-18.04

解决方案


  • 首先在生产环境中部署和构建您的 React 应用程序。

  • 并配置 Nginx 以将应用程序作为静态服务器:

server {
  listen   80;
  server_name www.xplosa.com xplosa.com;

  rewrite ^(/.*)\.html(\?.*)?$ $1$2 permanent;
  rewrite ^/(.*)/$ /$1 permanent;

  root /home/ubuntu/www/your-path/;
  index index.html;
  try_files $uri/index.html $uri.html $uri/  /home/ubuntu/www/your-path/index.html /home/ubuntu/www/your-path/$uri.html  $uri =404;

}

注意:如果请求的资源不存在,上述配置将服务于索引页面,因此它将很好地服务于您的目的。并且您必须使用 Nginx 处理 Php 端


推荐阅读