2017-09-05 8 views
6

GNU health FHIR REST serverをインストールするためのオンラインドキュメントに従っています。Flask + Tornadoアプリケーション - サーバーとの通信方法(接続が拒否されました)

サーバーマシンでRESTサーバーアプリケーションを実行することができました。私は、サーバーに問い合わせるしようとするcurlを使用

from tornado.wsgi import WSGIContainer 
from tornado.httpserver import HTTPServer 
from tornado.ioloop import IOLoop 
from tornado.options import define, options 
from app import create_app 
from config import ProductionConfig 

define("port", default=5000, help="Port to listen on", type=int) 
#app = create_app(config=ProductionConfig) 
app = create_app() #DebugConfig 
http_server = HTTPServer(WSGIContainer(app)) 
http_server.listen(options.port) 
IOLoop.instance().start() 

List all patients (http://localhost:5000/Patient) 
Show info for patient id #1 (http://localhost:5000/Patient/1) 
List all patients with ana in name (http://localhost:5000/Patient?name=ana) 

# etc ... 

これはトルネードサーバーを起動するために使用されたPythonコードです:According to the documentation、次エンドポイントは、私のサーバーから入手する必要があります:

curl http://localhost:5000/Patient 
curl: (7) Failed to connect to localhost port 5000: Connection refused 

注:私は(上記の貼り付けコードから)推測している、そのトルネードサーバーポート5000でリッスンしています。 `options.port 'の値を表示するようにコードを修正しましたが、なんらかの理由でコンソールには表示されません。また、ファイルに値を記録できませんでした(ファイルは書き込まれず、エラーメッセージも表示されません)。私は開いているポートを確認するためにlsofで確認倍増

$ lsof -i 
COMMAND PID  USER FD TYPE DEVICE SIZE/OFF NODE NAME 
python2 23147 morpheous 4u IPv6 592698  0t0 TCP localhost:51950->localhost:8000 (ESTABLISHED) 

私はポートトルネードが実行されているの確立に助けが必要なので、私は、RESTのAPIを照会するためにカールを使用することができます。

+0

このコードは正しいように見えます。私の独自の 'create_app'関数を置き換えると動作します。この問題は、 'app'または' config'モジュールに何かあるはずです。 –

+0

@BenDarnellどのポートがあなたのTornadoインスタンスを実行していましたか?また、私の質問では、 'curl'を使ってサーバーと話をする方法を知りたかったのですが、どうすればいいでしょうか? –

+0

また、私は竜巻アプリケーションコード(私の質問で提供されるコード)をデバッグする方法を知っていますか?コンソールへの印刷や変数のファイルへの出力が不可能なため、問題をデバッグして解決することが難しくなります。 –

答えて

0

権限の問題またはそのポート上で実行中のものがない場合、接続が拒否されます。あなたのケースでは私はあなたが持つすべてのTCP接続を一覧表示するにsudoにを使用する必要があり、このコマンド

SS

-ltpに確認してください5000

上で実行されているものは何もありません推測します

0 -ltpポートとユーザ

(EX)須藤のSS

マイ出力:6379 ::ユーザー:(( "のRedisサーバ"、PID = 12325、FD = 5))

注:私はちょうど私の1つの出力を記載されている

は* 0 128はLISTENここに私のリストの。

これはちょうどredisが6379ポートで実行されていると伝えます。

竜巻が走っている場合は、このコマンドを発射中にあなたのためにそれが表示されます。

これに直面している問題がある場合は教えてください。

関連する問題