從零搭建 Node.js 線上環境

lnyx發表於2018-08-01

本文首發 dawei.lv

本文對應 Ubuntu 16.04.4 LTS (GNU/Linux 4.4.0-117-generic x86_64)

Step 1 更新 Ubuntu 源資源列表

apt-get update
複製程式碼

Step 2 安裝 Node.js 版本管理工具 nvm

我們使用 nvm 作為 Node.js 的版本管理工具,它可以方便的切換 Node.js 版本。

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
複製程式碼

看到提示

=> Downloading nvm as script to '/root/.nvm'

=> Appending nvm source string to /root/.bashrc
=> Appending bash_completion source string to /root/.bashrc
=> Close and reopen your terminal to start using nvm or run the following to use it now:

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion
複製程式碼

重新登入 Ubuntu。

nvm --version
# 顯示版本號,證明安裝 nvm 已經成功
0.33.11
複製程式碼

Step 3 安裝 Node.js

# 列出長期支援的版本
nvm ls-remote --lts

# 選擇安裝最新的長期支援版本
nvm install v8.11.3

# 耐心等待下載,從阿里雲上下載的時候速度還是挺慢的
Downloading and installing node v8.11.3...
Downloading https://nodejs.org/dist/v8.11.3/node-v8.11.3-linux-x64.tar.xz...
######################################################################## 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v8.11.3 (npm v5.6.0)
Creating default alias: default -> v8.11.3
複製程式碼

Step 4 安裝 nginx

apt-get install nginx
複製程式碼

nginx 預設會被安裝在 /etc/nginx 下。安裝好之後啟動 nginx,訪問伺服器的 ip,就會看到 nginx 的歡迎頁面。

# 啟動
service nginx start
# 停止
service nginx stop
# 重啟
service nginx restart
# 重新載入配置
service nginx reload
複製程式碼

Step 5 為不同 Node.js 服務配置不同域名

假設我們需要配置 www.example.com 指向伺服器上的 http://127.0.0.1:8888dev.example.com 指向伺服器上的 http://127.0.0.1:8800

nginx 的預設安裝目錄是 /etc/nginx ,我們需要在 /etc/nginx/conf.d 下新建兩個檔案 www.example.com.confdev.example.com.conf

www.example.com.conf 內容:

server {
    listen 80;
    server_name www.example.com;
    access_log /var/log/nginx/www.example.com.access.log;
    location / {
        proxy_pass    http://127.0.0.1:8888/;
    }
}
複製程式碼

dev.example.com.conf 內容:

server {
    listen 80;
    server_name dev.example.com;
    access_log /var/log/nginx/dev.example.com.access.log;
    location / {
        proxy_pass   http://127.0.0.1:8888/;
    }
}
複製程式碼
# test 下配置有沒有問題
nginx -t
複製程式碼
# 重新載入配置
service nginx reload
複製程式碼

分別訪問下 www 站和 dev 站,看看是不是已經配置好啦!

413 Request Entity Too Large 報錯解決方式: 在 nginx.conf 的 http {} 中新增一個 client_max_body_size 50m; 將上傳限制為 50M

相關文章