乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      用python發(fā)布基于soap的webservice(二)

       java_laq小館 2014-01-06

      用python發(fā)布基于soap的webservice(二)

      在 用python發(fā)布基于soap的webservice(一) 文章中,咱用的是python自帶的wsgiref包,它是一個(gè)輕量級(jí)的web服務(wù)器,用來(lái)做做測(cè)試啊,


      調(diào)bug的之類的是可以的,但是直接拿來(lái)做真正的服務(wù)器卻還是不行。 所以本文主要討論的是如何用 python + nginx + fastcgi + flup  + soaplib

       這些工具來(lái)構(gòu)建一個(gè)可以承受高并發(fā)的Webservice

      =============================================================================================================

      廢話不多說(shuō),直接上代碼 ,server.py
      #!/usr/bin/python
      from soaplib.service import soapmethod
      from soaplib.serializers.primitive import String, Integer, Array
      from soaplib.wsgi_soap import SimpleWSGISoapApp

          
      class HelloWorldService(SimpleWSGISoapApp):
          @soapmethod(String, _returns=String)
          def says(self,name):     
              return name
                           
      def make_client():
          from soaplib.client import make_service_client
          client = make_service_client('http://192.168.1.87:17889', HelloWorldService())    (注1)
          return client

      if __name__=='__main__':
          try:
             import flup.server.fcgi as flups
             #這里的HelloWorldService后面必須帶括號(hào),不然會(huì)出錯(cuò)
             #flups.WSGIServer(HelloWorldService(), multithreaded=True, multiprocess=False, bindAddress=('127.0.0.1', 17900)).run()  (注2)
             flups.WSGIServer(HelloWorldService()).run() (注3) 
          except ImportError:
             print "Error: example server code requires Python >= 2.5"    

       注1: 這里的17889是nginx對(duì)外公布的端口,注意和下邊的 17900端口的區(qū)別

      如果不想用fastcgi的形式運(yùn)行的話,那么就用注2 的那行代碼,并且直接在命令行里面輸入:python  server.py(這里的17900監(jiān)聽(tīng)的nginx,它只接受nginx傳過(guò)來(lái)的參數(shù),外部無(wú)法直接訪問(wèn))

      而如果要用fastcgi的話,那么就用注3的那行代碼,并且在命令行輸入  :
               spawn-fcgi -f /data/www/server.py -a 127.0.0.1 -p 17900 -u www -F 2   (spawn-fcgi的用法參照 nginx上用fastcgi配置python環(huán)境(二))
       
      到這一步以后 ,我們就可以運(yùn)行客戶端代碼 client.py
      #!/usr/bin/python
        
      from server import make_client  
      a = make_client()  
      print a.says('hello,world')  

      直接python client.py,就可以得到 hello,world 的字樣
      來(lái)自:http://blog.163.com/sky20081816@126/blog/static/16476102320109156135531/

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多