FreeBSDでのNginxリバースプロキシとGolangのセットアップ

必要条件

  • UNIXの基本的な知識。
  • NginxがインストールされたFreeBSD x64。

インストールツール

FreeBSDに同梱されていないプログラムがいくつか必要になります。次のコマンドを実行して、それらをインストールします。

pkg install nano wget git mercurial bzr

Golangをダウンロードしてインストールする

次の一連のコマンドを実行してgolangをダウンロードします。

cd /tmp
wget https://storage.googleapis.com/golang/go1.3.3.freebsd-amd64.tar.gz
tar -C /usr/local -xzf go1.3.3.freebsd-amd64.tar.gz

環境変数の設定

という名前の変数GOPATH(インストールされたパッケージの場所になります)を作成し、パスに追加します。

mkdir ~/.gopkg
setenv GOPATH /root/.gopkg
set path = ($path /usr/local/go/bin /root/.gopkg/bin)

起動時にパスを設定する場合は、次のコマンドを実行してパスをに追加します.cshrc

echo "setenv GOPATH /root/.gopkg" >> ~/.cshrc
echo "set path = ($path /usr/local/go/bin /root/.gopkg/bin)" >> ~/.cshrc

インストー���の確認

go端末で実行します。オプションのリストが表示されれば、インストールは成功しています。次のコマンドを実行して、というWebフレームワークをインストールしますMartini

go get github.com/go-martini/martini

エラーが表示されない場合は、次の手順に進んでください。

マティーニのセットアップ

というファイルを作成server.goし、次のコード行を入力します。

package main

import "github.com/go-martini/martini"

func main() {
  m := martini.Classic()
  m.Get("/", func() string {
    return "Hello from Vultr VPS :)!"
  })
  m.Run()
}

完了したら、保存して実行しgo run server.goます。端末にエラーが表示されない場合は、次の手順に進むことができます。

Nginxリバースプロキシのセットアップ

MartiniサーバーにリバースプロキシするようにNginxを構成します。/usr/local/etc/nginx/nginx.conf探しlocationて、次のと中括弧内にその内容を置き換えます。

expires 8d;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_read_timeout 5m;
proxy_connect_timeout 5m;

proxy_cache_key sfs$request_uri$scheme;
proxy_pass http://127.0.0.1:3000;
proxy_redirect off;

追加したものを保存して実行するservice nginx restartservice nginx onerestart、次に実行しgo run server.goます。ブラウザーに入力http://0.0.0.0(それに応じてIPを変更)すると、次のようなページが表示されます。

Hello from Vultr VPS :)!

おめでとうございます。Golang+ Martiniを使用してNginxリバースプロキシサーバーを正常にセットアップしました。



Leave a Comment

CentOS 7にApacheをインストールする方法

CentOS 7にApacheをインストールする方法

CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。

DebianでSnortを設定する方法

DebianでSnortを設定する方法

Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。

Ubuntu 19.04にFiveMサーバーをインストールする方法

Ubuntu 19.04にFiveMサーバーをインストールする方法

FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。

ヘルスケア2021における人工知能の影響

ヘルスケア2021における人工知能の影響

ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。