Node.js 应用程序和 Apache php 后端在同一台服务器上

Node.js app and Apache php back-end at the same server

我有一个在 CentOS 7 下运行的 VPS。 这个想法是:在 maindomain.com node.js 下部署前端应用程序,而在 api.maindomain.com 下部署 php 后端。可能吗?比如说,将服务器块添加到 Nginx:反向代理 localhost:4000 用于 node.js 应用程序,另一个块用于 localhost:80 用于 php 后端。

也许还有其他解决方案,我不知道,我将不胜感激!主要目标:让两个应用程序在同一台服务器上。

解决方案 1 与 www.maindomain.com + api.maindomain.com

前端

server {
    listen 80;
    server_name www.maindomain.com;

    location / {
        root /path/to/your/files;
        try_files  /index.html;
    }
}

后端 php API

server {
    listen 80;
    server_name api.maindomain.com;

    location / {
        proxy_pass http://localhost:4000;
    }

}

解决方案 2 同一域中的所有内容,www.maindomain.com

server {
    listen 80;
    server_name www.maindomain.com;

    location /api {
        proxy_pass http://localhost:4000/api;
    }

    location / { # always at the end, like wildcard
        root /path/to/your/files;
        try_files  /index.html;
    }
}