1、如何在伺服器上搭建nodejs
先確認下系統環境合不合要求
Python -V(確認python版本大於2.6)
訪問http://nodejs.org/download/下載需要的Node.js版本(wget
http://nodejs.org/dist/v0.10.26/node-v0.10.29.tar.gz )
解壓 tar zxvf node-v0.10.26-linux-x64.tar.gz
進入目錄 cd node-v0.10.26-linux-x64
./configure --prefix=/home/work/setups/node-v0.10.26
make
sudo make install
添加到系統環境 echo "export PATH=$PATH:/home/work/setups/node-v0.10.26/bin">>
~/.bash_profile
. ~/.bash_profile執行該文件更新$PATH變數
###安裝Express
sudo npm install express
-gd g參數:把express安裝到NodeJS的lib目錄d參數:同時安裝依賴模塊包
sudo npm install forever -gd
(異常情況:
如果遇到npm 找不到的情況 確認sudo node -v是否找不到 找不到的話:需要added /usr/local/bin to secure_path in /etc/sudoers :
sudo visudo
把 Defaults secure_path =
/sbin:/bin:/usr/sbin:/usr/bin 這行 改為 Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin然後:x保存退出
如果遇到
npm ERR! Error: Hostname/IP doesn't match certificate's altnames
執行 npm config set strict-ssl false
如果遇到 npm ERR! registry error parsing json
npm cache clean
執行 npm config set registry http://registry.npmjs.eu/
)
###部署forever
$ npm install -g forever
啟動
NODE_ENV=pro LANG='zh' /usr/local/bin/foreverstart-o
/home/work/log/node_out.log-e /home/work/log/node_err.log /home/work/webroot/index.js
NODE_ENV=pro 環境變數 pro為生產環境(程序中可以指定)
LANG 環境變數 指定默認語言
node_out.log 輸出日誌 注意路徑別抄成我的了
node_err.log 錯誤日誌
index.js 啟動文件
2、如何在 apache 伺服器上部署 nodejs 應用
tomcat你知道嗎?假設用java開發,生產環境的發布過程,先編譯java的代碼,然後打包放到tomcat容器中,最後啟動tomcat這就是發布了。
nodejs需要通過npm install安裝需要的mole依賴,假設你的應用入口是app.js,那麼運行node app.js就是啟動了nodejs。
一般在生產環境上還要監控nodejs的狀態,如果掛了自動重啟,nodejs的特點就是容易掛,重啟非常快。
3、如何通過輸入域名訪問部署在本機的nodejs伺服器
通過輸入域名來訪問部署在本機的自nodejs伺服器方法:
修改系統的hosts文件就可以了,比如(想用的域名為:myapp.com,前面加上www.):
node伺服器的host為:localhost,埠(port):8080;
修改系統hosts文件,在末尾加一行代碼:127.0.0.1 myapp.com,前面加上www. 然後保存。
在瀏覽器輸入:myapp.com:8080,前面加上www. 即可訪問(前提是項目node伺服器正在運行,沒運行會失敗);
4、nodejs怎麼部署到伺服器上
伺服器推薦用nginx,配置簡單,性能強悍。
nginx可以使用代理訪問後端的Node.js應用伺服器。
配置方法:
1)在配置文件http段內容添加後端伺服器:
http {
#添加後端伺服器,和nginx負載均衡配置一樣
upstream nodejs {
server 127.0.0.1:8080;
}
...
}
2)給應用添加虛擬主機:
server {
listen 80;
server_nameIP
location / {
proxy_pass nodejs;#名字和前面的對應,將所有的請求轉發給後端的node
}
access_log logs/nodejs.access.log main;#如果需要日誌的話
}
推薦將靜態文件如css、js和圖片和應用伺服器分開。
5、nodejs 如何部署到伺服器上?
兩點:第一是否是線上服務,第二是否需要守護進程;
第一點,如果是線上服務,毫無疑問需要一個守護進程來保證,發生意外導致進程退出後,能重新啟動,提供服務;當然就需要pm2等守護進程來啟動,使用方法請自行參照github;第二點,是否需要守護進程,如果不需要,那麼直接node啟動即可;如果需要,也不必擔心pm2啟動進程後並不會搶占伺服器資源,如果你的server有很大的需求,毋庸置疑需要更多的內存和cpu,如果沒有很大需求,pm2會基於linux的資源調度策略,並不會搶占;
6、如何在生產伺服器上部署 Node.js 應用
伺服器推薦用nginx,配置簡單,性能強悍。
nginx可以使用代理訪問後端的Node.js應用服內務器。
配置容方法:
1)在配置文件http段內容添加後端伺服器:
http {
#添加後端伺服器,和nginx負載均衡配置一樣
upstream nodejs {
server 127.0.0.1:8080;
}
...
}
2)給應用添加虛擬主機:
server {
listen 80;
server_nameIP
location / {
proxy_pass nodejs;#名字和前面的對應,將所有的請求轉發給後端的node
}
access_log logs/nodejs.access.log main;#如果需要日誌的話
}
推薦將靜態文件如css、js和圖片和應用伺服器分開。
7、伺服器部署nodejs的幾種方法
由於自身特性的原因。node程序必須保持開啟才能訪問網站,而當我們關閉SSH時這些進程都會被停止。有以下3種方法可以避免這個問題。
screen
Screen,虛擬終端管理器。可以在後台管理終端界面,防止SSH斷開以後任務停止運行。
安裝方法:
sudo apt-get screen (以ubuntu為例)
使用方法:
使用screen -S [任意id]命令進入一個名為id的終端,此時便可以隨意執行操作
例如執行sudo apt-get upgrade,或者其它消耗時間比較長的工作,像編譯內核等等。
按ctrl+a後再按d保存虛擬終端,系統提示deatached即為保存成功
接下來可以斷開SSH終端,虛擬終端仍會執行。
訪問已經創建好的終端
screen -ls 列出已經創建的正在後台運行的終端
screen -r xxx 進入終端
例如 screen -r terminal1
徹底退出
screen -r 進入終端後執行exit即可完全退出
PM2
pm2 是一個帶有負載均衡功能的Node應用的進程管理器.當你要把你的獨立代碼利用全部的伺服器上的所有CPU,並保證進程永遠都活著
安裝方法
npm install -g pm2
使用方法
啟動應用 pm2 start -watch app.js
重啟應用 pm2 restart app.js
顯示進程列表 pm2 list
停止某應用 pm2 stop app_name|app_id
停止所有應用 pm2 stop all
小白方案
個人目前用的是寶塔Linux面板,可以說是把Linux的各種操作都已比較簡單的形式展現出來了,不需要什麼Linux知識就能掌握 寶塔官網了解一下
而這其中內置了PM2管理,裝一下就OK了
8、阿里雲伺服器怎麼部署nodejs
小鳥雲伺服器來niaoyun實例創建好之後源,您可以使用以下任意一種方式登錄伺服器:
遠程桌面連接(,MSTSC):採用這種方式登錄,請確保實例能訪問公網。如果在創建實例時沒有購買帶寬,則不能使用遠程桌面連接。
管理終端VNC:無論您在創建實例時是否購買了帶寬,只要您本地有網頁瀏覽器,都可以通過管理控制台的管理終端登錄實例。
使用遠程桌面連接(MSTSC)登錄實例
打開開始菜單>遠程桌面連接,或在開始菜單>搜索中輸入mstsc。也可以使用快捷鍵Win+R來啟動運行窗口,輸入mstsc後回車啟動遠程桌面連接。
在遠程桌面連接對話框中,輸入實例的公網IP地址。單擊顯示選項。
輸入用戶名,如小鳥雲默認為niaoyun。單擊允許我保存憑據,然後單擊連接。這樣以後登錄就不需要手動輸入密碼了。
9、如何通過輸入域名訪問部署在本機的nodejs伺服器
通過復輸入域名訪問部制署在本機的nodejs伺服器方法:
修改系統的hosts文件就可以了,比如(想用的域名為:myapp.com,前面加上www.):
node伺服器的host為:localhost,埠(port):8080;
修改系統hosts文件,在末尾加一行代碼:127.0.0.1 myapp.com,前面加上www. 然後保存。
在瀏覽器輸入:myapp.com:8080,前面加上www. 即可訪問(前提是項目node伺服器正在運行,沒運行會失敗);
10、用nodejs做項目,要部署在客戶伺服器,怎麼能防止js代碼泄漏?
用這個,專業做JS代碼加密的,可以用於nodejs代碼保護:JShaman
可以在線使用,在線加密,非常好用。
JShaman = JS + Shaman,即:JS薩滿。
在傳統的世界觀,或游戲概念中。薩滿巫師具有治癒、輔助、守護的含意。
「JS薩滿」的寓意是:治癒JS代碼公開透明的缺陷、輔助JS開發、守護JS產品。