1

パブリック IP を持つサーバーで新しい Django APP を起動し、次のコマンドで実行します。

python manage.py runserver publicip:port

その後、アクセスすると正常に動作することがわかりましたhttp://publicip:port。しかし、ドメイン名(このIPに解決される)を使用してアクセスすると、失敗し、打撃エラーが発生します:( https://dpaste.de/FIrk )

0 errors found
October 10, 2013 - 10:31:13
Django version 1.5.1, using settings 'testsite.settings'
Development server is running at http://*.*.*.*:8709/
Quit the server with CONTROL-C.

Traceback (most recent call last):
  File "/usr/lib/python2.7/wsgiref/handlers.py", line 86, in run
    self.finish_response()
  File "/usr/lib/python2.7/wsgiref/handlers.py", line 127, in finish_response
    self.write(data)
  File "/usr/lib/python2.7/wsgiref/handlers.py", line 210, in write
    self.send_headers()
  File "/usr/lib/python2.7/wsgiref/handlers.py", line 268, in send_headers
    self.send_preamble()
  File "/usr/lib/python2.7/wsgiref/handlers.py", line 189, in send_preamble
    self._write('HTTP/%s %s\r\n' % (self.http_version,self.status))
  File "/usr/lib/python2.7/wsgiref/handlers.py", line 389, in _write
    self.stdout.write(data)
  File "/usr/lib/python2.7/socket.py", line 324, in write
    self.flush()
  File "/usr/lib/python2.7/socket.py", line 303, in flush
    self._sock.sendall(view[write_offset:write_offset+buffer_size])
  error: [Errno 104] Connection reset by peer
----------------------------------------
Exception happened during processing of request from ('58.33.144.118', 53268)
Traceback (most recent call last):
  File "/usr/lib/python2.7/SocketServer.py", line 582, in process_request_thread
    self.finish_request(request, client_address)
  File "/usr/lib/python2.7/SocketServer.py", line 323, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/usr/local/lib/python2.7/dist-packages/django/core/servers/basehttp.py", line     150, in __init__
    super(WSGIRequestHandler, self).__init__(*args, **kwargs)
  File "/usr/lib/python2.7/SocketServer.py", line 640, in __init__
    self.finish()
  File "/usr/lib/python2.7/SocketServer.py", line 693, in finish
    self.wfile.flush()
  File "/usr/lib/python2.7/socket.py", line 303, in flush
    self._sock.sendall(view[write_offset:write_offset+buffer_size])
error: [Errno 32] Broken pipe
----------------------------------------

誰かが理由を見つけるためにいくつかの提案をすることができます.thxはたくさんあります.

4

2 に答える 2

4

runserverIP の代わりにドメイン名を使用して実行します。

python manage.py foobar.com:8000

本番環境では絶対に使用しないrunserverでください:

このサーバーを本番環境で使用しないでください。セキュリティ監査やパフォーマンス テストを受けていません。(これが今後も続く方法です。私たちは Web サーバーではなく Web フレームワークを作成するビジネスを行っているため、本番環境を処理できるようにこのサーバーを改善することは、Django の範囲外です。)

于 2013-10-10T16:01:35.730 に答える