導航:首頁 > 配伺服器 > go應用部署到雲伺服器

go應用部署到雲伺服器

發布時間:2022-11-21 01:10:39

① 如何部署Golang應用

安裝supervisord

# 通過引導程序 ez_setup.py 來安裝。這個引導程序會聯網下載最新版本setuptools來安裝,同時也可以更新本地的setuptools。
wget http://peak.telecommunity.com/dist/ez_setup.py
sudo python ez_setup.py

# 更新setuptools:
sudo python ez_setup.py -U setuptools

# 安裝supervisor
easy_install supervisor

# 生成配置文件
echo_supervisord_conf >/etc/supervisord.conf

# 編輯配置文件
vim /etc/supervisord.conf
# 進入vim後找到最後兩行,打開注釋(取消前面的分號),
# [include]
# files = supervisor.d/*.ini

# 將所有的supervisor配置都放到 /etc/supervisor.d目錄
mkdir /etc/supervisor.d
創建 supervisor 對應程序的配置文件

其中的一些路徑需要換成自己對應的,這里將 zankbo 這個web 應用放在了對應的用戶目錄下

通過在生產伺服器上設置environment可以在程序里判斷是線上還是開發模式,如 zankbo 的 debug判斷

當然也可已在啟動命令處加入參數,如 command = /home/zankbo/gopath/src/zankbo/zankbo -d 來關閉Debug模式。
if os.Getenv("APP_NAME") == "ZANKBO_PRODUCT" {
beego.RunMode = "prod"
}
vim /etc/supervisor.d/zankbo.ini
# 寫入
[program:zankbo]
directory = /home/zankbo/gopath/src/zankbo
environment=APP_NAME="ZANKBO_PRODUCT"
command = /home/zankbo/gopath/src/zankbo/zankbo
autostart = true
startsecs = 5
user = zankbo
redirect_stderr = true
stdout_logfile = /home/zankbo/log/zankbo.log
建立對應的用戶

useradd zankbo
# 將www用戶加入到zankbo用戶組,Nginx以www用戶運行
usermod -a -G zankbo www
# 更改用戶家目錄用戶組的許可權,使Nginx可以訪問
chmod g+rx /home/zankbo
部署Go環境

其中的目錄為,go:Go安裝目錄 gopath:Go工作目錄,下面有src、pkg、bin三個目錄 log:日誌文件夾

[zankbo@MyCloudServer ~]$ pwd
/home/zankbo
[zankbo@MyCloudServer ~]$ vim .bashrc

# 設置Go環境變數,在.bashrc文件末尾寫下如下內容
export GOROOT=$HOME/go
export GOPATH=$HOME/gopath
export PATH=$PATH:$GOROOT/bin:$GOPATH/bi
# 切換到用戶家目錄
[root@MyCloudServer ~]# su - zankbo
[zankbo@MyCloudServer ~]$ ls
go gopath log
將項目代碼放到gopath/src下面,如我的播客項目:
[zankbo@MyCloudServer ~]$ tree -L 2 gopath/src/
gopath/src/
├── github.com
│ ├── astaxie
│ ├── beego
│ ├── go-sql-driver
│ ├── howeyc
│ ├── jacobsa
│ ├── smartystreets
│ └── wendal
└── zankbo
├── admin
├── blog
├── build_pkg.sh
├── common
├── conf
├── controllers
├── dbstruct.mwb
├── main.go
├── models
├── static
├── views
└── zankbo
導入項目sql文件到資料庫
在項目文件夾執行build
[zankbo@MyCloudServer zankbo]$ pwd
/home/zankbo/gopath/src/zankbo
[zankbo@MyCloudServer zankbo]$ go build
會在項目下生成與包名對應的可執行文件,這里為:zankbo,build的時候可能會遇到錯誤,比如mysql的密碼之類的,可根據提示排錯。
通過supervisor 來啟動服務
# supervisorctl start zankbo
配置Nginx
server {
listen 80;
server_name zankbo.com www.zankbo.com;
root /home/zankbo/gopath/src/zankbo;
error_log logs/zankbo.com.error.log warn ;
location /static/ {
root /home/zankbo/gopath/src/zankbo;
location ~ .*\.(js|css)$ {
access_log off;
expires 1d;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
gzip off;
access_log off;
expires 3d;
}
}
location / {
proxy_pass http://127.0.0.1:8080;
}
}

雲伺服器的用途有哪些

雲伺服器的用途非常多,例如:

1、建網站。

利用著名的WordPress可以讓小白和新手搭建一個網站。

2、技術編程

現在互聯網行業大爆發,衍生出來的技術崗位多不勝數,為了就業,為了拿好的待遇,你沒有理由不藉助雲伺服器來學習技術編程。優先學習Web應用開發編程,然後在雲伺服器上部署你的Web應用,讓你所學的東西在線上環境下得到檢驗。愛好學習者,必須上雲。

3、軟體應用開發與部署。

可以把個人業余開發的開源Web應用部署到雲伺服器上,然後寫技術教程建立個人技術品牌,未來的時代,是個人品牌的時代,有了個人品牌,你不必依靠平台吃飯。你的個人IP就能讓你自食其力,持續打造自身專業的影響力。藉助雲技術,行動起來吧。

4、運維測試。

企業應用和個人應用測試用。性能壓力測試,線上環境模擬測試等測試技能。

5、微服務開發。

大型互聯網微服務應用已經不可能把各個服務都放在一台雲伺服器上,而是分散在數量龐大的雲伺服器上,分散訪問壓力。如果你要深入學習微服務,你有必要弄幾台雲伺服器來部署你的應用,然後讓別人看到你的成果。

雲伺服器的使用場景匯總:

1.搭建網站。個人博客,技術博客,生活隨筆,產品推廣等各種類型的網站。

2.編程。Java web編程+php web編程+python web編程+go web編程等等。

3.學習企業軟體運維技能。

4.部署開源系統,可以上github上看,有很多大牛都藉助雲伺服器部署開源項目。

5.自己接外包,做軟體項目需要用到。

6.小程序,app,前端H5開發, 游戲 開發等等都需要用到。

7.互聯網微服務架構,分布式系統開發都需要用到雲伺服器環境。

擁有一台雲伺服器,可以做很多事情。

更多使用技巧,點擊原文:雲伺服器的用途有哪些? - 雲產品體驗

③ Golang項目部署3,容器部署

容器部署即使用 docker 化部署 golang 應用程序,這是在雲服務時代最流行的部署方式,也是最推薦的部署方式。

跨平台交叉編譯是 golang 的特點之一,可以非常方便地編譯出我們需要的目標伺服器平台的版本,而且是靜態編譯,非常容易地解決了運行依賴問題。

使用以下指令可以靜態編譯 Linux 平台 amd64 架構的可執行文件:

生成的 main 便是我們靜態編譯的,可部署於 Linux amd64 上的可執行文件。

我們需要將該可執行文件 main 編譯生成 docker 鏡像,以便於分發及部署。 Golang 的運行環境推薦使用 alpine 基礎系統鏡像,編譯出的容器鏡像約為 20MB 左右。

一個參考的 Dockerfile 文件如下:

其中,我們的基礎鏡像使用了 loads/alpine:3.8 ,中國國內的用戶推薦使用該基礎鏡像,基礎鏡像的 Dockerfile 地址: https://github.com/johngcn/dockerfiles ,倉庫地址: https://hub.docker.com/u/loads

隨後使用 " docker build -t main . " 指令編譯生成名為 main 的 docker 鏡像。

需要注意的是,在某些項目的架構設計中, 靜態文件 配置文件 可能不會隨著鏡像進行編譯發布,而是分開進行管理和發布。

例如,使用 MVVM 模式的項目中(例如使用 vue 框架),往往是前後端非常獨立的,因此在鏡像中往往並不會包含 public 目錄。而使用了 配置管理中心 (例如使用 consul / etcd / zookeeper )的項目中,也往往並不需要 config 目錄。

因此對於以上示例的 Dockerfile 的使用,僅作參考,根據實際情況請進行必要的調整。

使用以下指令可直接運行剛才編譯成的鏡像:

容器的分發可以使用 docker 官方的平台: https://hub.docker.com/ ,國內也可以考慮使用阿里雲: https://www.aliyun.com/proct/acr 。

在企業級生產環境中, docker 容器往往需要結合 kubernetes 或者 docker swarm 容器編排工具一起使用。
容器編排涉及到的內容比較多,感興趣的同學可以參考以下資料:

④ 如何將app部署在阿里雲伺服器上

1。遠程登錄第一次購買ECS後,會把該ECS伺服器的root賬號、密碼發送購買者的郵箱,然後購買者可以通過遠程登錄到ECS伺服器。

2。安裝web環境根據自己應用特點選擇安裝相關web伺服器tomcat或者jetty,阿里雲提供了一條龍安裝部署腳本,為開發者提供了更多的方便。

3。打包應用將web源碼下載到本地,使用命令mvnpackage打成war包。如果不是maven工程,可以用類似ant打成war包。

4。上傳war包Linux下面可以使用sftp上傳war包,上傳war包到指定目錄後進行解壓

5。啟動web服務將tomcat或jetty服務啟動。

6。配置反向代理、綁定域名。

⑤ 部署beego項目到遠程伺服器

1、編譯環境 Ubuntu17.10 x64
2、伺服器環境 centOS 6.0 x64
通過bee pack 命令對項目進行打包 ,具體參考 beego主頁

參考 我的文章: ubuntu ssh 連接遠程伺服器 ,描述的非常清晰

ssh連接伺服器 進入到拷貝的目錄:
解壓到當前目錄 : tar -xvf beego_project.tar.gz
運行nohup ./beego_project
關閉終端。
在本機瀏覽器中輸入 IP地址+埠號 或者 伺服器網址。就可以看到你的項目了。

這是本人的一個 練手項目 。
登錄的用戶名和密碼 都是admin。
cookies有效時常為:7*24 小時。

請大家指正。

由 干貨集中營 提供的 API

⑥ 如何將APP部署在華為企業雲伺服器上

操作步驟:
1、在本地電腦上,快捷鍵「WIN+R"在「運行」中輸入「MSTSC」,點擊確定。
2、在「遠程桌面連接」框框點擊「選項」展開。(計算機中輸入華為雲伺服器的IP地址)
3、在展開的「遠程桌面連接」窗口,點擊「本地資源」。
4、然後點擊「詳細信息」。
5、勾選要上傳華為雲伺服器的文件所在的本地磁碟,點擊確定
6、進行用戶名和密碼核對後連接上遠程華為雲雲伺服器,打開「我的電腦」,就可以看到勾選的本地磁碟映射的盤符。
7、打開要上傳文件所在磁碟,選擇要上傳的文件,復制之後粘貼到華為雲伺服器自動的磁碟上,即完成上傳。

⑦ 請問如何用GoAgent部署雲計算平台

這個不讓說,挺簡單的.點雲的和英雄酷的我都弄了,很可惜,最新的還是不能SOCKS5...有bug...其實你可以GOOGLE一下點雲的,注冊一個號,還可以架設個自己的SSH.目前還不知道點雲上有沒有APP數量的限制,

⑧ 如何將APP部署在阿里雲伺服器上

1。遠程登錄第一次購買ECS後,會把該ECS伺服器的root賬號、密碼發送購買者的郵箱,然後購買者可以通過遠程登錄到ECS伺服器。

2。安裝web環境根據自己應用特點選擇安裝相關web伺服器tomcat或者jetty,阿里雲提供了一條龍安裝部署腳本,為開發者提供了更多的方便。

3。打包應用將web源碼下載到本地,使用命令mvnpackage打成war包。如果不是maven工程,可以用類似ant打成war包。

4。上傳war包Linux下面可以使用sftp上傳war包,上傳war包到指定目錄後進行解壓。

5。啟動web服務將tomcat或jetty服務啟動。

6。配置反向代理、綁定域名。

⑨ 如何在Docker中設置Go並部署應用

步驟一 - 創建Dockerfile
如下的Dockerfile可以滿足以上的要求:
**FROM** golang:1.6
*# Install beego and the bee dev tool*
**RUN** go get github.com/astaxie/beego && go get github.com/beego/bee
*# Expose the application on port 8080*
**EXPOSE** 8080
*# Set the entry point of the container to the bee command that runs the*
*# application and watches for changes*
**CMD** ["bee", "run"]
第一行,
FROM golang:1.6
將Go的官方映像文件作為基礎映像。該映像文件預安裝了 Go 1.6 . 該映像已經把 $GOPATH 的值設置到了 /go 。所有安裝在 /go/src 中的包將能夠被go命令訪問。
第二行,
RUN go get github.com/astaxie/beego && go get github.com/beego/bee
安裝 beego 包和 bee 工具。 beego 包將在應用程序中使用。 bee 工具用語在開發中再現地重新載入我們的代碼。
第三行,
EXPOSE 8080
在開發主機上利用容器為應用程序開放8080埠。
最後一行,
CMD ["bee", "run"]
使用bee命令啟動應用程序的在線重新載入。
步驟二 - 構建image
一旦創建了Docker file,運行如下的命令來創建image:
docker build -t ma-image .
執行以上的命令將創建名為ma-image的image。該image現在可以用於使用該應用程序的任何人。這將確保這個團隊能夠使用一個統一的開發環境。
為了查看系統上的image列表,運行如下的命令:
docker images
這行該命令將輸出與以下類似的內容:
REPOSITORY TAG IMAGE ID CREATED SIZE
ma-image latest 8d53aa0dd0cb 31 seconds ago 784.7 MB
golang 1.6 22a6ecf1f7cc 5 days ago 743.9 MB
注意image的確切名字和編號可能不同,但是,應該至少看到列表中有 golang 和 ma-image image。
步驟三 - 運行容器
一旦 ma-image 已經完成,可以使用以下的命令啟動一個容器:
docker run -it --rm --name ma-instance -p 8080:8080 \
-v /app/MathApp:/go/src/MathApp -w /go/src/MathApp ma-image

閱讀全文

與go應用部署到雲伺服器相關的資料

熱點內容
asp程序員收入 瀏覽:332
無線有密碼顯示未加密 瀏覽:210
檢查伺服器地址命令 瀏覽:597
編譯過程和解釋過程的圖表形式 瀏覽:835
文明重啟如何弄自己的伺服器免費 瀏覽:912
伺服器許可權不足如何解決 瀏覽:373
少兒編程樂高主要是學什麼 瀏覽:674
張家口人社app如何實名認證 瀏覽:296
淘寶圖片怎麼設置加密 瀏覽:314
pdf拼接器 瀏覽:786
只有程序員能看得懂 瀏覽:183
java打成jar包 瀏覽:214
朗動大屏怎麼連安卓 瀏覽:331
如何把微信掛在伺服器上 瀏覽:822
linux比對兩個文件夾文件差異 瀏覽:457
火牛app怎麼刷火鑽 瀏覽:560
高中vb編程 瀏覽:818
國家反詐中心app如何設置來電預警 瀏覽:427
vB6如何做opc伺服器介面 瀏覽:252
數學分析考研真題pdf 瀏覽:371