1. 程式人生 > >記一次專案上線過程

記一次專案上線過程

以前嫌麻煩,自己寫了很多小demo,卻從未考慮過上線給其他人使用。後來有一個面試官告訴我,你身為開發,做出來的專案就是要給別人用的。於是後來我買了一個阿里雲的學生伺服器,也很便宜,一個月9.5。然後為我的部落格買了一個域名,開始了學習上線之路。

1.首先記得要把前端專案裡面的baseURL加入線上環境的URL,這個操作可以用webpack提供的功能實現
比如我的:

const baseUrl = process.env.NODE_ENV === 'production' ? 'https://www.lixinyi0622.com/v1/' : 'http://localhost:4200/v1/' // 專案執行在開發環境還是生產環境,根據不同環境對應不同webpack配置

2.然後將前端專案用webpack打包成一個dist資料夾

npm run build

這個npm命令的本質就是執行你專案裡的build資料夾的build.js

3.然後下載一個SSL連線工具
這裡我選擇的是putty。
開啟putty輸入你的伺服器IP,然後連線,在控制檯裡輸入你的root賬號的密碼。

4.然後使用Linux命令安裝好各種所需的應用環境,例如node.js和mysql

5.專案的部署可以自行下載ftp傳輸工具
我選擇的是xftp
這樣子傳輸的好處是可以視覺化的操作了,當然你也可以使用git來部署。
把你的前端打包後的專案和後端專案都部署進去。

6.如果要使用nginx做代理的話,需要在nginx.conf裡的server裡配置一下root,就是你存放專案的位置,然後server_name可以設定多個你想要通過它們來訪問網站的域名。

7.要讓你的後臺專案持續執行,需要在伺服器上安裝一個pm2,這是一個很強大的程序管理工具

npm install -g pm2

安裝好之後,進入後臺專案目錄,然後執行命令

`pm2 start app.js`

這樣後臺就會一直執行,不用每次都手動開啟。

8.然後記得把你的本地資料庫轉移到伺服器的資料庫上,我使用的是mysql,本地視覺化工具我使用navicat,這個工具支援連線阿里雲伺服器,所以可以直接在navicat裡面對伺服器上的資料庫進行操作,非常方便。相應的後臺專案裡面對資料庫的配置資訊也要記得修改過來。

9.這樣子差不多就算上線成功了,如果你的域名成功備案了,那麼就可以用域名訪問了。

10.偶然發現阿里雲裡面可以買到免費的SSL證書,於是我買了一個,然後http轉到https的過程也摸索了一下。
從阿里雲上下載證書,解壓得到一個pem和一個key。
然後把這些放到伺服器上去。
首先當然是需要更改一下ngin.conf裡面的設定,把443的埠配置照著之前80的一樣編輯一下。
ssl_certificate是pem檔案的路徑,ssl_certificate_key是key檔案的路徑。

這樣還不算完,還需要修改一下後端專案裡面的www啟動程式碼。
先把證書放進專案內。
把原先的var http = require('http');裡面的http改為https

var fs = require('fs');

var options = {
  key:fs.readFileSync("../ssl/xxx.key"),
  cert:fs.readFileSync("../ssl/xxx.pem")
};

var server = https.createServer(options,app.callback()).listen(443);

這樣後端就改好了。

然後我們還要把前端專案裡的baseURL改為https開頭的。