日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)Revel教程:Revel 部署

Revel 部署概要

幾種常見的部署方法如下:

  1. 本地編譯代碼,然后復(fù)制到服務(wù)器上運(yùn)行
  2. 在服務(wù)器上拉取代碼,然后編譯、運(yùn)行
  3. 使用 Heroku 進(jìn)行部署

使用命令行演示互動部署 - 一般將web服務(wù)器作為守護(hù)程序運(yùn)行。常用工具有:

  • Ubuntu Upstart
  • systemd

本地編譯

目標(biāo)機(jī)器上不需要安裝Go語言環(huán)境。Revel命令行工具 提供了package包命令,用來編譯和壓縮應(yīng)用程序, 如下所示:

# 本地測試運(yùn)行
$ revel run import/path/to/app
.. 測試程序 ..

# 打包程序
$ revel package import/path/to/app
打包的文件準(zhǔn)備好了: app.tar.gz

# 復(fù)制到目標(biāo)機(jī)器
$ scp app.tar.gz target:/srv/

# 在目標(biāo)機(jī)器上運(yùn)行
$ ssh target
$ cd /srv/
$ tar xzvf app.tar.gz
$ bash run.sh

如果您的本地機(jī)器與目標(biāo)機(jī)器的架構(gòu)相同,那么不會有什么問題。否則,你需要參考交叉編譯來構(gòu)建指定平臺架構(gòu)的程序。

增量部署

由于靜態(tài)鏈接的二進(jìn)制程序帶有完整的資源文件,可能會變得相當(dāng)大,所以支持增量部署。

# 構(gòu)建應(yīng)用程序到一個臨時目錄
$ revel build import/path/to/app /tmp/app

# 將臨時目錄 Rsync 到服務(wù)器上的主目錄
$ rsync -vaz --rsh="ssh" /tmp/app server

# 連接到服務(wù)器,并重新啟動應(yīng)用程序
...

Rsync 支持ssh完整的復(fù)制操作。例如, 下面是一個更復(fù)雜的操作:

# 一個使用自定義證書、登錄名和目標(biāo)目錄的例子
$ rsync -vaz --rsh="ssh -i .ssh/go.pem" /tmp/myapp2 ubuntu@ec2-50-16-80-4.compute-1.amazonaws.com:~/rsync

在服務(wù)器上構(gòu)建

這種方法依賴你的版本控制系統(tǒng)來分發(fā)、更新代碼。你需要在服務(wù)器上安裝Go語言環(huán)境。好處是,你避免了潛在的交叉編譯。

$ ssh server
... 安裝Go語言環(huán)境 ...
... 配置存儲庫 ...

# 進(jìn)入你的應(yīng)用程序所在的目錄 (GOPATH環(huán)境變量), 拉取代碼, 并運(yùn)行。
$ cd gocode/src/import/path/to/app
$ git pull
$ revel run import/path/to/app prod

Heroku

Revel 維護(hù)了一個 Heroku Buildpack, 允許一條命令即可部署代碼,請參考 自述文件 使用說明

交叉編譯

為了創(chuàng)建一個交叉編譯環(huán)境,我們需要從源代碼構(gòu)建。參考 從源代碼安裝Go 獲取更多信息。你必須正確設(shè)置 $PATH 和 $GOPATH 環(huán)境變量, 否則,如果已經(jīng)有一個二進(jìn)制的Go語言包存在,你會陷入嚴(yán)重的錯誤。

當(dāng)Go編譯器安裝成功后,通過指定 GOOS 和 GOARCH 目標(biāo)環(huán)境來建立交叉編譯環(huán)境。參考 可用的環(huán)境變量 獲取更多信息。

$ cd /path/to/goroot/src
$ GOOS=linux GOARCH=amd64 ./make.bash --no-clean
$ GOOS=windows GOARCH=386 ./make.bash --no-clean

在新的環(huán)境中安裝Revel,然后設(shè)定目標(biāo)架構(gòu),打包應(yīng)用程序。

$ GOOS=linux GOARCH=amd64 revel package import/path/to/app

然后,將壓縮包復(fù)制到目標(biāo)平臺。


文章標(biāo)題:創(chuàng)新互聯(lián)Revel教程:Revel 部署
鏈接地址:http://www.dlmjj.cn/article/dpcpodh.html