亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Golang 如何將網站部署到主機

Golang 如何將網站部署到主機

Go
慕碼人2483693 2023-06-12 15:19:44
我已經從reg.ru購買了主機。我編譯了我的網站并將其放在子域中。當我運行我的應用程序時,它運行良好,沒有錯誤。但是當我輸入該子域時,我的網站沒有響應。我嘗試添加.htaccess文件但沒有成功。Golang將我的網站部署到托管是否正常?還是我應該買一臺服務器?我可以告訴托管服務于我的應用程序對該子域的請求嗎?
查看完整描述

2 回答

?
qq_花開花謝_0

TA貢獻1835條經驗 獲得超7個贊

Golang 是一種編譯型語言。編譯源代碼的輸出是一個二進制文件,可以直接在操作系統(編譯)上執行,而不需要任何其他軟件。編譯后的二進制文件本身包含一個使用 http 請求的網絡服務器。這是與 PHP 等解釋性語言的主要區別,后者需要網絡服務器(Apache、Nginx)將傳入請求轉換為 PHP 可以理解的協議。

我嘗試添加 .htaccess 文件但沒有成功

.htaccess文件是 Apache 網絡服務器配置文件,運行已編譯的網絡服務器應用程序不需要它。

將我的Golang網站部署到托管上正常嗎?還是我應該買一臺服務器?

網站托管提供商希望您運行 PHP 或任何其他理解 CGI 協議的應用程序。

為了托管您的 golang webapp,您應該像對待任何其他編譯語言一樣進行操作:從經典托管提供商處購買服務器 (VPS) 或使用公共云提供商。

您的另一種選擇是使用像 Google 的App Engine這樣的托管平臺。它需要您部署 golang 源代碼,并為您管理其他一切。它可能會為您省去一些 devops 的麻煩。


查看完整回答
反對 回復 2023-06-12
?
函數式編程

TA貢獻1807條經驗 獲得超9個贊

共享主機計劃支持 CGI 是很常見的。net?/http/cgi包在 go 中提供了對此的支持。只要您使用標準庫中的 http 服務器,它只需要對您的 go 程序進行微小的更改。

http.ListenAndServe(":8080", myServeMux)會變成cgi.Serve(myServeMux)。?http.ListenAndServe(":8080", nil)會變成cgi.Serve(nil)。

請注意,您不再指定端口,因為該端口現在已在網絡服務器上配置。

對此有一些注意事項:

  • 這比內置的 http 服務器慢,因為您的程序必須為每個頁面加載從頭開始。也就是說,go 啟動得非??臁V灰膽贸绦蛟趩訒r沒有一堆事情要做,那就還不錯

  • 您不能運行后臺線程。您的程序在請求進入時啟動,并應在響應發出后立即結束。

  • 內存和 go 通道不能在不同的請求之間共享。


查看完整回答
反對 回復 2023-06-12
  • 2 回答
  • 0 關注
  • 147 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號