執行緒持久運行
一般來說,我們在window cmd上透過node index.js啟動一個伺服器,只要不關閉,就可以一直存取和呼叫介面。但是在linux上往往如果長時間不操作或你要執行其他操作時候,你的node服務就會斷開,用戶也不能訪問你的網站了。怎麼辦?我們可以安裝forever模組來解決。
npm install forever -g // 全局安装forever模块
由原先的啟動方式node index.js 改為forever start index.js即可,下面列出幾個常見命令
forever list // 列出当前所有运行的服务 forever start -w index.js // 文件改动自动重启 forever stopall // 停止所有服务 forever stop app.js //停止其中一个node app forever stop [id] // forever list 找到对应的id,然后
當然還有許多命令,可以查閱相關模組。一般來說最簡單的使用方式就是:
forever start index.js
這樣即使我們切換到其他linux路徑時或退出時,node服務還是存在的,即別人還是可以訪問你的網站啦。
配置nginx
nginx是由俄羅斯人開發的反向代理伺服器,如今已經被全世界許多公司所使用。關於nginx的介紹以及安裝可以自己查閱資料或到菜鳥教學快速學習。這裡我的linux已經安裝好了nginx了.
下面我要使用nginx來代理剛剛forever start index.js啟動的http://localhost:8089了,即透過我的網域來存取http: //localhost:8089 這個網站了.查看nginx設定檔路徑
find / -name nginx.conf
切換到裡面進入修改裡面設定
server { listen 80; # 监听端口 直接配置80即可 server_name hellocode.xyz; # 输入域名会跳转到 http://localhost:8089 include /etc/nginx/default.d/*.conf; location / { proxy_pass http://118.89.33.75:8089; # 你的node网站应用 } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
退出檢查設定是否正確
nginx -t
重新載入nginx
nginx -s reload
開啟瀏覽器輸入網址即可以存取網站啦!
在存取過程之中可能會遇到跨域問題,那麼就需要node端設定支援跨域,以express框架來說,index.js中自訂一個中間件
var allowcors = function(req, res, next) { res.header('access-control-allow-origin', req.headers.origin); res.header('access-control-allow-methods', 'get,put,post,delete,options'); res.header('access-control-allow-headers', 'content-type'); res.header('access-control-allow-credentials','true'); next(); }; app.use(allowcors);//使用跨域中间件
以上是怎麼用Forever和nginx部署Node站點的詳細內容。更多資訊請關注PHP中文網其他相關文章!