在 Apache 中部署 Angular Universal

Deploying Angular Universal in Apache

我一直遇到有关在 Apache 上部署 Angular ssr 的问题。

我相信,需要在 apache 上进行配置以及 .htaccess 文件。 以下是我浏览过的一些链接,但要么我无法配置,要么描述不够全面,无法实现。

https://github.com/angular/universal-starter/issues/514

Angular2 Universal deploy to apache remote server

How to properly launch Angular Universal to live server

我的问题是在 Apache 服务器上部署 Angular Universal,端口配置为 8080 并位于目录 'custom' -- x.x.x.x:8080/custom

已采取的步骤

1) 将 dist/* 部署到 /var/www/html/custom

2) npm install 安装 deps

3) pm2 启动 server.js 在 dist 文件夹下

附上屏幕截图--

导航到 x.x.x.x:8080/custom 给出目录结构。

我想我需要将请求重定向到以 PM2 启动的应用正在侦听的端口。

我关心的是如何做到这一点

非常感谢帮助!!

您可以将 apache 服务器映射到 pm2 服务器:

Default Config File: /etc/httpd/conf/httpd.conf

ProxyPass         /example  http://xx.xx.xx.xx:xx/
ProxyPassReverse  /example  http://xx.xx.xx.xx:xx/

这会将所有请求从 apache 服务器路由到您的 pm2 服务器

我们正在使用 pm2 ecosystem 指向本地主机

首先在 httpd.conf!

中启用 mod_proxy 和 mod_proxy_http

如果您使用的是虚拟主机,请将以下代理设置添加到特定于域的主机文件中-

ProxyPreserveHost On
ProxyPass / http://localhost:4200/
ProxyPassReverse / http://localhost:4200/

重启你的 Apache 和 pm2

因此,如果您访问您的实时域,例如 www.example.com 将通过 localhost:4200

由 pm2 提供服务