簡體   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