導航:首頁 > 編程語言 > beanstalkphp

beanstalkphp

發布時間:2022-09-20 02:57:16

① 目前真正意義上算是雲計算的平台有哪些

  1. Microsoft Windows Azure

Windows Azure是微軟的雲計算平台,其主要目標是幫助開發者開發可運行在雲伺服器、數據中心、Web和PC上的應用程序。開發者能使用微軟全球數據中心的儲存、計算能力和網路基礎服務。

2. Google App Engine

Google App Engine 是Google提供的服務,允許開發者在 Google 的基礎架構上運行網路應用程序。Google App Engine 應用程序易於構建和維護,並可根據訪問量和數據存儲需要的增長輕松擴展。使用 Google App Engine,將不再需要維護伺服器,開發者只需上傳應用程序,它便可立即為用戶提供服務。

3. VMware Cloud Foundry

Cloud Foundry是VMware的一項開源PaaS計劃,使用各種開源開發框架和中介軟體,來提供PaaS服務。開發者可以通過這個平台來建設自己的SaaS的服務,不用自行建設和維護硬體伺服器和中介軟體。由於Cloud Foundry採用開源的網站平台技術,所以開發者的應用程序也可以任意轉移到其他平台上而不受限於PaaS的平台。

4. Force.com

Force.com是企業雲計算公司Salesforce.com的社會化企業應用平台,允許開發者構建具有社交和移動特性的應用程序。

5. Heroku

Heroku是一種提供Ruby語言服務的雲計算應用平台,為開發者進行網路編程提供全新體驗。目前,除了Ruby外,該平台還支持Node.js、Clojure、Java、python和Scala等語言。

6. Amazon Elastic Beanstalk

Elastic Beanstalk為在Amazon Web Services雲中部署和管理應用提供了一種方法。該平台建立如面向php的Apache HTTP Server和面向Java的Apache Tomcat這樣的軟體棧。開發人員保留對AWS資源的控制權,並可以部署新的應用程序版本、運行環境或回滾到以前的版本。CloudWatch提供監測指標,如CPU利用率、請求計數、平均延遲等。通過Elastic Beanstalk部署應用程序到AWS,開發人員可以使用AWS管理控制台、Git和一個類似於Eclipse的IDE。

7. Engine Yard Cloud

Engine Yard的特色是提供一個Ruby on Rails的技術棧,其中包括Web伺服器、應用和資料庫伺服器,同時提供一個Rails優化的Linux發行版。開發者可以通過Engine Yard的儀錶板來進行環境配置、應用程序部署和監控。

② 如何在php上安裝phalcon

下載phalcon 把phalcon.dll 放到相關目錄,一般是ext裡面 在php.ini中添加 extension=phalcon.dll 重啟環境
我的 php 是 5.4.20 的
php_phalcon.dll 是5.4.12.0 的
沒有問題的
print_r(preg_grep('/^phalcon/i', get_declared_classes()));
Array
(
[145] => PhalconException
[146] => PhalconDbAdapter
[147] => PhalconDIInjectable
[148] => PhalconDI
[149] => PhalconFormsElement
[150] => PhalconMvcModelValidator
[151] => PhalconValidationValidator
[152] => PhalconCacheBackend
[153] => PhalconDbAdapterPdo
[154] => PhalconDbDialect
[155] => PhalconMvcModelMetaData
[156] => PhalconAnnotationsAdapter
[157] => PhalconLoggerFormatter
[158] => PhalconLoggerAdapter
[159] => PhalconFlash
[160] => PhalconMvcModelBehavior
[161] => PhalconDispatcher
[162] => PhalconMvcModelResultset
[163] => PhalconMvcViewEngine
[164] => PhalconMvcModelException
[165] => PhalconAssetsResource
[166] => PhalconConfig
[167] => PhalconSessionAdapter
[168] => PhalconAclAdapter
[169] => PhalconTranslateAdapter
[170] => PhalconDIFactoryDefault
[171] => PhalconMvcRouter
[172] => PhalconTag
[173] => PhalconAcl
[174] => PhalconDb
[175] => PhalconCacheException
[176] => PhalconCacheMultiple
[177] => PhalconCacheBackendApc
[178] => PhalconCacheBackendFile
[179] => PhalconCacheBackendMongo
[180] => PhalconCacheBackendMemory
[181] => PhalconCacheBackendMemcache
[182] => PhalconCacheFrontendOutput
[183] => PhalconCacheFrontendNone
[184] => PhalconCacheFrontendJson
[185] => PhalconCacheFrontendBase64
[186] => PhalconCacheFrontendData
[187] => PhalconTagSelect
[188] => PhalconTagException
[189] => PhalconPaginatorException
[190] => PhalconPaginatorAdapterModel
[191] =>
[192] =>
[193] => PhalconValidation
[194] => PhalconValidationMessage
[195] => PhalconValidationException
[196] => PhalconValidationMessageGroup
[197] =>
[198] =>
[199] =>
[200] =>
[201] =>
[202] =>
[203] =>
[204] =>
[205] =>
[206] => PhalconDbIndex
[207] => PhalconDbColumn
[208] => PhalconDbAdapterPdoSqlite
[209] => PhalconDbAdapterPdoMysql
[210] => PhalconDbAdapterPdoOracle
[211] => PhalconDbAdapterPdoPostgresql
[212] => PhalconDbDialectOracle
[213] => PhalconDbDialectMysql
[214] => PhalconDbDialectSqlite
[215] => PhalconDbDialectPostgresql
[216] => PhalconDbException
[217] => PhalconDbProfiler
[218] => PhalconDbProfilerItem
[219] => PhalconDbReference
[220] => PhalconDbRawValue
[221] => PhalconDbResultPdo
[222] => PhalconAclRole
[223] => PhalconAclResource
[224] => PhalconAclAdapterMemory
[225] => PhalconAclException
[226] => PhalconText
[227] => PhalconKernel
[228] => PhalconSecurity
[229] => PhalconSecurityException
[230] => PhalconVersion
[231] => PhalconSession
[232] => PhalconSessionBag
[233] => PhalconSessionException
[234] => PhalconSessionAdapterFiles
[235] => PhalconFilter
[236] => PhalconDIException
[237] => PhalconDIFactoryDefaultCLI
[238] => PhalconDIService
[239] => PhalconDIServiceBuilder
[240] => PhalconFilterException
[241] => PhalconFlashDirect
[242] => PhalconFlashSession
[243] => PhalconFlashException
[244] => PhalconCLITask
[245] => PhalconCLIRouter
[246] => PhalconCLIConsole
[247] => PhalconCLIConsoleException
[248] => PhalconCLIDispatcher
[249] => PhalconCLIDispatcherException
[250] => PhalconCLIRouterException
[251] => PhalconAnnotationsReader
[252] => PhalconAnnotationsException
[253] => PhalconAnnotationsReflection
[254] => PhalconAnnotationsAnnotation
[255] => PhalconAnnotationsCollection
[256] => PhalconAnnotationsAdapterApc
[257] =>
[258] =>
[259] => PhalconLoader
[260] => PhalconLogger
[261] => PhalconLoaderException
[262] => PhalconLoggerItem
[263] => PhalconLoggerMultiple
[264] => PhalconLoggerException
[265] => PhalconLoggerAdapterStream
[266] => PhalconLoggerAdapterFile
[267] => PhalconLoggerFormatterJson
[268] => PhalconLoggerAdapterSyslog
[269] => PhalconLoggerFormatterLine
[270] => PhalconLoggerFormatterSyslog
[271] => PhalconConfigException
[272] => PhalconConfigAdapterIni
[273] => PhalconFormsForm
[274] => PhalconFormsManager
[275] => PhalconFormsException
[276] => PhalconFormsElementFile
[277] => PhalconFormsElementText
[278] => PhalconFormsElementDate
[279] => PhalconFormsElementHidden
[280] => PhalconFormsElementNumeric
[281] => PhalconFormsElementSubmit
[282] => PhalconFormsElementCheck
[283] => PhalconFormsElementSelect
[284] => PhalconFormsElementPassword
[285] => PhalconFormsElementTextArea
[286] => PhalconCrypt
[287] => PhalconTranslate
[288] => PhalconTranslateException
[289] =>
[290] => PhalconCryptException
[291] => PhalconEscaper
[292] => PhalconEscaperException
[293] => PhalconAssetsManager
[294] => PhalconAssetsException
[295] => PhalconAssetsResourceJs [296] => PhalconAssetsCollection
[297] => PhalconAssetsResourceCss
[298] => PhalconHttpCookie
[299] => PhalconHttpRequest
[300] => PhalconHttpResponse
[301] => PhalconHttpCookieException
[302] => PhalconHttpRequestFile
[303] => PhalconHttpResponseCookies
[304] => PhalconHttpResponseHeaders
[305] => PhalconHttpRequestException
[306] => PhalconHttpResponseException
[307] => PhalconQueueBeanstalk
[308] => PhalconQueueBeanstalkJob
[309] => PhalconMvcUrl
[310] => PhalconMvcView
[311] => PhalconMvcMicro
[312] => PhalconMvcModel
[313] => PhalconMvcApplication
[314] =>
[315] => PhalconMvcCollection
[316] => PhalconMvcController
[317] => PhalconMvcCollectionManager
[318] => PhalconMvcCollectionException
[319] => PhalconMvcDispatcher
[320] => PhalconMvcDispatcherException
[321] => PhalconMvcModelQuery
[322] => PhalconMvcModelRow
[323] => PhalconMvcMicroLazyLoader
[324] => PhalconMvcMicroCollection
[325] => PhalconMvcMicroException
[326] => PhalconMvcModelMessage
[327] => PhalconMvcModelCriteria
[328] => PhalconMvcModelRelation
[329] => PhalconMvcModelManager
[330] => PhalconMvcModelTransaction
[331] => PhalconMvcModelQueryLang
[332] => PhalconMvcModelMetaDataFiles
[333] => PhalconMvcModelMetaDataApc
[334] => PhalconMvcModelQueryStatus
[335] => PhalconMvcModelQueryBuilder
[336] => PhalconMvcModelValidatorUrl
[337] => PhalconMvcModelMetaDataMemory
[338] =>
[339] =>
[340] =>
[341] => PhalconMvcModelValidatorEmail
[342] =>
[343] => PhalconMvcModelValidatorRegex
[344] =>
[345] =>
[346] =>
[347] =>
[348] =>
[349] =>
[350] =>
[351] =>
[352] =>
[353] =>
[354] =>
[355] =>
[356] =>
[357] => PhalconMvcRouterGroup
[358] => PhalconMvcRouterRoute
[359] => PhalconMvcRouterException
[360] => PhalconMvcRouterAnnotations
[361] => PhalconMvcUserPlugin
[362] => PhalconMvcUserMole
[363] => PhalconMvcUrlException
[364] => PhalconMvcUserComponent
[365] => PhalconMvcViewException
[366] => PhalconMvcViewEnginePhp
[367] => PhalconMvcViewEngineVolt
[368] =>
[369] => PhalconEventsEvent
[370] => PhalconEventsManager
[371] => PhalconEventsException)

③ PHP如何實現艾特@功能大概思路

@功能 實現分為兩塊:展現和消息推送

  1. 展現: 比較簡單, 存儲時直接存@xxxx , 顯示的時候用正則把 @xxxx 匹配出來 替換成自己想要的信息就行。

  2. 消息推送, 也就是讓別人知道你@他了, 這個如果量比較小,直接發消息入庫就行, 如果量大就需要消息隊列了,經常用的有beanstalk, memcacheq 等。

④ 現在it發展這么快,企業私人部署怎麼能保證私密性呢

第一步 資產識別

1.首先識別與在PaaS上軟體即服務(SaaS)應用開發相關的資產,然後為每一個資產分配一個數值。確定所有資產所屬的類別。下面是一些例子:1.用戶:SaaS開發人員和SaaS用戶都應歸於這一類別。每個用戶組的數值都應當基於開發和測試應用時所用去的平均工時數。

2.資源:這是指被PaaS開發人員使用以運行和存儲SaaS應用的資源。例如,Elastic Beanstalk使用了亞馬遜彈性雲計算(EC2)、亞馬遜簡單存儲服務、亞馬遜簡單通知服務、亞馬遜CloudWatch、彈性負載平衡以及自動縮放等功能。其數值應基於這些資源的所用即所付的支出。Elastic Beanstalk是免費的。

3.安全性:這就意味著加密機制、防火牆以及行業安全標准,其中包括了SecaaS(安全即服務)。其數值是基於用於實施安全措施的工時。

4.文檔:培訓手冊、管理准則、安全標准、物理標准、應急計劃、災難恢復計劃以及服務等級協議(SLA)等也只是文檔中的若干示例而已。其數值是基於用於發布文檔所需的媒介類型的——如列印、在線或數字媒體(CD)等。

5.軟體:操作系統;漏洞測試工具;辦公工具(文檔、電子表格、演示文稿);日誌分析工具;以及編程語言(Java、 .NET、 PHP腳本程序語言、Node.js 編程語言、Python和Ruby) 都應被視為軟體。其數值應基於軟體的采購價格或用於在PaaS上進行SaaS應用開發所需的所用即所付支出。

第二步 漏洞與威脅識別

黑客並不是唯一會利用PaaS漏洞的威脅來源。以下是威脅來源的其他一些示例:

⑤ PHP當中,怎麼使用 beanstalk 來做隊列如何在 TP 中簡單引入呢

消息隊列Beanstalk詳解
先從安裝開始
##Githubhttps://github.com/kr/beanstalkd
cdbeanstalkd-1.10
make或者makeCFLAGS=-O2

注意,你不需要運行configure命令哦,因為對應的makefie已經是建立好了的。make之後在當前目錄下生成了beanstalkd可執行程序,你也可以makeinstall一下讓它安裝到/usr/local/bin中,或者你自己拷貝到一個自定義目錄中即可。
./beanstalkd-hUse:./beanstalkd[OPTIONS]Options:-bDIRwaldirectory-(use-f0for"alwaysfsync")-Fneverfsync(default)-lADDRlistenonaddress(defaultis0.0.0.0)-pPORTlistenonport(defaultis11300)-uUSERbecomeuserandgroup-(defaultis65535)-sBYTESsetthesizeofeachwalfile(defaultis10485760)()-ccompactthebinlog(default)-ndonotcompactthebinlog-vshowversioninformation-Vincreaseverbosity-hshowthishelp##b設置二進制日誌文件目錄,Beanstalk支持把任務寫入日誌文件,便於恢復##l設置監聽地址##p設置監聽埠##v查看版本################啟動不指定任何參數,表示在0.0.0.0埠11300監聽./beanstalkd&./beanstalkd-l127.0.0.111301&./beanstalkd-l192.168.1.16811302&在實際中應該監控這個進程,防止意外終止退出。為了更好理解Beanstalk的原理,建議閱讀官方文檔:github.com/kr/beanstalkd/blob/master/doc/protocol.md,以下是我個人的學習筆記:當Put一個job時,取決於是否設置了delay,job可能進入READY或DELAYED狀態,DELAYED的job超時後(或者調用kick)變成READY,reserve命令取一個最新的READY的job並把其變為RESERVED狀態(這個時候是被取出執行),RESERVED狀態的job可以發送delete刪除,也可以使用release釋放,根據是否設置delay時間,可能變成READY或DELAYED狀態,也可以調用bury命令讓job進入休眠,休眠中的job可以被delete也可以用kick命令讓其變為READY。當reserve一個READY狀態的job去執行時,如果設置的運行超時時間,則在取出時開始計時,如果超時則會從新放回到READY隊列。job的運行的剩餘時間可以通過stats-job命令來查看。如果要分配更多時間給job,可以發送touch命令。命令reserve取job時,這個job可能來自任一tube(當前鏈接的watchlist是多個時),默認,一個新鏈接watch一個叫default的tube。可以使用watch命令添加一個新的tube到watchlist中(如果這樣,一般就不要試圖使用tube的名字來區分要執行的任務,比如有兩個tubeA和B,當reserve取job時,這個job可能來自A也可以來自B,不過前提是A和B都在watchlist中)。如果要取指定tube的job,明確使用use即可,這樣只會獲取指定tube的job。可以在消費方建立新鏈接後,watch某個tube以期望獲取它的job(也可以使用use只獲取特定tube的job)。同樣道理,要put某個job都某個tub,需要先使用use命令,否則就是put到默認的叫default的tube中。reserve命令只是取狀態為READY的job,如果要去其它狀態的job,則需要使用peek和peek-xxxx命令(peek-readypeek-delayedpeek-buried)。job取出後根據它的狀態可以做相應操作,比如deletereleaseburykick。PHP框架Phalcon中提供對Beanstalk的客戶端庫://Connecttothequeue$queue=newPhalconQueueBeanstalk(array('host'=>'127.0.0.1','port'=>11300));鏈接到Beanstalk只有兩個參數,並沒有驗證等信息,以上指定的就是默認值。Beanstalk是支持多host的,PhalconQueueBeanstalk看來並沒有實現這個。在調用put執行,應該首先調用choose()方法指定tube,否則就是使用default這個tube。(這個所謂的choose實際就是發送use命令)然後再調用put把job添加到你期望的tube中:1$qid=$queue->put("QueueMessage");注意,put成功就返回job的標識符。以下展示一個完整的例子:$queue=newPhalconQueueBeanstalk(array('host'=>'127.0.0.1','port'=>11300));$queue->choose("my_tube");for($i=0;$i<10;$i++){$qid=$queue->put("Mytube--QueueMeaage$i");echo$qid." ";}$queue->choose("default");for($i=0;$i<10;$i++){$qid=$queue->put("Defaulttube--QueueMeaage$i");echo$qid." ";}切換到消費端,首先要使用choose()來獲取來自哪個tube的job(按照道理應該是調用watch()方法,但是實際測試,watch()沒有起作用,只好換成choose指定特定tube),然後調用peekReady()獲取一個PhalconQueueBeanstalkJob對象,當然如果失敗就返回false,Job對象獲取後,可以操作自然就有delete()release()bury()touch()kick()和getBody(),其中getBody()獲取Job的實際內容。$queue=newPhalconQueueBeanstalk();//$queue->watch("my_tube");$queue->choose("my_tube");while(true){if(($job=$queue->peekReady())!==false){$message=$job->getBody();echo$message." ";$job->delete();}else{usleep(200000);}}PhalconQueueBeanstalk提供了Beanstalk協議的大部分內容,但是狀態相關的沒有實現。為了詳細查看Beanstalk,可以使用一個第三方的PHP程序(github.com/ptrofimov/beanstalk_console):

⑥ 如何使用 phusion passenger

Phusion Passenger是一個流行的Web應用伺服器,它最初是針對Ruby的,現在也支持Node.js應用。在今年的早些時候該功能被引入了Passenger的企業版中,但是現在已經開源並隨著最近的4.0.21免費版發布。
Passenger能與Apache或者Nginx Web伺服器集成,旨在成為一個服務、監控和擴展Web應用程序的完整解決方案。Phusion公司的 總部位於荷蘭 ,他們宣稱在Passenger中運行 Node.js 應用的好處包括:
多租戶——通過最小的配置運行一些應用的能力
監控——自動啟動Node.js進程、如果進程崩潰了則重啟它們
擴展——根據要處理的請求的數量增加或者減少進程的數量
統計——幫助顯示運行中進程的狀態的工具
Passenger的作者 還指出 ,與Apache/Nginx集成還帶來了其他的好處,例如:加速了靜態文件服務,阻止了很多常見的攻擊和慢客戶端。
該公告標志著Phusion向自己宣稱的讓Passenger最終成為一個多語言應用伺服器的目標更進了一步。去年,Passenger對 Python的支持到達了beta狀態 ,並於最近完成。緊跟著發布了支持Node.js的公告,Phusion還 推出 了 Meteor (一個基於Node的應用框架)支持。
Passenger本身是用C++編寫的,它沒有和Ruby或者任何其他的語言緊耦合。版本4中的一些架構發生了一些變化。Passenger內部的I/O處理器現在是事件驅動的,和Node.js的工作原理相似,同時企業版支持混合多進程和多線程執行,這是為了在支持通過WebSockets進行流媒體直播這樣的功能時最大化資源利用率。
Passenger還為Ruby應用提供了「帶外(out of band)」執行這樣的功能,用戶能夠利用它們做其他的事情,例如:將垃圾收集延遲到請求期間,與Phusion的 Union Station產品 (一個訂閱式應用監控和分析服務)集成。
在流行的Ruby應用伺服器中,Puma和Passenger相似,它們都喜歡使用線程而不是Thin和Unicom這樣的伺服器所使用的事件架構。Phusion團隊最近發布了 一篇文章比較了Passenger和Puma ,而Puma的作者Evan Phoenix則在HackerNews上對此 做出了回應 。
InfoQ和Phusion的CTO Hongli Lai進行了一次談話以討論Passenger最近的更新:
Passenger 為 Ruby 用戶提供了不尋常的特性,例如帶外執行,它和語言運行時緊密集成。那麼對於 Node.js 和 Python 用戶而言有相似的功能么?
大部分功能所有支持的語言都可以使用,包括Node.js和Python。從第一天開始,我們就一直在盡量減少對Ruby的依賴。雖然我們並沒有積極的推廣,但是事實是在第一個版本發布幾個月之後我們就已經支持Python。 我們現在還計劃在下一次發布時支持 Meteor 。
Node.js和Python不能使用的功能只有很少幾個,或者是因為它們對這些語言沒有意義,或者是因為它們需要簡單的語言特定的支持代碼,而這些代碼還沒有被編寫。Node和Python的垃圾收集器通常並不會忍受像Ruby那樣的長時間的GC暫停,所以我們期望Node.js和Python用戶不需要帶外工作。
你認為現在的 Node.js 支持有多穩定?
我們認為它非常穩定。所有的應用程序測試都通過了,所有測試人員的應用程序都工作良好且沒有已知的問題。
Passenger 最初的目標是讓 Ruby 部署和 PHP 部署一樣簡單,僅需要用戶將他們的應用丟放到正確的目錄即可。你認為 Passenger 現在已經完成這一目標了么?
部署一個應用涉及到很多事情,從操作系統和語言運行時的配置到類庫依賴的管理和應用程序進程的監控。PHP的部署之所以容易的原因之一是,Web伺服器能夠通過mod_php模塊自動地處理運行的PHP應用程序。
在最初開發Passenger的時候,我們的主要計劃是運行、監控和管理Ruby應用程序。你必須運行多個應用程序伺服器進程,讓它們監聽一個本地socket,設置Web伺服器反向代理這簇sockets,並且設置進程監控工具重啟崩潰的進程。而在Passenger中,我們開發了一個類似於mod_php的機制解決了這些問題。因此在版本1.0中我們已經實現了自己的目標:通過將一個Ruby應用程序丟放到正確的目錄運行它。
PHP生態系統依然被認為更容易部署的原因是,許多流行的PHP應用程序能自動地處理除了應用程序運行之外的其他事情。例如, Wordpress 沒有依賴,不需要用戶編輯配置文件或者通過漂亮的圖形用戶界面徵求資料庫憑證。但是如果你編寫自己的PHP應用,那麼你將會遇到和Ruby、Node或者Python應用開發人員相同的問題。
有沒有託管公司真正地提供開箱即用的 Passenger 支持?
提供開箱即用的Passenger支持的知名託管公司有 Amazon Elastic Beanstalk 和Red Hat OpenShift 。許多其他的提供商(例如 Heroku )對應用程序伺服器的選擇往往不可知,但是它們依然允許用戶很容易地使用Passenger。還有很多較小的託管公司默認使用Passenger,例如 BrightBox 和 SpeedyRails 。
在 Ruby 應用程序伺服器領域有一些強有力的競爭者( Thin 、 Unicorn 和 Puma )。那麼你認為目前 Passenger 在這個生態系統中處於什麼位置?
其他的Ruby應用程序伺服器比Passenger有更多的范圍限制。它們需要用戶啟動一個或者多個進程,將它們設置為監聽sockets,配置反向代理規則等。對於想要嚴格控制整個系統的專家而言這並不一定是錯誤的方法,但是卻不同於我們的哲學。我們希望軟體易於安裝、使用和管理,同時依然可以保持穩定性和靈活性。
但是話說回來,我們都互相學習了很多內容。例如,Passenger的「智能產卵(smart spawning)」功能在日期上要早於Unicorn,但是Passenger的帶外工作功能借鑒了Unicorn的,盡管我們對該功能做了改進。每一種伺服器都有它自己的優勢和劣勢。
轉載

⑦ 如何安裝和使用Beanstalkd工作隊列

使用aptitude安裝:

下載並安裝Beanstalkd運行以下命令:

aptitude install -y beanstalkd
編輯默認配置文件讓隨著系統啟動

vim /etc/default/beanstalkd
打開文件後,向下滾動並找到底部線#開始= yes。將其更改為:

START=yes
下面介紹源碼安裝

我們需要從源代碼安裝過程的一個關鍵工具- Git。

運行以下獲取Git在你系統上:

aptitude install -y git
下載必要的開發工具軟體包:

aptitude install -y build-essential
使用Git克隆(下載)官方庫:

git clone https://github.com/kr/beanstalkd
進入到下載目錄:

cd beanstalkd
從源代碼構建應用程序:

make
安裝:

make install
再介紹一下centos下源碼安裝:

下載地址:

wget http://cloud.github.com/downloads/kr/beanstalkd/beanstalkd-1.4.6.tar.gz

解壓

tar xzf beanstalkd-1.4.6.tar.gz

cd beanstalkd-1.4.6

/configure

make

make install

默認安裝路徑 :/usr/local/bin/

查看版本:

/usr/local/bin/beanstalkd -v

1.4.6
再附加一個啟動腳本,從Fedora下挖來的 startup 腳本:

#!/bin/sh
#
# beanstalkd - a simple, fast workqueue service
#
# chkconfig: - 57 47
# description: a simple, fast workqueue service
# processname: beanstalkd
# config: /etc/sysconfig/beanstalkd
#

### BEGIN INIT INFO
# Provides: beanstalkd
# Required-Start: $local_fs $network $remote_fs
# Required-Stop: $local_fs $network $remote_fs
# Default-Stop: 0 1 2 6
# Short-Description: start and stop beanstalkd
# Description: a simple, fast work-queue service
### END INIT INFO

# Source function library.
/etc/rc.d/init.d/functions

# Source networking configuration.
/etc/sysconfig/network

# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit
exec="/usr/local/bin/beanstalkd"
prog=$(basename $exec)

# default options, overruled by items in sysconfig
BEANSTALKD_ADDR=127.0.0.1
BEANSTALKD_PORT=11300
BEANSTALKD_USER=beanstalkd

[ -e /etc/sysconfig/beanstalkd ] && . /etc/sysconfig/beanstalkd

lockfile=/var/lock/subsys/beanstalkd

start() {
[ -x $exec ] || exit 5
echo -n $"Starting $prog: "
# if not running, start it up here, usually something like "daemon $exec"
options="-l ${BEANSTALKD_ADDR} -p ${BEANSTALKD_PORT} -u ${BEANSTALKD_USER}"
if [ "${BEANSTALKD_MAX_JOB_SIZE}" != "" ]; then
options="${options} -z ${BEANSTALKD_MAX_JOB_SIZE}"
fi

if [ "${BEANSTALKD_BINLOG_DIR}" != "" ]; then
if [ ! -d "${BEANSTALKD_BINLOG_DIR}" ]; then
echo "Creating binlog directory (${BEANSTALKD_BINLOG_DIR})"
mkdir -p ${BEANSTALKD_BINLOG_DIR} && chown ${BEANSTALKD_USER}:${BEANSTALKD_USER} ${BEANSTALKD_BINLOG_DIR}
fi
options="${options} -b ${BEANSTALKD_BINLOG_DIR}"
if [ "${BEANSTALKD_BINLOG_FSYNC_PERIOD}" != "" ]; then
options="${options} -f ${BEANSTALKD_BINLOG_FSYNC_PERIOD}"
else
options="${options} -F"
fi
if [ "${BEANSTALKD_BINLOG_SIZE}" != "" ]; then
options="${options} -s ${BEANSTALKD_BINLOG_SIZE}"
fi
fi

daemon $exec -d $options
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}

stop() {
echo -n $"Stopping $prog: "
# stop it here, often "killproc $prog"
killproc $prog -INT
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
}

restart() {
stop
start
}

reload() {
restart
}

force_reload() {
restart
}

rh_status() {
# run checks to determine if the service is running or use generic status
status $prog
}

rh_status_q() {
rh_status >/dev/null 2>&1
}

case "$1" in
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart)
$1
;;
reload)
rh_status_q || exit 7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q || exit 0
restart
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
exit 2
esac
exit $?
使用Beanstalkd

在安裝之後,您就可以開始使用Beanstalkd伺服器。以下是運行守護進程的選項:

-b DIR wal directory
-f MS fsync at most once every MS milliseconds (use -f0 for "always fsync")
-F never fsync (default)
-l ADDR listen on address (default is 0.0.0.0)
-p PORT listen on port (default is 11300)
-u USER become user and group
-z BYTES set the maximum job size in bytes (default is 65535)
-s BYTES set the size of each wal file (default is 10485760)
(will be rounded up to a multiple of 512 bytes)
-c compact the binlog (default)
-n do not compact the binlog
-v show version information
-V increase verbosity
-h show this help
使用例子:

# Usage: beanstalkd -l [ip address] -p [port #]
# For local only access:
beanstalkd -l 127.0.0.1 -p 11301 &
管理服務:

如果安裝包管理器(i.e. aptitude),你將能夠管理Beanstalkd作為服務守護進程。

# To start the service:
service beanstalkd start

# To stop the service:
service beanstalkd stop

# To restart the service:
service beanstalkd restart

# To check the status:
service beanstalkd status
獲得Beanstalkd客戶端庫

Beanstalkd配有一長串的支持客戶端庫來處理許多不同的應用程序部署。這個列表的支持語言和框架,包括:

●Python

●Django

●Go

●Java

●Node.js

●Perl

●PHP

●Ruby

●and more.

查看完整列表支持,尋找你最喜歡的語言和安裝說明,查看客戶端庫頁面Beanstalkd Github上。

使用Beanstalkd

在本節之前,完成這篇文章,讓我們快速Beanstalkd的基本用法。在我們的示例中,我們將使用Python語言和Beanstald Python bindings ——beanstalkc。

安裝beanstalkc,運行以下命令:

pip install pyyaml
pip install beanstalkc
基本操作

在所有Python文件你想處理Beanstalkd時,需要導入beanstalkc並連接:

import beanstalkc

# Connection
beanstalk = beanstalkc.Connection(host='localhost', port=11301)
To enqueue a job:

beanstalk.put('job_one')
To receive a job:

job = beanstalk.reserve()
# job.body == 'job_one'
To delete a job after processing it:

job.delete()
To use a specific tube (i.e. queue / list):

beanstalk.use('tube_a')
To list all available tubes:

beanstalk.tubes()
# ['default', 'tube_a']
Final example (nano btc_ex.py):

import beanstalkc

# Connect
beanstalk = beanstalkc.Connection(host='localhost', port=11301)

# See all tubes:
beanstalk.tubes()

# Switch to the default (tube):
beanstalk.use('default')

# To enqueue a job:
beanstalk.put('job_one')

# To receive a job:
job = beanstalk.reserve()

# Work with the job:
print job.body

# Delete the job:
job.delete()
當您運行上面的腳本時,您應該會看到工作的主體被列印:

python btc_ex.py
# job_one

⑧ 如何在php上安裝phalcon

下載phalcon 把phalcon.dll 放到相關目錄,一般是ext裡面 在php.ini中添加 extension=phalcon.dll 重啟環境

print_r(preg_grep('/^phalcon/i', get_declared_classes()));
Array
(
[145] => PhalconException
[146] => PhalconDbAdapter
[147] => PhalconDIInjectable
[148] => PhalconDI
[149] => PhalconFormsElement
[150] => PhalconMvcModelValidator
[151] => PhalconValidationValidator
[152] => PhalconCacheBackend
[153] => PhalconDbAdapterPdo
[154] => PhalconDbDialect
[155] => PhalconMvcModelMetaData
[156] => PhalconAnnotationsAdapter
[157] => PhalconLoggerFormatter
[158] => PhalconLoggerAdapter
[159] => PhalconFlash
[160] => PhalconMvcModelBehavior
[161] => PhalconDispatcher
[162] => PhalconMvcModelResultset
[163] => PhalconMvcViewEngine
[164] => PhalconMvcModelException
[165] => PhalconAssetsResource
[166] => PhalconConfig
[167] => PhalconSessionAdapter
[168] => PhalconAclAdapter
[169] => PhalconTranslateAdapter
[170] => PhalconDIFactoryDefault
[171] => PhalconMvcRouter
[172] => PhalconTag
[173] => PhalconAcl
[174] => PhalconDb
[175] => PhalconCacheException
[176] => PhalconCacheMultiple
[177] => PhalconCacheBackendApc
[178] => PhalconCacheBackendFile
[179] => PhalconCacheBackendMongo
[180] => PhalconCacheBackendMemory
[181] => PhalconCacheBackendMemcache
[182] => PhalconCacheFrontendOutput
[183] => PhalconCacheFrontendNone
[184] => PhalconCacheFrontendJson
[185] => PhalconCacheFrontendBase64
[186] => PhalconCacheFrontendData
[187] => PhalconTagSelect
[188] => PhalconTagException
[189] => PhalconPaginatorException
[190] => PhalconPaginatorAdapterModel
[191] =>
[192] =>
[193] => PhalconValidation
[194] => PhalconValidationMessage
[195] => PhalconValidationException
[196] => PhalconValidationMessageGroup
[197] =>
[198] =>
[199] =>
[200] =>
[201] =>
[202] =>
[203] =>
[204] =>
[205] =>
[206] => PhalconDbIndex
[207] => PhalconDbColumn
[208] => PhalconDbAdapterPdoSqlite
[209] => PhalconDbAdapterPdoMysql
[210] => PhalconDbAdapterPdoOracle
[211] => PhalconDbAdapterPdoPostgresql
[212] => PhalconDbDialectOracle
[213] => PhalconDbDialectMysql
[214] => PhalconDbDialectSqlite
[215] => PhalconDbDialectPostgresql
[216] => PhalconDbException
[217] => PhalconDbProfiler
[218] => PhalconDbProfilerItem
[219] => PhalconDbReference
[220] => PhalconDbRawValue
[221] => PhalconDbResultPdo
[222] => PhalconAclRole
[223] => PhalconAclResource
[224] => PhalconAclAdapterMemory
[225] => PhalconAclException
[226] => PhalconText
[227] => PhalconKernel
[228] => PhalconSecurity
[229] => PhalconSecurityException
[230] => PhalconVersion
[231] => PhalconSession
[232] => PhalconSessionBag
[233] => PhalconSessionException
[234] => PhalconSessionAdapterFiles
[235] => PhalconFilter
[236] => PhalconDIException
[237] => PhalconDIFactoryDefaultCLI
[238] => PhalconDIService
[239] => PhalconDIServiceBuilder
[240] => PhalconFilterException
[241] => PhalconFlashDirect
[242] => PhalconFlashSession
[243] => PhalconFlashException
[244] => PhalconCLITask
[245] => PhalconCLIRouter
[246] => PhalconCLIConsole
[247] => PhalconCLIConsoleException
[248] => PhalconCLIDispatcher
[249] => PhalconCLIDispatcherException
[250] => PhalconCLIRouterException
[251] => PhalconAnnotationsReader
[252] => PhalconAnnotationsException
[253] => PhalconAnnotationsReflection
[254] => PhalconAnnotationsAnnotation
[255] => PhalconAnnotationsCollection
[256] => PhalconAnnotationsAdapterApc
[257] =>
[258] =>
[259] => PhalconLoader
[260] => PhalconLogger
[261] => PhalconLoaderException
[262] => PhalconLoggerItem
[263] => PhalconLoggerMultiple
[264] => PhalconLoggerException
[265] => PhalconLoggerAdapterStream
[266] => PhalconLoggerAdapterFile
[267] => PhalconLoggerFormatterJson
[268] => PhalconLoggerAdapterSyslog
[269] => PhalconLoggerFormatterLine
[270] => PhalconLoggerFormatterSyslog
[271] => PhalconConfigException
[272] => PhalconConfigAdapterIni
[273] => PhalconFormsForm
[274] => PhalconFormsManager
[275] => PhalconFormsException
[276] => PhalconFormsElementFile
[277] => PhalconFormsElementText
[278] => PhalconFormsElementDate
[279] => PhalconFormsElementHidden
[280] => PhalconFormsElementNumeric
[281] => PhalconFormsElementSubmit
[282] => PhalconFormsElementCheck
[283] => PhalconFormsElementSelect
[284] => PhalconFormsElementPassword
[285] => PhalconFormsElementTextArea
[286] => PhalconCrypt
[287] => PhalconTranslate
[288] => PhalconTranslateException
[289] =>
[290] => PhalconCryptException
[291] => PhalconEscaper
[292] => PhalconEscaperException
[293] => PhalconAssetsManager
[294] => PhalconAssetsException
[295] => PhalconAssetsResourceJs [296] => PhalconAssetsCollection
[297] => PhalconAssetsResourceCss
[298] => PhalconHttpCookie
[299] => PhalconHttpRequest
[300] => PhalconHttpResponse
[301] => PhalconHttpCookieException
[302] => PhalconHttpRequestFile
[303] => PhalconHttpResponseCookies
[304] => PhalconHttpResponseHeaders
[305] => PhalconHttpRequestException
[306] => PhalconHttpResponseException
[307] => PhalconQueueBeanstalk
[308] => PhalconQueueBeanstalkJob
[309] => PhalconMvcUrl
[310] => PhalconMvcView
[311] => PhalconMvcMicro
[312] => PhalconMvcModel
[313] => PhalconMvcApplication
[314] =>
[315] => PhalconMvcCollection
[316] => PhalconMvcController
[317] => PhalconMvcCollectionManager
[318] => PhalconMvcCollectionException
[319] => PhalconMvcDispatcher
[320] => PhalconMvcDispatcherException
[321] => PhalconMvcModelQuery
[322] => PhalconMvcModelRow
[323] => PhalconMvcMicroLazyLoader
[324] => PhalconMvcMicroCollection
[325] => PhalconMvcMicroException
[326] => PhalconMvcModelMessage
[327] => PhalconMvcModelCriteria
[328] => PhalconMvcModelRelation
[329] => PhalconMvcModelManager
[330] => PhalconMvcModelTransaction
[331] => PhalconMvcModelQueryLang
[332] => PhalconMvcModelMetaDataFiles
[333] => PhalconMvcModelMetaDataApc
[334] => PhalconMvcModelQueryStatus
[335] => PhalconMvcModelQueryBuilder
[336] => PhalconMvcModelValidatorUrl
[337] => PhalconMvcModelMetaDataMemory
[338] =>
[339] =>
[340] =>
[341] => PhalconMvcModelValidatorEmail
[342] =>
[343] => PhalconMvcModelValidatorRegex
[344] =>
[345] =>
[346] =>
[347] =>
[348] =>
[349] =>
[350] =>
[351] =>
[352] =>
[353] =>
[354] =>
[355] =>
[356] =>
[357] => PhalconMvcRouterGroup
[358] => PhalconMvcRouterRoute
[359] => PhalconMvcRouterException
[360] => PhalconMvcRouterAnnotations
[361] => PhalconMvcUserPlugin
[362] => PhalconMvcUserMole
[363] => PhalconMvcUrlException
[364] => PhalconMvcUserComponent
[365] => PhalconMvcViewException
[366] => PhalconMvcViewEnginePhp
[367] => PhalconMvcViewEngineVolt
[368] =>
[369] => PhalconEventsEvent
[370] => PhalconEventsManager

[371] => PhalconEventsException)


備註:芝麻背調整理回答。芝麻背調,用技術推動行業進步。

閱讀全文

與beanstalkphp相關的資料

熱點內容
壓縮因子定義 瀏覽:966
cd命令進不了c盤怎麼辦 瀏覽:212
葯業公司招程序員嗎 瀏覽:972
毛選pdf 瀏覽:657
linuxexecl函數 瀏覽:725
程序員異地戀結果 瀏覽:372
剖切的命令 瀏覽:226
干什麼可以賺錢開我的世界伺服器 瀏覽:288
php備案號 瀏覽:989
php視頻水印 瀏覽:166
怎麼追程序員的女生 瀏覽:487
空調外壓縮機電容 瀏覽:79
怎麼將安卓變成win 瀏覽:459
手機文件管理在哪兒新建文件夾 瀏覽:724
加密ts視頻怎麼合並 瀏覽:775
php如何寫app介面 瀏覽:804
宇宙的琴弦pdf 瀏覽:396
js項目提成計算器程序員 瀏覽:944
pdf光子 瀏覽:834
自拍軟體文件夾名稱大全 瀏覽:328