轉載https://www.jianshu.com/p/b5b6d062ba29
先記錄一下整體的過程:
1、購買阿里雲服務器,在ESC控制台創建實例
2、在ESC服務器上搭建node環境
3、上傳node.js代碼到ESC服務器,並用阿里雲服務器公網IP訪問
一、購買ESC服務器
1、登錄阿里雲,找到雲服務器ESC,點擊購買,在此學習階段我選擇了最低的配置,最短的時長
2、打開阿里雲控制台,選擇雲服務器ESC-實例-創建實例

其中選擇分配公網IP,無需再申請彈性公網IP,安全組規則可以使用默認配置,鏡像服務選擇CentOS版本最新的。
上圖表示雲服務器已經購買完成。
二、在阿里雲服務器上搭建node環境
這里踩了許多的坑,但結果是美好的,多踩坑多學習。
1、首先連接阿里雲服務器,Mac上可以使用終端操作,在終端中輸入:
$ ssh root@47.92.165.181

提示“ Welcome to Alibaba Cloud Elastic Compute Service !”表示連接服務器成功。
2、此時的服務器是一張白紙,不存在node環境的,下面開始搭建node環境
① 使用源代碼構建node.js,要進行軟件的安裝,需要先安裝用來編譯源代碼的開發工具:
[root@iz8vbfrblr3s915qrmkrj8z ~]# yum -y groupinstall "Development Tools"
② 安裝node.js,此時服務器默認處於root路徑下,先執行
[root@iz8vbfrblr3s915qrmkrj8z ~]# cd ..
回到上層路徑中,然后執行ls,列出當前路徑下的文件與文件夾

③ 進入/usr/src文件夾,在這個文件夾中存放node源代碼,使用wget命令下載node.js安裝包,由於是Mac環境,所以下載node安裝包的時候要注意選擇適合mac的版本。

這里選擇了最新的v9.9.0版本,下載好壓縮包后,開始解壓文件
[root@iz8vbfrblr3s915qrmkrj8z src]# tar -zxf node-v9.9.0.tar.gz
現在在src目錄下執行ls,看當前目錄下有哪些文件

④ 進入解壓后的文件夾

並執行配置腳本來進行預編譯處理
⑤ 編譯node.js源代碼
[root@iz8vbfrblr3s915qrmkrj8z node-v9.9.0]# make
這一步需要很久,大概花了40分鍾的樣子才編譯完成
⑥ 編譯完成后,需要執行make install
⑦ 此時node.js已經安裝完成,nodejs默認有npm,可以使用npm安裝express 和 forever,全局安裝
[root@iz8vbfrblr3s915qrmkrj8z node-v9.9.0]# npm -g install express forever
⑧ 創建軟鏈接,可以全局使用node、npm命令,否則會報“命令未找到”
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/forever /usr/bin/forever
至此,node環境已經搭建完成。
?xml version="1.0" encoding="UTF-8"?
三、上傳node.js代碼到阿里雲服務器
進入/home文件夾,把node代碼放在此路徑下

可以使用git拉取代碼,此處只做演示,未拉取代碼,后面完善
創建項目服務器文件:touch example.js
編輯example.js: vim example.js
(i,進入編輯模式,編輯完成按Esc鍵退出編輯,並輸入:wq退出vim編輯器)
const http = require('http');
const hostname = '172.26.141.193';//私網IP
const port = 80;
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('wo zheng ni ge xiao chou zhu wa zi 666.\n');
});
server.listen(port, hostname, ()=> {
console.log(`Server running at http://${hostname}:${port}/`);
});
執行example.js(node example.js或者forever start example.js)

到此已經大功告成,可以在瀏覽器中輸入公網IP+端口號,也可以是相應的域名

域名:由於沒備案,備案又需要購買3個月及以上ESC服務,所以暫時無法打開,后續再購買體驗一把
