2

我一直在使用谷歌应用程序引擎使用 python 2.7、ubuntu 12.04 和 webapp2 框架进行网络应用程序开发。

由于某些奇怪的原因,当我在本地开发服务器上运行应用程序时,我无法再像以前那样在终端上查看我的 http 响应或查看错误。我不知道它是怎么变成这样的。

此外,当使用我的终端运行新的使用 dev_server.py 命令时,如下所示,

ahmad@ubuntu:~/GAE$ python google_appengine/dev_appserver.py wiki

我收到正在使用套接字的错误。我记得当我运行一个应用程序时,我必须单击 ctrl+c 来杀死它并重新运行另一个应用程序。现在它似乎在后台运行,如果我尝试运行另一个应用程序,我会得到一个套接字正在运行的声明用过的...

这是在本地开发服务器上运行差异应用程序的确切错误,

ahmad@ubuntu:~/GAE$ python google_appengine/dev_appserver.py wiki
WARNING  2012-06-09 17:04:25,981 rdbms_mysqldb.py:74] The rdbms API is not available because the MySQLdb library could not be loaded.
INFO     2012-06-09 17:04:26,022 appengine_rpc.py:160] Server: appengine.google.com
INFO     2012-06-09 17:04:26,024 appcfg.py:582] Checking for updates to the SDK.
INFO     2012-06-09 17:04:26,221 appcfg.py:600] The SDK is up to date.
WARNING  2012-06-09 17:04:26,221 datastore_file_stub.py:518] Could not read datastore data from /tmp/dev_appserver.datastore
Traceback (most recent call last):
  File "google_appengine/dev_appserver.py", line 125, in <module>
    run_file(__file__, globals())
  File "google_appengine/dev_appserver.py", line 121, in run_file
    execfile(script_path, globals_)
  File "/home/ahmad/GAE/google_appengine/google/appengine/tools/dev_appserver_main.py", line 690, in <module>
    sys.exit(main(sys.argv))
  File "/home/ahmad/GAE/google_appengine/google/appengine/tools/dev_appserver_main.py", line 653, in main
    persist_logs=persist_logs)
  File "/home/ahmad/GAE/google_appengine/google/appengine/tools/dev_appserver.py", line 3595, in CreateServer
    server = HTTPServerWithScheduler((serve_address, port), handler_class)
  File "/home/ahmad/GAE/google_appengine/google/appengine/tools/dev_appserver.py", line 3623, in __init__
    request_handler_class)
  File "/usr/lib/python2.7/SocketServer.py", line 408, in __init__
    self.server_bind()
  File "/usr/lib/python2.7/BaseHTTPServer.py", line 108, in server_bind
    SocketServer.TCPServer.server_bind(self)
  File "/usr/lib/python2.7/SocketServer.py", line 419, in server_bind
    self.socket.bind(self.server_address)
  File "/usr/lib/python2.7/socket.py", line 224, in meth
    return getattr(self._sock,name)(*args)
socket.error: [Errno 98] Address already in use
INFO     2012-06-09 17:04:26,322 datastore_stub_util.py:2410] Applying all pending transactions and saving the datastore

感谢您提前提供任何帮助

4

3 回答 3

3

“地址已在使用中”看起来该端口已被其他进程使用。

于 2012-06-09T17:18:33.687 回答
1

尝试找到挂在您的端口上的进程。如果您使用类似的东西,ps aux您可能会立即识别出僵尸应用服务器实例。如果没有,可以使用示例来确定哪个进程正在使用端口。你可能不得不这样kill -9做。

如果它应该正在使用中,请使用-p PORT参数在不同的端口上启动 dev_appserver。

于 2012-06-09T20:18:53.443 回答
0

如果您尝试同时运行两个应用程序(通过使用 dev_appserver 的两个实例),您将需要告诉其中一个使用不同的端口。在运行开发 Web 服务器中通过示例对其进行了描述。

在 Ubuntu 上 Ctrl-C'ing dev_appserver 不应导致它在后台运行。(可能是 Ctrl-Z)。

于 2012-06-09T17:27:42.807 回答