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