Forever+nginx部署Node站點的方法示例
最近入手了一款最便宜的騰訊云服務(wù)器,主要用來部署自己的個人博客以及學(xué)習(xí)一些liunx知識,從而全方面了解掌握web技術(shù)。強(qiáng)烈建議前端人員擁有一個屬于自己的服務(wù)器。在寫此文章之前,我的云服務(wù)器已經(jīng)安裝好Mysql以及node, nginx等。下面以部署node網(wǎng)站為例,講解幾個常見的場景
線程持久運行
一般來說,我們在window cmd上通過node index.js啟動一個服務(wù)器,只要不關(guān)閉,就可以一直訪問和調(diào)用接口。但是在linux上往往如果長時間不操作或者你要執(zhí)行其他操作時候,你的node服務(wù)就會斷開,用戶也不能訪問你的網(wǎng)站了。怎么辦?我們可以安裝forever模塊來解決。
npm install forever -g // 全局安裝forever模塊
由原先的啟動方式node index.js 改為 forever start index.js即可,下面列出幾個常見命令
forever list // 列出當(dāng)前所有運行的服務(wù) forever start -w index.js // 文件改動自動重啟 forever stopall // 停止所有服務(wù) forever stop app.js //停止其中一個node App forever stop [id] // forever list 找到對應(yīng)的id,然后
當(dāng)然還有許多命令,可以查閱相關(guān)模塊。一般來說最簡單的使用方式就是:
forever start index.js
這樣即使我們切換到其他linux路徑時或者退出時,node服務(wù)還是存在的,即別人還是可以訪問你的網(wǎng)站啦。
配置nginx
nginx是一個由俄羅斯人開發(fā)的反向代理服務(wù)器,如今已經(jīng)被全世界許多公司所使用。關(guān)于nginx的介紹以及安裝可以自己查閱資料或者到菜鳥教程快速學(xué)習(xí)一下。這里我的linux已經(jīng)安裝好了nginx了.
下面我要使用nginx來代理剛剛forever start index.js啟動的http://localhost:8089了,即通過我的域名來訪問http://localhost:8089 這個網(wǎng)站了. 查看nginx配置文件路徑
find / -name nginx.conf
切換到里面進(jìn)入修改里面配置
server { listen 80; # 監(jiān)聽端口 直接配置80即可 server_name hellocode.xyz; # 輸入域名會跳轉(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
打開瀏覽器 輸入網(wǎng)址即可以訪問網(wǎng)站啦 !
在訪問過程之中可能會遇到跨域問題,那么就需要node端設(shè)置支持跨域,以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);//使用跨域中間件
關(guān)于跨域問題,后面的博客會有詳細(xì)講解!
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
如何配置Nginx每個進(jìn)程最多打開的文件數(shù)量
這篇文章主要介紹了配置Nginx每個進(jìn)程最多打開的文件數(shù)量,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-06-06nginx上設(shè)置html不緩存的方法實現(xiàn)
前端項目發(fā)布以后,經(jīng)常會遇到訪問不到最新的版本,這主要是由于我們項目的入口文件index.html被瀏覽器或者代理緩存了,本文主要介紹了nginx上設(shè)置html不緩存,具有一定的參考價值,感興趣的可以了解一下2024-02-02nginx反向代理proxy_pass遇到的死循環(huán)問題
這篇文章主要介紹了nginx反向代理proxy_pass遇到的死循環(huán)問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-01-01