XserverVPSでGolangをインストールして動かす方法

XserverVPSでgo使いたいんだけど使えるの?
インストールすれば使えるよ!
この記事ではXserverVPSでサーバーを立ててgoをインストールして使うっていうことをやっていきます。

記事の内容
  • XserverVPSでサーバーを立てる
  • サーバーにGolangをインストールする

XserverVPSでGo言語を使って何かしたいという方は参考にしてみてください。

XserverVPSでgo使っていこう。

XserverVPSでサーバーを立てる

まずはXserver VPSでサーバーを立てます。具体的な申し込み手順は以下の記事で詳しく書いているので、わからなかったら参考にしてみてください。

Ubuntuでサーバーを立てる

今回はOSだけ選択してサーバーを立ててやろうと思います。OSはUbuntuでやるけど、使いたいOSがあれば好きなOSを選択してください。

(ちなみにOSの再インストールなんかは後でもできるので、ここでミスっても大丈夫です)

 

  • サーバー名・・・管理画面に表示されるサーバー名(自分で決めることも可能)
  • プラン・・・メモリの選択(2GBプランがお勧め)
  • サーバーの契約期間・・・サーバーの契約期間(12ヶ月がお勧め)
  • イメージタイプ・・・OSやアプリケーションの選択(アプリケーションの場合は選択したアプリケーションが使える環境を作ってくれる)
  • rootパスワード・・・rootユーザーのパスワード
  • SSH Key・・・SSH Keyを作成するかどうか

プランや契約期間は好きなものを設定すればいいんだよね?
そうだね、それとSSH Keyはここで作っておくと楽だよ。

SSH Keyは自分で作成したものを手動でサーバー内に設定することもできますが、ここでやっておくと作ってくれるので楽です。秘密鍵もダウンロードすることができます。

立てたサーバーにSSH接続する

立てたサーバーにはSSH接続して作業したいのでSSH接続します。SSH接続する方法に関しては以下の記事で書いたので、わからなかったら参考にしてみてください。

Ubuntuの初期設定を行う

$ apt update
$ apt upgrade

ユーザーがrootしかいないので、作業用のユーザーを作成します。

// /home/tanakaが作成される
$ adduser tanaka

// 作成したユーザーにsudo権限を付与する
$ gpasswd -a kobayashi sudo

// 公開鍵を作成したユーザーの.sshディレクトリに配置する
$ mkdir /home/tanaka/.ssh
$ cp /root/.ssh/authorized_keys /home/tanaka/.ssh/.

// パーミッション変更
$ chmod 700 /home/tanaka/.ssh
$ chmod 600 /home/tanaka/.ssh/authorized_keys

// ディレクトリの所有者とグループを設定する
$ chown tanaka:tanaka .ssh
$ chown tanaka:tanaka .ssh/authorized_keys

これでSSH接続を解除して、今度は作成したユーザーでSSH接続します。

$ ssh -i xserver-vps-ssh-key.pem 作成したユーザー@IPアドレス

これで作成したユーザーでSSH接続することができました。

Golangをインストールする

goをインストールします。

$ sudo apt  install -y golang-go
$ go version
go version go1.18.1 linux/amd64
$ vim main.go
package main

import "fmt"

func main() {
  fmt.Printf("Hello World\n")
}

これでgo run main.goを実行してみるとちゃんと実行できましたね。

httpサーバーを起動して確かめる

ブラウザでも起動を確認したいので、httpサーバーをxserverのIPアドレスを指定して動かしてみます。

package main

import (
    "io"
    "net/http"
)

func infoHandler(w http.ResponseWriter, r *http.Request) {
    io.WriteString(w, `
  <!DOCTYPE html>
  <html lang="ja">
  <head>
  <meta charset="UTF-8">
  <title>Hello World</title>
  </head>
  <body>
  <h1>Hello World</h1>
  </body></html>
  `)
}

func main() {
    http.HandleFunc("/", infoHandler)

    http.ListenAndServe("IPアドレス:8080", nil)
}

これでIPアドレス:8080にブラウザからアクセスしてみるとちゃんとHello Worldが表示できましたね。

本当はWebサーバー経由して実行した方がいいけど、軽く結果を確認したかったのでこうしました。アプリケーション動かす時にはNginxなどのWebサーバー経由でやりましょう。

まとめ

Xserver VPSでGo言語をインストールして実行するっていうことをやってみたけど、結構簡単にできました。サーバー立ててgoインストールすれば簡単に利用できましたからね。

同じようなことを試してみたかったらやってみるといいでしょう。