Node.js 如何在子域中的同一目录上部署React app和Nodejs后端?
我有一个React应用程序,我用Node js制作了后端,也是MongoDB的服务器。这是一个MERN堆栈。我的目录结构如下:Node.js 如何在子域中的同一目录上部署React app和Nodejs后端?,node.js,reactjs,deployment,web-deployment,filezilla,Node.js,Reactjs,Deployment,Web Deployment,Filezilla,我有一个React应用程序,我用Node js制作了后端,也是MongoDB的服务器。这是一个MERN堆栈。我的目录结构如下: -client // this is where react app, in build version is in client/build -middleware -models -routes package.json server.js ... 我想这样部署它,在我的Filezilla中: -test.Server22c -backend //
-client // this is where react app, in build version is in client/build
-middleware
-models
-routes
package.json
server.js
...
我想这样部署它,在我的Filezilla中:
-test.Server22c
-backend // this is where all nodejs files
-static //these folder and other files are my build files in react app client/build
-index.html
...
我如何安排在同一文件夹中一起使用这些文件?我在react redux中更改了Axios post链接中的端点,但它不起作用最好的选择是使用两个不同的端口,一个用于react应用程序,一个用于node.js服务器 假设我们将使用:
- React应用程序()的HTTP默认端口80
- Node.js服务器()的自定义端口8080
service
,就可以在中找到所需的一切
您基本上需要在react目录中执行这些命令
npm install -g serve
serve -s build -l 80
请确保您的计算机上没有运行任何apache服务器,否则端口80将被占用
Node.js
您只需要在端口8080上运行服务器,我不知道您使用的是哪个框架,所以假设您使用的是express,那么在您的入口点index.js
中会出现类似的情况
app.listen(8080, function() {
console.log("Server is running on port 8080...");
});
最好的选择是使用两个不同的端口,一个用于react应用程序,另一个用于node.js服务器 假设我们将使用:
- React应用程序()的HTTP默认端口80
- Node.js服务器()的自定义端口8080
service
,就可以在中找到所需的一切
您基本上需要在react目录中执行这些命令
npm install -g serve
serve -s build -l 80
请确保您的计算机上没有运行任何apache服务器,否则端口80将被占用
Node.js
您只需要在端口8080上运行服务器,我不知道您使用的是哪个框架,所以假设您使用的是express,那么在您的入口点index.js
中会出现类似的情况
app.listen(8080, function() {
console.log("Server is running on port 8080...");
});
您有两个选项可以为同一域/子域上的两台服务器提供服务。第一种方法是使用不同的端口,例如,您可以在http默认端口80上为react应用程序提供服务,在随机空闲端口(如3000或8080)上为node.js服务器提供服务。第二种方法是使用反向代理服务器,该服务器根据根url将请求重定向到一个或另一个服务器,如
mydomain.com/react
(重定向到react app)和mydomain.com/node
(重定向到node.js)。是否有这样的例子?在同一个目录(不同的文件夹)中将有一个后端(node.js)和一个前端(react)。您有两个选项可以为同一域/子域上的两台服务器提供服务。第一种方法是使用不同的端口,例如,您可以在http默认端口80上为react应用程序提供服务,在随机空闲端口(如3000或8080)上为node.js服务器提供服务。第二种方法是使用反向代理服务器,该服务器根据根url将请求重定向到一个或另一个服务器,如mydomain.com/react
(重定向到react app)和mydomain.com/node
(重定向到node.js)。是否有这样的例子?在同一个目录(不同的文件夹)中将有一个后端(node.js)和一个前端(react)。谢谢,我做了,react部分还可以,但问题是,如何部署Nodejs后端并使其运行?现在我的后端无法工作,我无法访问db@OnerT. 要运行Node.js,只需执行Node index.js
。但这将在您关闭终端后立即结束,要保持Node.js服务器运行,请查看永久。谢谢,我做到了,但问题是,如何部署Nodejs后端并使其运行?现在我的后端无法工作,我无法访问db@OnerT. 要运行Node.js,只需执行Node index.js
。但这将在您关闭终端后立即结束,要保持Node.js服务器运行,请查看永久。