在 AWS ec2 实例上部署 Node Express 应用程序和 php 应用程序的最佳实践

Posted

技术标签:

【中文标题】在 AWS ec2 实例上部署 Node Express 应用程序和 php 应用程序的最佳实践【英文标题】:Best practice for Deploy Node Express application and php application on AWS ec2 instance 【发布时间】:2021-02-04 07:31:58 【问题描述】:

我有一个 AWS ec2 实例和一个域。我想在同一台服务器上部署我的 express 节点应用程序和 php 应用程序,而不用添加域的端口。 对于 PHP 部署,我已将 xampp 服务器配置为默认端口 80。 我的节点应用程序在端口 3000 上运行。

目前,我正在使用 - mydomain.com:3000 访问节点应用程序 对于 PHP - mydomain.com/website

我想在不输入端口号的情况下使用 express 节点应用程序。示例 - mydomain.com

有什么方法可以根据我给定的场景配置它吗?

【问题讨论】:

【参考方案1】:

也许您想要的是在一台物理服务器上运行两个不同的应用程序。

如何在一台服务器上实现负载平衡的概念?

通常,您可以使用 nginx 的反向代理和上游来实现这一点。

比如node服务器运行在3000端口,php服务器运行在4000端口

在 nginx node.mydomain.com 是端口 3000 php.mydomain.com 可以在 4000 端口发送。

【讨论】:

你有没有参考帖子,如何实现Nginx的反向代理? nginx.com/resources/wiki/start/topics/examples/full nginx 知道传入请求的名称,并且可以使用它来配置将请求转发到哪个服务器。更多信息请参考 nginx 官网。

以上是关于在 AWS ec2 实例上部署 Node Express 应用程序和 php 应用程序的最佳实践的主要内容,如果未能解决你的问题,请参考以下文章

如何在 aws ec2(linux 实例)上部署 Next js

AWS Cloudformation 上的 UserData 未部署在 EC2 实例上

Node.js 进程在 aws 实例上被杀死

如何通过 Ansible 在 AWS EC2 实例上部署 Consul

AWS - ECS - 如何在现有 ECS(带有 1 个 EC2)实例上重新部署更新的 Docker 映像?

AWS中的EC2实例上部署LAMP架构