❶ node 怎麼在伺服器上運行
首先安裝node.js環境,windows可以直接下載安裝包,下一步到底就可以了~~linux可以使用不同發行版的包管理器(但通常版本都不是最新的),使用最新版本可以從官網下載壓縮包,然後解壓就可以了,運行node.js代碼只需要在命令行中運行node XXX.js(xxx.js為你的代碼文件,如果沒有將node添加到環境變數,則需要進入node的目錄在執行上述命令)~ok 貌似就是這樣了~
❷ 如何在伺服器上搭建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 啟動文件
❸ 阿里雲伺服器怎麼運行node
到小鳥雲購買雲伺服器
作為一個窮逼+不熟悉伺服器配置的菜鳥。選了最便宜的套餐: CPU: 1核 / 內存: 1024 MB / 帶寬:1Mbps / 操作系統: CentOS
7.0 購買環節會設置 ssh 登陸密碼,記下密碼。 登陸到小鳥雲,查看購買的實例。 注意公網 IP,下一步會用到
2. 登陸伺服器 sudo ssh 你的伺服器ip地址
提示輸入mac的密碼,提示輸入伺服器密碼。 輸入後連接成功並顯示伺服器信息,如下:
登陸伺服器後。這里對於我這個 Linux 菜鳥有個大坑………就是 Linux 系統常見的目錄結構和文件放置區域。 使用 root
用戶身份登陸後,會直接進入到下圖 紅色箭頭標出的 root 目錄下。先 cd .. 跳轉到上一層, 再 ls -a
,就可以看到類似下圖的目錄結構了。
3.安裝 node 和 mongodb
node – 編譯後二進制文件應在/usr/local/bin/node 下 mongodb –安裝在/usr/local/mongodb 下
下面就一步一步來,首先升級CentOS
yum -y update1
升級後,跳轉到 /usr/local/src , 這個文件夾通常用來存放軟體源代碼
cd /usr/local/src1
下載 nodejs 代碼,也可以使用scp命令直接上傳,因為下載實在太慢了。
wget http://nodejs.org/dist/v0.12.5/node-v0.12.5.tar.gz//注*根據最新版本號為准12
解壓
tar -xzvf node-v0.12.5.tar.gz1
進入解壓後的文件夾
cd node-v0.12.51
執行配置腳本來進行編譯預處理
./configure1
編譯源代碼
make//注*這個時間可能會很久12
當編譯完成後,需要使之在系統范圍內可用,
編譯後的二進制文件將被放置到系統路徑,默認情況下,Node二進制文件應該放在/user/local/bin/node文件夾下
make install1
安裝 express 和 forever,這兩個模塊都推薦 global 安裝
npm -g install express forever1
建立超級鏈接, 不然 sudo node 時會報 「command not found」
sudo ln -s /usr/local/bin/node /usr/bin/nodesudo ln -s /usr/local/lib/node
/usr/lib/nodesudo ln -s /usr/local/bin/npm /usr/bin/npmsudo ln -s
/usr/local/bin/node-waf /usr/bin/node-wafsudo ln -s /usr/local/bin/forever
/usr/bin/forever12345
Nodejs到這里就基本安裝完成了。
下面來安裝mongodb
軟體安裝位置:/usr/local/mongodb 數據存放位置:/var/mongodb/data
日誌存放位置:/var/mongodb/logs
首先下載安裝包
cd /usr/localwget
http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.4.9.tgz12
解壓安裝包,重命名文件夾為mongodb
tar zxvf mongodb-linux-x86_64-2.6.0.tgzmv mongodb-linux-x86_64-2.6.0
mongodb12
創建數據和日誌存放目錄
mkdir /var/mongodbmkdir /var/mongodb/datamkdir /var/mongodb/logs123
打開rc.local文件,添加CentOS開機啟動項:
vim /etc/rc.d/rc.local1
將mongodb啟動命令追加到本文件中,讓mongodb開機自啟動:
/usr/local/mongodb/bin/mongod --dbpath=/var/mongodb/data --logpath
/var/mongodb/logs/log.log -fork12
關閉 vim 後,直接手動啟動mongodb
/usr/local/mongodb/bin/mongod --dbpath=/var/mongodb/data --logpath
/var/mongodb/logs/log.log -fork12
看到類似的信息,說明已啟動成功。我在這里發了個傻,以為26308是port號,導致後面設置port時折騰了好久。其實這里的 forked
process 和 port 號是兩個東西, 這個是程序本身在Server上的進程。
forked process: 263081
啟動mongo shell
cd /usr/local/mongodb/bin/./mongo12
在 mongo shell 中創建管理員及資料庫
use admin //admin 資料庫db.createUser({user:
"用戶名",pwd:"登陸密碼",roles:["userAdminAnyDatabase"]
//超級管理員})use databaseFoo //nodeapp 要連接的資料庫db.createUser({user:
"用戶名",pwd:"登陸密碼",roles:["readWrite"]
//讀寫許可權})12345678910111213
到這里 mongodb 基本已經安裝設置完成了。具體數據的遷移導入可自行研究。
4.配置及啟動node app
我們把 nodeapp 的程序放在 /home 下
❹ 伺服器部署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知識就能掌握寶塔官網了解一下