1. 程式人生 > >vue+express+mongodb部署到騰訊雲伺服器上

vue+express+mongodb部署到騰訊雲伺服器上

下面介紹如何將基於vue、express、mongodb的專案部署到騰訊雲伺服器上。

如有錯誤,歡迎指出。

這裡我使用的是webpack構建工具,可以看到我的目錄如下

server是我服務端的程式碼檔案,這個資料夾在其他地方也可以,這裡為了方遍演示我放到了同一個目錄裡面,這裡先不管他。剛開始是沒有dist目錄的,dist是打包後生成的目錄。

打包之前需要做的事

vue用的是axios請求的資料,所以在開發的時候存在跨域請求,這裡需要在專案根目錄的config資料夾的index.js中新增這端程式碼,不懂的可以去百度搜索。

將vue專案裡面請求後臺資料的介面改為80,因為我這裡的前端程式碼和後臺程式碼都是在同一臺伺服器上,所以這裡的ip地址我用的是 0.0.0.0,然後埠改為80,因為後面需要修改服務的的埠為80。

  dev: {

    // Paths
    assetsSubDirectory: 'static',
    assetsPublicPath: '/',
    proxyTable: {
      '/': {
        target: 'http://0.0.0.0:80/',
        changeOrigin: true,
        pathRewrite: {
            '^/': ''
        }
    }
    },

接下來開始打包工作

1、在專案根目錄執行打包命令

npm run build

可以看到主目錄下多了一個dist資料夾,這是webpack打包後生成的資料夾,前端程式碼全部在這裡面

2、將打包後的dist目錄放到server資料夾中。

server資料夾就是提供資料的後端資料夾

這裡我後端是用的express框架搭建的後臺介面,我的目錄如下:

3、修改server端的入口檔案,我這裡是index.js,有的朋友可能是server.js,看個人愛好。

app.use('/public',express.static('public'))
//靜態檔案路徑
app.use(express.static(path.join(__dirname,'dist')))
app.listen(80)

注意1:這裡的public是靜態檔案路徑,我這裡面放的是前端傳入的圖片檔案。同時還添加了靜態資料夾dist(就是剛才打包生成的)。這樣才能讓server端的程式碼和前端打包的程式碼連線起來。

注意2:這裡要將exprss監聽的埠修改為80,我開始在這裡用的埠是3000。到了後面伺服器部署的時候開埠一直沒有開啟,花了很多時間,這裡一定要注意。

4、測試本地能否正常執行

在server資料夾下執行程式碼,如果能夠正常執行,就說明打包好了,可以繼續往下看。

node index.js

可以看到我這邊已經正常啟動了,並且localhost:80也能正常訪問。

專案部署到伺服器上

準備工作,我這裡的伺服器是centos64的。

1、在伺服器上安裝node.js

在RHEL,CentOS或Fedora上,對於Node.js v8 LTS

curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -

或者對於Node.js 10:

curl --silent --location https://rpm.nodesource.com/setup_10.x | sudo bash -

然後安裝: 

sudo yum -y install nodejs

可選:安裝構建工具

要從npm編譯和安裝本機外掛,您可能還需要安裝構建工具:

sudo yum install gcc-c++ make
# or: sudo yum groupinstall 'Development Tools'

安裝成功後使用 node -v檢視版本,並能看到是否安裝成功

2、安裝mongodb

新建檔案

vim  /etc/yum.repos.d/mongodb-org-4.0.repo

然後將下面這段程式碼新增到新建的檔案中

[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc

開始安裝

sudo yum install -y mongodb-org

您可以指定任何可用的MongoDB版本。但是yum ,當有更新的版本可用時,請升級軟體包。為防止意外升級,請將包裝固定。要固定包,請將以下exclude指令新增到您的/etc/yum.conf檔案中:

exclude = mongodb-org,mongodb-org-server,mongodb-org-shell,mongodb-org-mongos,mongodb-org-tools

啟動mongodb

mongo --host 127.0.0.1:27017

更多mongodb的操作請看官方文件,這裡不再講述。

安裝好node和mongodb之後就可以將server資料夾匯入到騰訊雲伺服器上了,放到哪個資料夾看個人喜歡。這裡建議匯入的時候先刪除專案中的依賴資料夾node_modules。因為這個資料夾還是比較大的,匯入會花大量時間。

如果這裡刪除了依賴資料夾,匯入之後別忘了在伺服器的server資料夾中安裝依賴,否則程式無法執行.

安裝依賴

npm install

然後進入server資料夾啟動js檔案就行了。

node index.js

希望對您有所幫助,不懂可以找小編討論,歡迎交流。