[英]How to config nodejs for production enviroment on ngnix
我必須使用angularjs和nodejs開發一個聊天系統。 要發送和接收消息,我使用socket.io。 對於節點js,我使用localhost cmd創建nodejs服務器。
這工作正常,但現在我必須將其付諸實踐。
所以我不明白如何將Node.js代碼實時發布
我有節點js工作的vps服務器
這是我的angularjs系統網址
這是套接字工作的nodejs服務器鏈接
所以我的問題是:我如何在ngnix服務器上使用nodejs代碼進行生產環境謝謝
一種方法是將nginx配置為反向代理。 這會將到達您服務器的請求重定向到該服務器上運行的nodeJs應用程序。
這是一個示例塊,您可以將其添加到/etc/nginx/sites-available/default
文件中,該塊會將請求從app.twodegrees.io
重定向到本地計算機上的端口3000。
server {
listen 80;
server_name app.twodegrees.io;
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
有關更多詳細說明,您可以在此處關注該帖子: https : //www.digitalocean.com/community/tutorials/how-to-set-up-a-node-js-application-for-production-on-ubuntu- 14-04
您能提供您的目錄結構嗎? 我認為這取決於您是否希望通過nginx或nodejs服務您的前端...
據我了解,以上示例配置僅在nodejs服務於前端時才適用。
public
的新目錄,並將其放在整個前端應用程序中 app.use(express.static(__dirname + '/public'));
致電之前,請在server.js
listen
更新:
角度前端的配置
server {
listen 80;
server_name app.twodegrees.io;
root /usr/share/html;
index index.html;
location / {
try_files $uri $uri/ /index.html;
}
}
Socket.io后端的配置
server {
listen 80;
server_name socket.twodegrees.io;
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.