佳木斯湛栽影视文化发展公司

主頁(yè) > 知識(shí)庫(kù) > Forever+nginx部署Node站點(diǎn)的方法示例

Forever+nginx部署Node站點(diǎn)的方法示例

熱門標(biāo)簽:網(wǎng)站建設(shè) 百度競(jìng)價(jià)點(diǎn)擊價(jià)格的計(jì)算公式 美圖手機(jī) 硅谷的囚徒呼叫中心 智能手機(jī) 檢查注冊(cè)表項(xiàng) 使用U盤裝系統(tǒng) 阿里云

最近入手了一款最便宜的騰訊云服務(wù)器,主要用來(lái)部署自己的個(gè)人博客以及學(xué)習(xí)一些liunx知識(shí),從而全方面了解掌握web技術(shù)。強(qiáng)烈建議前端人員擁有一個(gè)屬于自己的服務(wù)器。在寫此文章之前,我的云服務(wù)器已經(jīng)安裝好Mysql以及node, nginx等。下面以部署node網(wǎng)站為例,講解幾個(gè)常見(jiàn)的場(chǎng)景

線程持久運(yùn)行

一般來(lái)說(shuō),我們?cè)趙indow cmd上通過(guò)node index.js啟動(dòng)一個(gè)服務(wù)器,只要不關(guān)閉,就可以一直訪問(wèn)和調(diào)用接口。但是在linux上往往如果長(zhǎng)時(shí)間不操作或者你要執(zhí)行其他操作時(shí)候,你的node服務(wù)就會(huì)斷開(kāi),用戶也不能訪問(wèn)你的網(wǎng)站了。怎么辦?我們可以安裝forever模塊來(lái)解決。

npm install forever -g // 全局安裝forever模塊

由原先的啟動(dòng)方式node index.js 改為 forever start index.js即可,下面列出幾個(gè)常見(jiàn)命令

forever list // 列出當(dāng)前所有運(yùn)行的服務(wù)
forever start -w index.js // 文件改動(dòng)自動(dòng)重啟
forever stopall // 停止所有服務(wù)
forever stop app.js //停止其中一個(gè)node App 
forever stop [id] // forever list 找到對(duì)應(yīng)的id,然后

當(dāng)然還有許多命令,可以查閱相關(guān)模塊。一般來(lái)說(shuō)最簡(jiǎn)單的使用方式就是:

forever start index.js

這樣即使我們切換到其他linux路徑時(shí)或者退出時(shí),node服務(wù)還是存在的,即別人還是可以訪問(wèn)你的網(wǎng)站啦。

配置nginx

nginx是一個(gè)由俄羅斯人開(kāi)發(fā)的反向代理服務(wù)器,如今已經(jīng)被全世界許多公司所使用。關(guān)于nginx的介紹以及安裝可以自己查閱資料或者到菜鳥(niǎo)教程快速學(xué)習(xí)一下。這里我的linux已經(jīng)安裝好了nginx了.

下面我要使用nginx來(lái)代理剛剛forever start index.js啟動(dòng)的http://localhost:8089了,即通過(guò)我的域名來(lái)訪問(wèn)http://localhost:8089 這個(gè)網(wǎng)站了. 查看nginx配置文件路徑

find / -name nginx.conf

切換到里面進(jìn)入修改里面配置

 server {
  listen    80; # 監(jiān)聽(tīng)端口 直接配置80即可
  server_name hellocode.xyz; # 輸入域名會(huì)跳轉(zhuǎn)到 http://localhost:8089
  include /etc/nginx/default.d/*.conf;
  location / {
   proxy_pass http://118.89.33.75:8089; # 你的node網(wǎng)站應(yīng)用
  }
  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

打開(kāi)瀏覽器 輸入網(wǎng)址即可以訪問(wèn)網(wǎng)站啦 !

在訪問(wèn)過(guò)程之中可能會(huì)遇到跨域問(wèn)題,那么就需要node端設(shè)置支持跨域,以express框架來(lái)說(shuō),index.js中自定義一個(gè)中間件

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);//使用跨域中間件

關(guān)于跨域問(wèn)題,后面的博客會(huì)有詳細(xì)講解!

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

標(biāo)簽:山南 通遼 黃山 懷化 煙臺(tái) 賀州 湘潭 湖北

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Forever+nginx部署Node站點(diǎn)的方法示例》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    嘉定区| 丁青县| 兴国县| 隆回县| 常宁市| 固原市| 沁阳市| 金平| 宁强县| 莱西市| 宁蒗| 修武县| 安岳县| 深泽县| 内乡县| 武山县| 浦县| 靖西县| 榆林市| 五常市| 鄱阳县| 宝清县| 四平市| 永顺县| 郸城县| 鹰潭市| 淮安市| 上虞市| 揭阳市| 长泰县| 旅游| 瓦房店市| 鄂托克前旗| 山东省| 烟台市| 东港市| 滕州市| 扶沟县| 西华县| 红桥区| 太仓市|