最近因為學(xué)校的UML大作業(yè),我用express寫了個web應(yīng)用,并部署到了服務(wù)器。
參考了百度上的資料,下面總結(jié)了一下自己部署的步驟。
安裝node
wget https://npm.taobao.org/mirrors/node/v8.9.3/node-v8.9.3-linux-x64.tar.xzxz -d node-v8.9.3-linux-x64.tar.xztar -xvf node-v8.9.3-linux-x64.tarln -s /root/node-v8.9.3-linux-x64/bin/node /usr/local/bin/nodeln -s /root/node-v8.9.3-linux-x64/bin/npm /usr/local/bin/npm
(提示:最后兩步需要在根目錄執(zhí)行)
- 輸入命令:
node -v
出現(xiàn)版本號即安裝成功
npm -v
出現(xiàn)版本號即安裝成功
上傳本地文件到服務(wù)器
這一步可以通過git、ftp、scp等方式,而我用了scp上傳
具體用法為:
scp 源文件目錄 用戶名@ip:目標(biāo)目錄
如果傳的是文件夾則
scp -r 源文件目錄 用戶名@ip:目標(biāo)目錄
回車后提示輸入服務(wù)器密碼,輸入即可。
部署項目
進入工程目錄,運行npm install,確保所有依賴的包都安裝好了
安裝部署工具
npm i -g pm2
在工程目錄,運行sudo pm2 start bin/www
主機一般有兩個IP,一個外網(wǎng)IP,一個內(nèi)網(wǎng)IP,你直接訪問外網(wǎng)IP+端口號就能訪問你的網(wǎng)站了。例如外網(wǎng)IP為11.22.33.44項目監(jiān)聽的端口為3000則瀏覽器輸入11.22.33.44:3000就行了。
用Nginx設(shè)置代理
vim /etc/nginx/node.js
添加以下內(nèi)容
server {
listen 80;
server_name 你的ip或域名;
location / {
proxy_pass http://127.0.0.1:3000;
}
}
保存并退出,然后
service nginx restart
就可以直接通過ip或域名訪問了。