2016-11-07 110 views
0

我對Go編程語言頗感興趣。我打算使用它來編寫一個包含購物車的簡單網站。我不確定如何在服務器上安裝golang。它是否與普通電腦一樣?一旦完成,我還需要採取哪些步驟來使用Windows服務器部署網站。到什麼程度才需要使用html,css或javascript?如何讓我們的網絡/局域網中的其他用戶在服務器上運行該站點以訪問它?使用Golang和Windows服務器機器

任何有關網絡應用程序和/或Windows服務器機器的有用信息,表示讚賞!

+0

這可能會因太寬泛而關閉,但一些提示:執行可執行文件不需要在服務器上安裝任何內容。你可以從你的開發機器或構建服務器中刪除一個可執行文件,它將運行。 – captncraig

+0

我已經使用nssm或本地服務管理器apis安裝了go應用程序作爲windows服務,但這可能會非常棘手。 – captncraig

+0

我喜歡用html/css/js部署go應用程序,這些應用程序實際編譯爲主要的二進制文件(真正的單個文件部署)。使用像https://github.com/jteeuwen/go-bindata這樣的工具。我的應用程序將作爲其正常路線的一部分提供服務。 – captncraig

回答

3

這是一個普通的開放操作問題,因爲它是Go的特定問題。很多事情要考慮在這裏,每個人都會有不同的喜好,但這裏有一些我會推薦的指南:

  • 沒有必要在生產服務器上安裝Go工具鏈。然後,您必須在開發和生產環境中維護您的Go安裝,並且如果您的生產服務器與Windows計算機不同(例如,Linux發行版),它將很快失控。相反,只需在本地和cross compile上開發生產服務器的操作系統即可。
  • 您需要在生產服務器上保留的一件事是您選擇使用Go程序的任何數據庫。
  • 然後您可以通過sftp或通過您選擇的方法將編譯後的二進制文件與靜態網頁文件一起傳輸到生產服務器。一旦二進制文件在你的生產服務器上,你可以在你使用SSH進行啓動時啓動它。 ./programname
  • 根據你想要如何使用Go,你不需要Apache。使用net/http包來提供您的Html,CSS和JS文件。假如你已經在你的本地安裝了git,那麼你可以在你的本地工作之後將這些靜態文件轉移過去,或者你可以將它們保存在Github庫中,並根據需要從你的prod服務器中將它們保存到git pull
  • 您通常不需要擔心在生產服務器上保持「運行」狀態。 http.ListenAndServe在您的端口偵聽傳入請求。如果您的服務器重新啓動或關閉,您可以自動啓動編譯後的二進制文件。

您還可以使用Vagrant,Virtual Box和Ansible等產品來高質量地模仿您的生產環境並根據您所需的規格啓動新服務器。