我在 vps 中运行节点 js 应用程序。
这是我的 nginx 配置:
server {
listen 80;
server_name xxx.xxx.xxx.xxx;
#access_log logs/ecommerce.access.log main;
location /ecommerce/api/ {
proxy_pass http://127.0.0.1:8000/api/;
}
location /ecapp/ {
proxy_pass http://127.0.0.1:3000/;
}
}
localhost:8000/api
是使用mongodb atlas的后端服务器。我已经通过使用邮递员和发送请求确认了这项工作。
localhost:3000
是前端应用程序。
前端应用程序仅在以下情况下通过我的 vps 的公共 ip 工作:
server {
listen 80;
server_name xxx.xxx.xxx.xxx;
#access_log logs/ecommerce.access.log main;
location /ecommerce/api/ {
proxy_pass http://127.0.0.1:8000/api/;
}
location / {
proxy_pass http://127.0.0.1:3000/;
}
}
除了/
like之外的位置/ecapp/
不起作用。只有位置/作品。
http://my_vps_ip/
我想通过like以外的方式访问前端应用程序http://my_vps_ip/ecapp
。
任何帮助表示赞赏。
我想通了,所以我在这里发布我的解决方案。
客观的
在 http://my_public_vps_addr:port/sub_path 托管 create-react-app 站点。
程序
<Router basename=’/sub_path’></Router>
sudo find . -type d -exec chmod 755 {} \;
b)sudo find . -type f -exec chmod 644 {} \;
将位置设置为 /ecapp/,当我加载 http://my_vps_ip/ecapp 并检查控制台时,我得到:
为什么要查找静态文件?/var/www/html/ 下没有静态目录。
电子商务项目的源代码在这里: https ://github.com/kaloraat/react-node-ecommerce