2017-09-05 16 views
6

मैंने GNU health FHIR REST server इंस्टॉल करने के लिए ऑनलाइन दस्तावेज़ों का पालन किया है।फ्लास्क + टोरनाडो एप्लिकेशन - सर्वर के साथ संवाद कैसे करें (कनेक्शन से इनकार कर दिया गया)

मैंने अपने सर्वर मशीन पर आरईएसटी सर्वर एप्लिकेशन चलाने में कामयाब रहा है।

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() 

मैं curl इस्तेमाल किया सर्वर पूछताछ करने की कोशिश करने के लिए:

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 ... 

यह है कि तूफान सर्वर शुरू करने के लिए प्रयोग किया जाता है अजगर कोड है: 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' फ़ंक्शन प्रतिस्थापित करता हूं। समस्या 'ऐप' या' config' मॉड्यूल में कुछ होना चाहिए। –

+0

@ बेनडर्नेल किस पोर्ट को आपका टोरनाडो उदाहरण चल रहा था? इसके अलावा, मेरे प्रश्न में, मैं जानना चाहता था कि 'curl' का उपयोग कर सर्वर से बात कैसे करें - मैं यह कैसे करूँगा? –

+0

इसके अलावा, क्या आप जानते हैं कि मैं टर्ननाडो एप्लिकेशन कोड (मेरे प्रश्न में प्रदान कोड) कैसे डिबग कर सकता हूं। फ़ाइल में कंसोल या लॉग वैरिएबल को मुद्रित करने में असमर्थता समस्या को डीबग और हल करना अधिक कठिन बना रही है। –

उत्तर

0

कनेक्शन अस्वीकार कर दिया जाएगा अगर अनुमति की समस्या या उस बंदरगाह पर कुछ भी नहीं चल रहा है। आपके मामले में मैं कुछ भी नहीं लगता है कि 5000

पर चल रहे इस आदेश

एस एस -ltp

साथ जाँच कृपया आप sudo का उपयोग करने के साथ सभी TCP कनेक्शन सूची हो सकता है नहीं है बंदरगाह और उपयोगकर्ता

(पूर्व) sudo एस एस -ltp

मेरे उत्पादन:

सुनें 0 128 *: 6379 : उपयोगकर्ताओं: (("redis-सर्वर", पीआईडी ​​= 12325, fd = 5))

नोट: मेरी एक उत्पादन मैं सिर्फ सूचीबद्ध यहां मेरी सूची का।

यह सिर्फ मुझे बताता है कि रेडिस 637 9 बंदरगाह पर चल रहा है।

यदि टॉरनाडो चल रहा है तो यह आपके लिए इस आदेश को फायर करते समय सूचीबद्ध करेगा।

मुझे बताएं कि इसमें कोई समस्या है या नहीं।

संबंधित मुद्दे

 संबंधित मुद्दे