小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

用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)的是可以的,但是直接拿來(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)行客戶(hù)端代碼 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)容均由用戶(hù)發(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)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多