在vultr安裝和使用golang

一、vultr能夠用微信或支付寶充值,方便。好像推薦別人用還能掙美分,懶得弄了,參加了一個充10刀送50刀的活動,感受實惠(實際用時感受有點小貴)。html

二、註冊登陸後,控制面板上billing可查看餘額。servers中可部署操做系統,我部署了一個最便宜的Centos7(能夠部署多個,我部署完查看餘額少了1美分)linux

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

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

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

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

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

安裝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 等命令查看了。微信

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

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  不行。

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

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

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

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

十二、最後:用systemctl start firewalld.service 重啓防火牆 .用如下命令開放9090端口

輸入 nohup gohello &        使程序在後臺運行

用 ps a 查看當前終端下的全部進程信息,包括其餘用戶的進程。

用kill  -9  PID數字          結束進程

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  (查看端口是否開放)

參考:(一併致謝)

http://www.javashuo.com/article/p-quuijtaa-dc.html

http://www.javashuo.com/article/p-bpvpzhbc-et.html

http://www.javashuo.com/article/p-hnsvtled-em.html

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

http://www.javashuo.com/article/p-yerqqdxp-eb.html

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

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

http://www.javashuo.com/article/p-ooekqyac-hk.html

https://www.ibm.com/developerworks/cn/linux/l-cn-nohup

http://www.javashuo.com/article/p-bazfmoap-ds.html

相關文章
相關標籤/搜索