1. 程式人生 > >在vultr安裝和使用golang

在vultr安裝和使用golang

三個點 用戶 overflow gen open 遠程 com use esp

1、vultr可以用微信或支付寶充值,方便。好像推薦別人用還能掙美分,懶得弄了,參加了一個充10刀送50刀的活動,感覺實惠。

2、註冊登錄後,控制面板上billing可查看余額。servers中可部署操作系統,我部署了一個最便宜的Centos7(可以部署多個,我部署完查看余額少了1美分)

3、部署的server名最右邊有三個點,點擊後的菜單中有View Console,是一個運行在瀏覽器中的Consol。(點開部署的server,可以找到用戶名root和密碼),登錄View Console後進入了遠程的centos7系統中了。

4、輸入uname -a 無效; 輸入:file /bin/ls 有了x86-64字樣 ; 輸入cat /etc/os-release,有了centos 7的字樣

5、輸入yum 或wget 或 rpm 或vi (在vi中用 :q 退出)都有,OK!

6、直接 yum install golang 安裝成功。 輸入go version 查看go版本。輸入whereis go 和whereis golang 查看安裝位置

7、從本地windows向centos7傳文件,看了下xshell 收費。還是用putty (https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html),安裝運行.

安裝putty目錄中還有個PuTTygen ,首先用它生成(運行後晃動鼠標生成)SSH key (https://www.vultr.com/docs/how-do-i-generate-ssh-keys/),

然後點save private key,再將public key的全部內容復制server的SSH key中保存。用putty連接後發現還是不能上傳下載文件,還要用安裝WinSCP或者Filezilla。感覺putty與View Console沒區別。突然發現putty目錄中有psftp ,運行後按提示open ,連接成功,可在遠程用ls cd 等命令查看了。

8、在psftp中,運行 get xxx 就將xxx 從遠程下載到psftp所在目錄中了。將以下代碼保存為main.go,並放到psftp目錄中

package main

import (
    "fmt"
"net/http" ) func main() { http.HandleFunc("/", IndexHandler) http.ListenAndServe(":9090", nil) } func IndexHandler(w http.ResponseWriter, r *http.Request) { fmt.Fprintln(w, "hello world!!!") }

執行 put main.go,上傳到了遠程的/usr/bin/main.go;然後執行go run main.go 不行。

9、用liteide將上面的main.go交叉編譯為linux64程序,名為gohttphello。再用psftp上傳後,用 chmod +x gohttphello 加上執行權限,

用 ./gohttphello 運行,提示Text file busy , 先用yum install psmisc 來安裝 fuser ,然後 fuser gohttphello 無效果。重新./gohttphello無效

10、重新用psftp上傳 put main.go ,然後在putty中 go build -o gohello main.go ,再./gohello ,看到程序運行了(我在代碼中加一句控制臺輸出),但通過瀏覽器遠程無法訪問。

11、通過View Console執行 firewall-cmd --state ,顯示防火墻running ;用systemctl stop firewalld.service #關閉防火墻,然後http://X.X.X.X(遠程IP),終於成功顯示出hello world!!!

12、最後:用systemctl start firewalld.service 重啟防火墻 .用以下命令開放9090端口

firewall-cmd --get-active-zones (無顯示,應該是zone為空)

firewall-cmd --zone=public --add-port=9090/tcp --permanent  (永久開放9090端口)

firewall-cmd --reload (重啟防火墻)

firewall-cmd --query-port=9090/tcp  (查看端口是否開放)

參考:(一並致謝)

https://www.cnblogs.com/lzxianren/p/5518919.html

https://www.cnblogs.com/nucdy/p/5702330.html

https://www.cnblogs.com/pcyy/p/7568820.html

https://blog.csdn.net/bihailan123/article/details/80067663

https://www.cnblogs.com/litifeng/p/6891330.html

https://blog.csdn.net/iw1210/article/details/16862147

https://blog.csdn.net/Evan_QB/article/details/79811949

https://blog.csdn.net/zx110503/article/details/78787483

——

在vultr安裝和使用golang