1. 如何運行nodejs環境
你可以採用以下兩種方式來安裝。
1、Windows 安裝包(.msi)
32 位安裝包下載地址 :https://nodejs.org/dist/v4.4.3/node-v4.4.3-x86.msi
64 位安裝包下載地址 :https://nodejs.org/dist/v4.4.3/node-v4.4.3-x64.msi
本文實例以 v0.10.26 版本為例,其他版本類似, 安裝步驟:
步驟 1 : 雙擊下載後的安裝包v0.10.26,如下所示:
如果你獲得以上輸出結果,說明你已經成功安裝了Node.js。
2. nodejs php哪個好
Node.js發布於2009年5月,由Ryan Dahl開發,是一個基於Chrome V8引擎的JavaScript運行環境,使用了一個事件驅動、非阻塞式I/O模型, 讓JavaScript 運行在服務端的開發平台,它讓JavaScript成為與PHP、Python、Perl、Ruby等服務端語言平起平坐的腳本語言.
PHP即「超文本預處理器」,是一種通用開源腳本語言。PHP是在伺服器端執行的腳本語言,與C語言類似,是常用的網站編程語言。PHP獨特的語法混合了C、Java、Perl以及 PHP 自創的語法。利於學習,使用廣泛,主要適用於Web開發領域。
Node.js遵循事件驅動的非阻塞I/O模型,PHP遵循一個阻塞模型;
PHP應用程序可以在任何伺服器上運行,Node不行。
1、性能方面:
由於 Node.js 遵循事件驅動的非阻塞I/O模型,與傳統的後端技術相比,Node.js 能夠處理大量的伺服器請求。PHP 遵循一個阻塞模型,其中在伺服器端創建多個線程來處理多個客戶端請求,如果代碼沒有被優化,它會導致高伺服器負載和響應時間。
2、託管和部署:
PHP 應用程序可以在包括 Nginx 和 Apache 以及 Windows 和 linux 平台在內的任何伺服器上運行,這使得部署過程變得更容易。
而 Node.js,則需要具有 SSH 訪問許可權的虛擬伺服器。因此,在沒有任何控制台命令和 Secure Shell(SSH)知識的情況下,用 PHP 部署小型企業和個人應用會更好。
3、外部依賴:
Node.js 依賴關系較少,用幾行代碼就可以設置一個 Web 伺服器。但運行 PHP 應用程序,就需要外部伺服器軟體。用 Node.js 的開發人員只需要 NPM(節點包管理器)就可以下載 Node 模塊,這些模塊可以輕松地集成到應用程序中,提供額外的功能。
4、CPU 擴展任務:
Node.js 可能在高吞吐量方面表現優異,但是當應用程序繁重,需要 CPU 做大量工作時,Node.js 肯定會有所欠缺。在這種情況下,PHP 最適合做 Web 應用程序的後端。
5、單頁應用程序:
如果您使用過 Gmail,那麼您可能知道什麼是單頁應用程序(Single Page Application)。Web 應用程序在初始客戶端請求時載入,之後根據客戶端請求刷新的網頁的特定部分。Node.js 與 AngularJS 的聯合是開發單頁應用程序的完美方案。
6、開發環境:
Node.js 可以用於桌面應用程序開發(Windows,Linux和Mac),移動應用程序開發(混合和跨平台應用程序),甚至構建基於控制台的應用程序。雖然有一些也可以使用 PHP 來開發,但是大多數開發人員不會這樣做。
7、社區支持:
由於 PHP 比 Node.js 早誕生將近20年,所以在文檔,API 和代碼庫等在線資源方面更為豐富。所以很有可能其他人也嘗試了你想要用代碼完成的事情並從中獲得了幫助。
另一方面,Node.js 雖然已經得到了開發者和組織的廣泛關注,但是它支持開發者開發的資源缺相當少。
8、學習曲線:
編寫 Node.js 代碼對於新手甚至是專業的 JavaScript 開發人員來說都不是件容易的事情,因為他們需要在入門之前理解一些復雜的概念,比如 web worker 和回調函數。相反,PHP是一門非常友好的編程語言對於開發 Web 應用程序的新手來說。
Node.js 和 PHP是相輔相成的,因為這兩種技術都有各自的優點和缺點。這大多是相似的情況在比較或選擇用於Web,桌面和移動開發的其他技術時。Node.js有前途,並且肯定會占據PHP市場的一部分,但是不能完全取代 PHP。
3. express 怎麼部署伺服器
到小鳥雲購買雲伺服器
作為一個窮逼+不熟悉伺服器配置的菜鳥。選了最便宜的套餐:
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/node
sudo ln -s /usr/local/lib/node /usr/lib/node
sudo ln -s /usr/local/bin/npm /usr/bin/npm
sudo ln -s /usr/local/bin/node-waf /usr/bin/node-waf
sudo ln -s /usr/local/bin/forever /usr/bin/forever12345
Nodejs到這里就基本安裝完成了。
下面來安裝mongodb
軟體安裝位置:/usr/local/mongodb
數據存放位置:/var/mongodb/data
日誌存放位置:/var/mongodb/logs
首先下載安裝包
cd /usr/local
wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.4.9.tgz12
解壓安裝包,重命名文件夾為mongodb
tar zxvf mongodb-linux-x86_64-2.6.0.tgz
mv mongodb-linux-x86_64-2.6.0 mongodb12
創建數據和日誌存放目錄
mkdir /var/mongodb
mkdir /var/mongodb/data
mkdir /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 下
4. 伺服器部署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知識就能掌握寶塔官網了解一下
5. nodejs怎麼部署到騰訊雲伺服器上
先安裝一個nodejs。
看你伺服器操作系統了。