如何将我的ReactJS Web应用程序部署到生产服务器

时间:2019-10-23 04:32:22

标签: php reactjs nginx deployment ubuntu-18.04

我的项目是使用[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中)使用SFTP方法传输到我的Nginx指向目录(我的Digitalocean的ubuntu服务器),但是在我重新启动Nginx并使用www.xplosa.com在Internet上检查我的网站后,它仅显示我的网站欢迎消息。之后,我从中删除了我的源代码,并保留了它的欢迎页面,然后回到我的本地PC并检查它在我的本地计算机上是否可以正常工作。请帮助我在生产环境上部署ReactJS Web应用程序

2 个答案:

答案 0 :(得分:1)

  • 首先在生产环境上部署并构建您的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结束

答案 1 :(得分:0)

您可以使用update ip table进行操作,并将流量从80端口重定向到生产服务器中的1234端口。

您可以使用pm2命令将端口注册为始终在生产服务器中运行,然后使用ip表可以重定向端口。

另一种选择是只提供构建文件夹的路径和配置文件(apache2或nginx)中的服务器路径。