使用NGINX在VPS服务器(ubuntu 16.04)上部署React前端和Express后端

时间:2020-06-07 04:38:22

标签: node.js reactjs express nginx deployment

这是我第一次尝试部署应用程序,并且我有一个运行Ubuntu 16.04的VPS服务器来部署我的React应用程序。我正在使用NGINX进行此操作,以下是我对可用站点的配置:

server {
   listen 80;
   root </build directory>;
   server_name <my server's IP>;
   server_name <myserverdomain.com>;
   index index.html;
   location / {
     try_files $uri /index.html =404;
   }
   location /backend {
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-NginX-Proxy true;
    proxy_pass http://localhost:5000/;
    proxy_ssl_session_reuse off;
    proxy_set_header Host $http_host;
    proxy_cache_bypass $http_upgrade;
    proxy_redirect off;
 }
}

前端与此兼容,但是我似乎无法使Express后端正常工作。最初,我的前端在localhost:5000(后端正在监听的位置)上使用fetch命令调用后端。我刚刚进行了谷歌搜索,因此我决定给它一个/ backend路径来访问它,因此现在它在fetch上调用<myserverdomain.com/backend/apicall>

但是,尽管我的后端在VPS服务器内部的localhost上运行,但api调用不会重定向到我的VPS服务器的localhost。相反,当从本地计算机上的VPS服务器外部访问webapp时,它会尝试在本地计算机上查找localhost:5000。因此,仅当我的本地计算机正在运行快速后端时,对后端的API调用才有效。但是,这是不希望的,因为其他用户将无法访问它。

对于实现此功能的正确方法,我确实感到困惑/如何正确“托管”我的快速后端服务器?

0 个答案:

没有答案