三、阿里雲搭建 nodejs 環境

weixin_33807284發表於2017-12-04
  • 更新 Ubuntu 系統
sudo apt-get update && sudo apt-get upgrade
  • 安裝各種包檔案
sudo apt-get install vim openssl build-essential libssl-dev wget curl git

//中途需輸入 y 確認
  • 安裝 NVM 工具,方便管理 node 版本。NVM 的 github地址是 https://github.com/creationix/nvm

安裝方法,終端輸入

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.6/install.sh | bash

或者

wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.6/install.sh | bash

新開一個命令列視窗 (因為要重新載入 NVM 的環境變數),輸入 NVM ,可以看到很多的命令,說明安裝成功了。

  • 使用 NVM 安裝 node 版本
nvm install v8.9.1  //使用 nvm 安裝 node 版本

node -v     //檢視 node 版本

nvm use v8.9.1  //使用 node 版本

nvm alias default v8.9.1    //設定系統預設的 node 版本

  • 使用 nrm 設定 npm 的路徑

由於國內眾所周知的原因,npm 使用官方路徑會很慢,我們可以使用淘寶的映象來下載 npm 包,可以安裝 nrm 工具來管理 npm 路徑,詳情見我的另一篇部落格:nrm 設定 npm 命令的路徑

  • 增加系統的檔案監控數目
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
  • 安裝常用的工具包
npm install -g pm2 webpack gulp grunt-cli 
  • 測試 node 模組
cd ~    //進入家目錄

vi app.js   //建立檔案 app.js

寫入 nodejs 程式碼 啟動伺服器

const http = require('http');
const hostname = '47.94.198.140';
const port = 8888;

const server = http.createServer((req, res)=>{
  res.statusCode = 200;
  res.setHeader('Content-Type','text/plain; charset=utf-8');
  res.end('這是一個測試網頁hello world');
});

server.listen(port, ()=>{
  console.log(`開啟瀏覽器,轉體360度,輸入 http://${hostname}:${port}\n`);
});

儲存退出 esc :wq

執行檔案 app.js

node app.js

可以看到命令列列印出
5051517-d7203aa41b9bbce1.jpg
image

去瀏覽器輸入 url,可是發現,無法連線,為什麼呢?

這是因為我們的 iptables 防火牆阻止了 8888 埠的訪問,去修改 iptables 的配置

sudo vi /etc/iptables.up.rules

增加一個 8888 埠
5051517-52276b33c8c02fd1.jpg
image

重啟 iptables 防火牆

sudo iptables-restore < /etc/iptables.up.rules

重新執行 node app.js

現在再去瀏覽器輸入 http://47.94.198.140:8888 就能看到網頁了

5051517-2601c469351f8147.jpg
image

總結,安裝了 NVM 工具,來管理 node 版本,使用 node 起了一個 http 模組,修改了防火牆的埠限制,測試通過了一個測試網頁。

相關文章