[英]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.