php - 如何将我的 ReactJS Web 应用程序部署到生产服务器
问题描述
我的项目是用 [ReactJS + php + mysql] 创建的。我已经设置了我的本地环境npm install
,npm 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 应用程序
解决方案
首先在生产环境中部署和构建您的 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 端
推荐阅读
- matlab - 计算 n×n Hermitian 矩阵的最大特征值和相应的特征向量有多昂贵?
- callstack - 使用 innerHTML 后,我的可拖动元素没有移动
- python - 在 Tkinter 条目中写入多行
- microsoft-teams - 团队按钮中的自定义协议链接?
- c# - 如何使用 .NET Core MVC 在 View 中解析和显示 JSON 数据?
- ebpf - eBPF: TC on egress 如何识别和忽略 TC on ingress 直接回复的数据包?
- android - 如何在缺口设备中使 exoplayer 全屏显示
- angular - 角度路由参数问题
- javascript - 值高于 var 的猫鼬 findOne()
- c# - 循环遍历 IEnumerable 并将它们传递给具有多个 if/else 条件的模型