目的:在單一 ip 上的相同 port 運行 apache 與 nodejs 服務
之所以會那麼麻煩,是因為 Apache2 in Ubuntu 所在的 ip 位置
對外服務只開放 80 port
所以才想要在單一 port 上 run apache2 與 node.js
步驟如下:
之所以會那麼麻煩,是因為 Apache2 in Ubuntu 所在的 ip 位置
對外服務只開放 80 port
所以才想要在單一 port 上 run apache2 與 node.js
步驟如下:
- install mod_proxy and mod_proxy_http
- update apache2 conf
- run node.js app
- restart apache2 service
- install mod_proxy
- sudo apt-get install libapache2-mod-proxy-html
- apt-get install libxml2-dev
- a2enmod proxy proxy_http
- update apache2 conf
- vi /etc/apache2/site-available/000-default.conf
- 編輯 conf 檔案,加入以下數行 code
- run node.js app
- app.js 程式碼如下:
- forever start app.js(須先安裝 forever 套件)
- restart apache2 service
- service apache2 reload
- service apache2 restart
<Virtual *:80> ProxyRequests off <Proxy *> Order deny,allow Allow from all </Proxy*> ProxyPass /api http://localhost:2368 ProxyPassReverse /api http://localhost:2368 </Virtual>
var express = require('express'); var app = express(); app.get('/', function(req, res) { res.send("Welcome nodejs and express app api"); }); app.listen(2368);
沒有留言:
張貼留言