Meg*_*ing 9 deployment node.js reactjs nodemon mern
我是 Web 开发的新手,我有一个托管服务,我想在其上部署 reactjs/node 项目。为了之前部署它,我只是上传了从运行npm run build. 从那以后,我使用 MERN 堆栈添加了到 mongodb 数据库的连接。
使用create-反应,应用该项目最初创建,然后设置我的后端节点/ MongoDB的下面这个教程:https://appdividend.com/2018/11/11/react-crud-example-mern-stack-tutorial / . 我的所有服务器代码都包含在 api 文件夹中的项目文件夹中。
我可以通过运行npm start, nodemon server.js(来自 api 文件夹)并连接到终端中的 mongodb 在本地主机上运行该项目。当我尝试以与之前相同的方式从托管服务运行它时,它说它无法连接到数据库,我认为这是由于连接未在我的机器上打开。
目前,所有 API 调用都使用 axios post 到http://localhost:4000/,我也假设它在服务器上不起作用。我在网上查找了有关部署 MERN 堆栈的信息,但我发现的所有信息都在 AWS EC2 上进行了托管,这不是我将要做的。
我如何能够部署到我的托管服务?是否有任何参考资料或我应该寻找此信息的地方?
编辑:我已经使用 MongoAtlas 连接到数据库,所以我使用的是 SRV 地址。我认为问题是使用本地主机地址的 axios 帖子,因为服务器上的应用程序只有在我的本地机器上运行 nodemon 时才有效。我应该使用什么地址而不是这个地址?
目前,所有 API 调用都使用 axios post 到http://localhost:4000/,我也假设它在服务器上不起作用。
你是对的,那是行不通的。那是因为如果用户获得您的React 应用程序,所有 API 调用都将重定向到他们的localhost. 哪个不包含您的 API
当我尝试以与之前相同的方式从托管服务运行它时,它说它无法连接到数据库,我认为这是由于连接未在我的机器上打开。
这可能是因为 MongoDB URL 可能仍然设置为类似'mongodb://localhost:27017/myapp. 这里有两个主要选项。
localhostURL 一起使用我在网上查找了有关部署 MERN 堆栈的信息,但我发现的所有信息都在 AWS EC2 上进行了托管,这不是我将要做的。
由于您使用的是 MongoDB Atlas,请确保将服务器的 IP 地址列入白名单
| 归档时间: |
|
| 查看次数: |
17436 次 |
| 最近记录: |