我刚刚开始使用GAE,我在这里有https://developers.google.com/appengine/docs/go/gettingstarted/devenvironment的指南和一些你好的单词教程https://developers.google.com/appengine/docs/go/gettingstarted/helloworld。
我的问题是当我输入goapp serve
时,它有效。并显示如下日志:
INFO 2014-05-18 08:44:57,130 devappserver2.py:765] Skipping SDK update check.
WARNING 2014-05-18 08:44:57,135 api_server.py:374] Could not initialize images API; you are likely missing the Python "PIL" module.
INFO 2014-05-18 08:44:57,140 api_server.py:171] Starting API server at: http://localhost:59559
INFO 2014-05-18 08:44:57,154 dispatcher.py:182] Starting module "default" running at: http://localhost:8080
INFO 2014-05-18 08:44:57,156 admin_server.py:117] Starting admin server at: http://localhost:8000
但是,当我试图访问http://localhost:8080
时,它并没有告诉我“你好,世界!”在浏览器中。和错误日志显示我这样:
ERROR 2014-05-18 08:48:05,002 module.py:714] Request to '/' failed
Traceback (most recent call last):
File "/home/bayu/.go_appengine/google/appengine/tools/devappserver2/module.py", line 708, in _handle_request
environ, wrapped_start_response)
File "/home/bayu/.go_appengine/google/appengine/tools/devappserver2/request_rewriter.py", line 311, in _rewriter_middleware
response_body = iter(application(environ, wrapped_start_response))
File "/home/bayu/.go_appengine/google/appengine/tools/devappserver2/module.py", line 1228, in _handle_script_request
request_type)
File "/home/bayu/.go_appengine/google/appengine/tools/devappserver2/instance.py", line 382, in handle
request_type))
File "/home/bayu/.go_appengine/google/appengine/tools/devappserver2/http_proxy.py", line 148, in handle
connection.connect()
File "/home/bayu/.pyenv/versions/2.7.6/lib/python2.7/httplib.py", line 772, in connect
self.timeout, self.source_address)
File "/home/bayu/.pyenv/versions/2.7.6/lib/python2.7/socket.py", line 571, in create_connection
raise err
error: [Errno 111] Connection refused
INFO 2014-05-18 08:48:05,007 module.py:639] default: "GET / HTTP/1.1" 500 -
我已经谷歌了,并在这里尝试另一个入门教程http://blog.joshsoftware.com/2014/03/12/learn-to-build-and-deploy-simple-go-web-apps-part-one/ 但它也不起作用。
我该怎么办?
这是我的hello.go和app.yaml
hello.go
package hello
import (
"fmt"
"net/http"
)
func init() {
http.HandleFunc("/", handler)
}
func handler(w http.ResponseWriter, r *http.Request) {
fmt.Fprint(w, "Hello,")
}
的app.yaml
application: helloworld
version: 1
runtime: go
api_version: go1
handlers:
- url: /.*
script: _go_app
谢谢,
答案 0 :(得分:1)
不确定这是否会对任何人有所帮助,但我遇到了完全相同的问题,最后将其追踪到我的主机文件中。基本上发生的事情是app引擎服务器运行在0.0.0.0:8080但接口/输出显示localhost:8080。在我的hosts文件中,0.0.0.0:8080未映射到localhost所以:
/private/etc/hosts
文件
0.0.0.0 localhost
添加到您的主机文件在那个简单的编辑之后,一切都适合我。