독립 실행 형 응용 프로그램으로 실행중인 비누 서버가 있습니다. 즉, 단순히 실행하면됩니다. python mysoapserver.py
wsgi를 사용하여 apache2에서 실행할 pysimplesoap 서버를 어떻게 설정합니까?
그러나 wsgi를 사용하여 apache2를 통해 액세스하고 싶습니다.
dispatcher = SoapDispatcher(
'TransServer',
location = "http://127.0.0.1:8050/",
action = 'http://127.0.0.1:8050/', # SOAPAction
namespace = "http://example.com/sample.wsdl", prefix="ns0",
trace = True,
ns = True)
#Function
def settransactiondetails(sessionId,msisdn,amount,language):
#Some Code here
#And more code here
return {'sessionId':sid,'responseCode':0}
# register the user function
dispatcher.register_function('InitiateTransfer', settransactiondetails,
returns={'sessionId': str,'responseCode':int},
args={'sessionId': str,'msisdn': str,'amount': str,'language': str})
logging.info("Starting server...")
httpd = HTTPServer(("", 8050),SOAPHandler)
httpd.dispatcher = dispatcher
httpd.serve_forever()
가 어떻게 위의 코드를 변경해야
from pysimplesoap.server import SoapDispatcher, SOAPHandler, WSGISOAPHandler
코드 발췌 :
수입품 :
다음은 현재 코드의 일부 코드 발췌 apache2에서 wsgi를 통해 액세스 할 수 있도록합니다. /etc/apache2/sites-available/default
파일에 변경해야 할 내용을 포함시킬 수도 있습니다.
감사합니다. 그러나이 애플리케이션을 실행하기 위해 Apache를 추가/대체해야하는 코드는 무엇입니까? 나는 그것이 있다고 생각하지 않는 "wsgiref.simple_server 가져 오기 make_server 아파치 = make_server에서 ('', 8050, 응용 프로그램) httpd.serve_forever()" 공유 한 것이다. 아파치를 사용하는 대신 독립 실행 형 응용 프로그램으로 실행하는 것처럼 보입니다. – Phil
@Phil 올바른지, 스크립트를 독립 실행 형으로 실행할 수 있도록이 코드를 추가했습니다. 아파치가이 응용 프로그램을 실행하기 위해서 필요한 유일한 파이썬 코드는'application' 변수 정의입니다. wsgi와 mod_wsgi가 작동하는 방식입니다. WSGIScriptAlias 지시어는 아파치에게이 애플리케이션 정의를 포함하는 스크립트를 어디에서 찾아야하는지 알려줍니다. 물론 mod_wsgi가 설치되어 있어야합니다 :) http://modwsgi.readthedocs.org/en/latest/configuration-directives/WSGIScriptAlias에서 자세한 내용을 볼 수 있습니다.html – jhnwsk
@ 필 귀하의 의견에 따라 답변을 편집했습니다. 현재 유익한 정보가되었습니다. – jhnwsk