Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何在子域中的同一目录上部署React app和Nodejs后端?_Node.js_Reactjs_Deployment_Web Deployment_Filezilla - Fatal编程技术网

Node.js 如何在子域中的同一目录上部署React app和Nodejs后端?

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 //

我有一个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 // 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
反应

要部署React,您只需使用
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
反应

要部署React,您只需使用
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服务器运行,请查看
永久