繁体   English   中英

如何部署nodejs,angularjs和apache

[英]How to deploy nodejs, angularjs and apache

我现在正在研究种子项目

我想用

nodejs作为api server侦听端口5001

express为后端框架,

angularjs作为前端框架,

apache作为static file server (例如很多角度需要的.js文件)监听端口5000


在角度,我有下面的配置

app.config(['$locationProvider', function ($locationProvider) {
    $locationProvider.html5Mode(true);
    $locationProvider.hashPrefix('!');
}]);

至于apache,我将以下配置添加到/etc/apache2/sites-available/000-default.conf

Listen 5000

<VirtualHost *:5000>
    DocumentRoot /var/www/seed/public
    <Directory /var/www/seed/public >
        AllowOverride All
    </Directory>
</VirtualHost>

我还添加了/public/.htaccess文件

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /

    # support angular
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*) /#!/$1 
</IfModule>

当前的重写规则适用于角度,因为当用户刷新页面时它需要一个hashbang


现在我不知道如何将带有/api URL的api请求重定向到端口5001

是否可以使用.htaccess文件执行此操作?

是否有更好的方式与nodejs,angularjs和apache合作?

我找不到关于这种组合的任何教程......

感谢您阅读或回答我的问题

您需要在Apache中设置反向代理配置。 首先确保mod_proxy已安装且可用。

然后像这样配置您的Apache虚拟主机:

ProxyRequests Off
<Proxy *>
  Order deny, allow
  Allow from all
</Proxy>
<Location /api>
  ProxyPass http://127.0.0.1:5001
  ProxyPassReverse http://1127.0.0.1:5001
</Location>

HTH

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM