質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Go

Go(golang)は、Googleで開発されたオープンソースのプログラミング言語です。

Q&A

解決済

2回答

2388閲覧

Go言語のプログラムをレンタルサーバー上で動かしたい

sirotyatora

総合スコア1

Go

Go(golang)は、Googleで開発されたオープンソースのプログラミング言語です。

0グッド

0クリップ

投稿2020/05/14 09:47

前提・実現したいこと

初心者かつ、初めてここに質問します。

Go言語で作ったWebアプリを、レンタルサーバー上で動かしたいのですが、方法が分かりません。

https://qiita.com/Lio/items/ee24052e6e2ae0f382d9
まず、このサイトのプログラムを丸写しし、xサーバーにあげてみましたが、403エラーが出ました。

発生している問題・エラーメッセージ

403エラー

該当のソースコード

Golang

1package main 2 3import ( 4 "html/template" 5 "log" 6 "net/http" 7 "net/http/fcgi" 8) 9 10func handler(w http.ResponseWriter, r *http.Request) { 11 headers := w.Header() 12 headers.Add("Content-Type", "text/html") 13 t := template.Must(template.New("sample").Parse(samplepage)) 14 t.Execute(w, r) 15} 16 17func main() { 18 http.HandleFunc("/", handler) 19 20 var err error 21 err = fcgi.Serve(nil, nil) 22 if err != nil { 23 log.Fatal(err) 24 } 25} 26 27const samplepage = ` 28<!doctype> 29<html> 30<head> 31 <meta charset='utf-8'> 32 <title>Work on Go</title> 33</head> 34<body> 35 <h1>Hello world from Go!</h1> 36 <table> 37 <tr><td>Method</td><td>{{.Method}}</td></tr> 38 <tr><td>URL</td><td>{{.URL}}</td></tr> 39 <tr><td>URL.Path</td><td>{{.URL.Path}}</td></tr> 40 <tr><td>Proto</td><td>{{.Proto}}</td></tr> 41 <tr><td>Host</td><td>{{.Host}}</td></tr> 42 <tr><td>RemoteAddr</td><td>{{.RemoteAddr}}</td></tr> 43 <tr><td>RequestURI</td><td>{{.RequestURI}}</td></tr> 44 <tr><td>Header</td><td>{{.Header}}</td></tr> 45 <tr><td>Body</td><td>{{.Body}}</td></tr> 46 </table> 47</body> 48</html> 49` 50 51以下.htaccess 52<IfModule mod_fcgid.c> 53AddHandler fcgid-script .fcgi 54</IfModule>

(参照: https://qiita.com/Lio/items/ee24052e6e2ae0f382d9)

試したこと

ディレクトリやファイルのパーミッションは全て755に設定済みで
sample.goをアップロード →403エラー
go buildで.exeファイル作成、アップロード →403エラー

https://qiita.com/masaru_b_cl/items/b7fc6a17ee2390c010a1
https://qiita.com/Jxck_/items/02185f51162e92759ebe
などのサイトを参考に、Linux amd64向けにクロスコンパイル(上手くいっているかは怪しいです)
それで作ったファイルをアップロード →403エラー

上のファイルの名前を「index.fcgi」に変更 →403エラー

上のファイルの名前を「index.cgi」に変更 →500エラー
.htaccessに
AddHandler fcgid-script .cgi
を書き足す →500エラー

補足情報(FW/ツールのバージョンなど)

環境: Windows10
go version go1.13.5 windows/amd64

xサーバーに問い合わせてみましたが、「当サービスで動作確認している言語でないため、詳細な案内は出来ない」と返事がありました。

何卒よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

回答を受けよく調べたところ、GoのWebアプリの公開にレンタルサーバーは一般的でないと分かりました。
herokuなどクラウドサービスについて、もっと勉強しようと思います。

投稿2020/05/15 12:46

sirotyatora

総合スコア1

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

レンタルサーバー
Javaですら動かないところが多いです。ほぼPHP(あとPerl)のみ対応と考えて良いでしょう。

投稿2020/05/14 09:52

m.ts10806

総合スコア80875

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問