ServBay में Workerman ऐप्लिकेशन सेटअप और रन करना
परिचय
यह डॉक्यूमेंट ServBay यूज़र्स को macOS और Windows दोनों लोकल डिवेलपमेंट एनवायरनमेंट पर, ServBay में इंटीग्रेटेड PHP और Composer का इस्तेमाल करके, Workerman आधारित हाई-परफॉर्मेंस असिंक्रोनस नेटवर्क ऐप्लिकेशन को जल्दी सेटअप व चलाने के स्टेप्स बताती है। Workerman एक शक्तिशाली PHP लाइब्रेरी है, जिसका इस्तेमाल कई ऐसे नेटवर्क सर्विस में होता है जिसमें भारी कॉन्करेंसी की आवश्यकता हो—जैसे वेब सर्वर, रियल-टाइम चैट सर्वर, गेम सर्वर आदि। ServBay एक रेडी-टू-यूज़ डिवेलपमेंट प्लेटफॉर्म देता है, जिससे Workerman का एनवायरनमेंट सेटअप बहुत आसान हो जाता है।
Workerman क्या है?
Workerman पूरी तरह PHP में लिखा गया एक ओपन-सोर्स, हाई-परफॉर्मेंस असिंक्रोनस नेटवर्क कम्युनिकेशन फ्रेमवर्क है। यह EventLoop बेस्ड मॉडल पर चलता है, जो असिंक्रोनस नॉन-ब्लॉकिंग I/O प्रदान करता है, जिससे यह भारी मात्रा में एक साथ नेटवर्क कनेक्शन संभाल सकता है। पारंपरिक PHP वेब डिवेलपमेंट मॉडल (जैसे Apache/Nginx + PHP-FPM) से अलग, Workerman ऐप्लिकेशन आमतौर पर मेमोरी में लगातार चलते रहते हैं, खुद का पोर्ट सुनते हैं और सीधे नेटवर्क कनेक्शन और डेटा प्रोसेस करते हैं। इससे परफॉर्मेंस और थ्रूपुट काफी बढ़ जाता है, क्योंकि हर रिक्वेस्ट पर प्रोसेस बार-बार डिस्ट्रॉय नहीं होता।
Workerman से डिवेलपर्स आसानी से बना सकते हैं:
- हाई-परफॉर्मेंस HTTP सर्वर, जिसे सिंपल स्टैटिक या डायनामिक रिक्वेस्ट हैंडल करने के लिए Apache या Nginx की जगह इस्तेमाल किया जा सकता है।
- रियल-टाइम WebSocket सर्वर—चैट, लाइव डेटा पुश आदि।
- कस्टम TCP/UDP प्रोटोकॉल के सर्वर।
- कमांड लाइन टूल्स, शेड्यूल्ड टास्क, माइक्रोसर्विसेज आदि।
Workerman के मुख्य फीचर्स व फायदे
- हाई-परफॉर्मेंस: इवेंट-ड्रिवन और असिंक्रोनस नॉन-ब्लॉकिंग I/O के जरिये भारी कॉन्करेंसी संभाल सकता है।
- मल्टी-प्रोटोकॉल सपोर्ट: बिल्ट-इन HTTP, WebSocket, TCP, UDP आदि सपोर्ट करता है—साथ ही कस्टम प्रोटोकॉल बनाने की आजादी देता है।
- आसान यूज़: सिंपल और सीधे API, जिससे PHP डिवेलपर्स जल्दी शुरु कर सकते हैं।
- फ्लेक्सिबल एक्सटेंशन: मल्टीप्रोसेस सपोर्ट—मल्टीकोर CPU का पूरा फायदा ले सकते हैं; Composer पैकेज और मौजूदा PHP लाइब्रेरी आसानी से जोड़ सकते हैं।
- PHP ईकोसिस्टम के साथ इंटीग्रेशन: PHP लाइब्रेरी होने के नाते, Composer इंटीग्रेशन तैयार मिलता है।
- डेमन मोड: बैकग्राउंड में स्टेबल सर्विस के तौर पर चलाया जा सकता है—प्रोडक्शन एनवायरनमेंट के लिए उपयुक्त।
Workerman PHP डिवेलपर्स को हाई-परफॉर्मेंस, रियल-टाइम, हाई-कॉन्करेंसी नेटवर्क ऐप्लिकेशन बनाने का रास्ता खोलता है।
ServBay के ज़रिए Workerman डिवेलपमेंट एनवायरनमेंट तैयार करना
ServBay वेब डिवेलपर्स के लिए डिजाइन किया गया लोकल डिवेलपमेंट टूल है, जिसमें PHP, Node.js, Python, Go, Java समेत मुख्य लेंग्वेज रनटाइम आते हैं, और Caddy, Nginx, Apache, MySQL, PostgreSQL, MongoDB, Redis, Memcached आदि सर्वर व डेटाबेस भी इंटीग्रेटेड हैं। इसका सबसे बड़ा फायदा है—"रेडी-टू-यूज़"—Composer भी बेहतरीन तरीके से कॉन्फिगर रहता है। Workerman प्रोजेक्ट बनाना और चलाना ServBay में बहुत ही आसान है।
यह गाइड कुछ बेसिक उदाहरणों के जरिए, ServBay में Workerman ऐप्लिकेशन बनाना और चलाना दिखाती है—जैसे सिंपल HTTP सर्वर, WebSocket सर्वर और TCP सर्वर।
TIP
बेहतर मैनेजमेंट व एक समानता के लिए, ServBay सुझाव देता है कि आपके सारे लोकल वेबसाइट प्रोजेक्ट फाइल्स नीचे दिए डायरेक्टरी में रखें:
- macOS:
/Applications/ServBay/www - Windows:
C:\ServBay\www
इस डॉक्यूमेंट के सारे प्रोजेक्ट उदाहरण इसी डायरेक्टरी को मानकर दिए गए हैं।
आवश्यक शर्तें
शुरू करने से पहले, सुनिश्चित करें:
- ServBay इंस्टॉल और चालू है: ServBay की वेबसाइट से लेटेस्ट वर्शन डाउनलोड व इंस्टॉल करें।
- ServBay में PHP चालू है: ServBay कंट्रोल पैनल में, आप जिस PHP वर्शन का इस्तेमाल करना चाहते हैं वह चालू हो। Workerman को PHP 5.4 या नए वर्शन की जरूरत है—PHP 7.x या 8.x ज्यादा बेहतर होगा।
- PHP कोडिंग और कमांड लाइन की बेसिक जानकारी: आपको बेसिक PHP सिंटैक्स और टर्मिनल में कमांड चलानी आती होनी चाहिए।
Workerman इंस्टॉल करना
1. Composer अवेलेबल होना
ServBay में Composer पहले से आता है—अलग से इंस्टॉल करने की जरूरत नहीं। बस ServBay चालू होना चाहिए और PHP वर्शन ऑन होना चाहिए। आप ServBay के टर्मिनल या कोई बाहरी टर्मिनल (अगर PATH सेट है) का इस्तेमाल करके Composer चला सकते हैं।
Composer चेक करने के लिए टर्मिनल खोलिए और कमांड दीजिए:
bash
composer -v1
अगर Composer सही इंस्टॉल है, तो वर्शन दिखेगा। अगर नहीं, तो ServBay चल रहा है और PHP वर्शन ठीक से ऑन है या नहीं जांचें।
2. प्रोजेक्ट डायरेक्टरी बनाना
ServBay वाली वेबसाइट रूट में जाकर नया प्रोजेक्ट डायरेक्टरी बनाइए और उसमें जाएँ:
macOS:
bash
cd /Applications/ServBay/www
mkdir servbay-workerman-demo
cd servbay-workerman-demo1
2
3
2
3
Windows:
cmd
cd C:\ServBay\www
mkdir servbay-workerman-demo
cd servbay-workerman-demo1
2
3
2
3
यहाँ हमने servbay-workerman-demo नाम की डायरेक्टरी Workerman प्रोजेक्ट फाइल्स के लिए बनाई।
3. Composer से Workerman इंस्टॉल करना
प्रोजेक्ट डायरेक्टरी में Composer से Workerman लाइब्रेरी इंस्टॉल करें—यह सबसे अच्छा तरीका है, dependencies भी खुद सेट हो जाती हैं:
प्रोजेक्ट डायरेक्टरी:
- macOS:
/Applications/ServBay/www/servbay-workerman-demo - Windows:
C:\ServBay\www\servbay-workerman-demo
bash
composer require workerman/workerman1
Composer आपके लिए Workerman और बाकी dependencies vendor डायरेक्टरी में इंस्टॉल कर देगा।
Workerman HTTP सर्वर कोड लिखना
HTTP सर्वर Workerman की सबसे आम यूज़ केस है—वेब ऐप्लिकेशन या API बनाने के लिए।
प्रोजेक्ट डायरेक्टरी में http_server.php (या कोई और नाम जैसे server.php) नाम का फाइल बनाएँ और नीचे दी गई PHP कोड डालें:
php
<?php
// Composer का ऑटो-लोड फाइल इनक्लुड करें ताकि Workerman क्लास इस्तेमाल की जा सके
require __DIR__ . '/vendor/autoload.php';
// Workerman की Worker क्लास इनपोर्ट करें
use Workerman\Worker;
use Workerman\Connection\TcpConnection;
use Workerman\Protocols\Http\Request;
use Workerman\Protocols\Http\Response;
// एक Worker इंस्टेंस बनाएं, जो दिए गए प्रोटोकॉल और एड्रेस पर सुनता है
// 'http://0.0.0.0:8080' का मतलब है—HTTP सर्वर चालू करें, जो सभी नेटवर्क इंटरफेस पर 8080 पोर्ट सुनता है
// 0.0.0.0 से लोकल और LAN दोनों से ऐक्सेस संभव है; 8080 पोर्ट नंबर है
$http_worker = new Worker('http://0.0.0.0:8080');
// प्रोसेस की संख्या सेट करें
// यहाँ 4 किया है—मतलब 4 PHP प्रोसेस में लेकर सर्वर चलेगा, CPU कोर के हिसाब से बदल सकते हैं
$http_worker->count = 4;
// क्लायंट का HTTP मेसेज मिलने पर क्या करें—उसकी लॉजिक सेट करें
// $connection—क्लायंट के साथ कनेक्शन ऑब्जेक्ट, जिससे रिस्पॉन्स भेज सकते हैं
// $request—रिक्वेस्ट की जानकारी (URL, हेडर्स, बॉडी etc) देता है
$http_worker->onMessage = function(TcpConnection $connection, Request $request) {
// क्लायंट को सिंपल स्ट्रिंग भेजें HTTP रिस्पॉन्स के तौर पर
// Workerman HTTP हेडर आदि खुद सम्भालता है
$connection->send(new Response(200, [], 'Hello ServBay Workerman HTTP Server!'));
};
// सारे Worker इंस्टेंस रन करें
// Workerman का मेन लूप; इसके बाद प्रोसेस पोर्ट सुनना शुरू कर देंगे
Worker::runAll();1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
कोड व्याख्या:
require __DIR__ . '/vendor/autoload.php';: Composer ऑटो-लोड फाइल इनक्लुड करने से Workerman की क्लास इस्तेमाल कर सकते हैं।use Workerman\...;: ज़रूरी क्लास लाना।new Worker('http://0.0.0.0:8080'): Worker का ऑब्जेक्ट बनाना, जिसके लिए प्रोटोकॉल (http) और एड्रेस दिया है।$http_worker->count = 4;: प्रोसेस की संख्या—मल्टीकोर परफॉर्मेंस के लिए।$http_worker->onMessage = function(TcpConnection $connection, Request $request) { ... };: जब क्लायंट HTTP रिक्वेस्ट भेजे, तब कौन सा फंक्शन चलेगा? रिस्पॉन्स कैसे भेजेंगे?Worker::runAll();: सारे Workers चलाना शुरू करता है—अब ऐप्लिकेशन ready!
Workerman HTTP सर्वर चलाना
प्रोजेक्ट डायरेक्टरी में, टर्मिनल खोलें और HTTP सर्वर स्टार्ट करें:
प्रोजेक्ट डायरेक्टरी:
- macOS:
/Applications/ServBay/www/servbay-workerman-demo - Windows:
C:\ServBay\www\servbay-workerman-demo
bash
php http_server.php start1
रन मोड समझाइए:
- फोरग्राउंड मोड:
php http_server.php startटाइप करें—Workerman टर्मिनल पर चलेगा, लॉग दिखाएगा,Ctrl+Cसे बंद करें। डेवलपमेंट/डिबग के लिए अच्छा। - डेमन मोड: प्रोडक्शन के लिए बैकग्राउंड में चाहें तो
-dजोड़ें:bashअब Workerman बैकग्राउंड में चलेगा, आउटपुट लॉग फाइल में जाएगा।php http_server.php start -d1
प्रोसेस मैनेजमेंट:
Workerman के पास बहुत आसान प्रोसेस कमांड्स हैं—
- स्टार्ट:
php http_server.php start(फोरग्राउंड) याphp http_server.php start -d(बैकग्राउंड) - स्टॉप:
php http_server.php stop(सारे प्रोसेस धीरे-धीरे बंद होंगे) - रीस्टार्ट:
php http_server.php restart(स्टॉप + स्टार्ट) - रिलोड:
php http_server.php reload(कोड अपडेट के लिए, प्रोसेस एक-एक कर रीलोड होंगे—सर्विस बाधित नहीं होगी; कुछ लाइफसाइकल फंक्शन ध्यान रखें) - स्टेटस देखें:
php http_server.php status(स्टेटस, मेमोरी, कनेक्शन आदि)
सर्वर स्टार्ट करने के बाद ब्राउज़र में जाएं—http://localhost:8080 या http://127.0.0.1:8080। आपको मैसेज दिखेगा—Hello ServBay Workerman HTTP Server!
Workerman से WebSocket सर्वर बनाना
WebSocket प्रोटोकॉल क्लायंट और सर्वर के बीच लगातार, दोतरफा कम्युनिकेशन देता है—रियल-टाइम ऐप्लिकेशन (चैट, लाइव डाटा, गेम आदि) के लिए बहुत बढ़िया। Workerman में WebSocket सपोर्ट बेहतरीन है।
WebSocket सर्वर कोड बनाएँ
प्रोजेक्ट डायरेक्टरी में
websocket_server.phpफाइल बनाइए और यह कोड डालें:php<?php require __DIR__ . '/vendor/autoload.php'; use Workerman\Worker; use Workerman\Connection\TcpConnection; // एक WebSocket सर्वर बनाएं, जो 8081 पोर्ट पर सुनता है // 'websocket://0.0.0.0:8081'—WebSocket सर्वर // Handshake वगैरह Workerman खुद करता है $ws_worker = new Worker('websocket://0.0.0.0:8081'); // 4 प्रोसेस में कनेक्शन हैंडल करें $ws_worker->count = 4; // कनेक्शन बनने पर क्या करें— $ws_worker->onConnect = function(TcpConnection $connection) { echo "New WebSocket connection from " . $connection->getRemoteIp() . "\n"; }; // क्लायंट का मेसेज मिलने पर क्या करें— $ws_worker->onMessage = function(TcpConnection $connection, $data) { echo "Received message: " . $data . "\n"; // क्लायंट को भेजे हुए मेसेज का रिस्पॉन्स दें $connection->send('ServBay Workerman received: ' . $data); }; // कनेक्शन बंद होने पर क्या करें— $ws_worker->onClose = function(TcpConnection $connection) { echo "WebSocket Connection closed\n"; }; // कोई एरर आए, क्या करें (ऑप्शनल) $ws_worker->onError = function(TcpConnection $connection, $code, $msg) { echo "Error: $code - $msg\n"; }; // सारे Worker रन करें Worker::runAll();1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39WebSocket सर्वर चलाएं
प्रोजेक्ट डायरेक्टरी में कमांड दीजिए—
bashphp websocket_server.php start1-dके साथ चाहें तो बैकग्राउंड में भी चला सकते हैं। इसके बाद WebSocket क्लायंट टूल सेws://localhost:8081पर कनेक्ट करें।उदाहरण के लिए—ब्राउज़र के डिवेलपर टूल, Console में JavaScript ट्राई करें:
javascriptvar ws = new WebSocket("ws://localhost:8081"); ws.onopen = function(event) { console.log("WebSocket connection opened"); ws.send("Hello from Browser!"); // संदेश भेजें }; ws.onmessage = function(event) { console.log("Message from server:", event.data); // रिस्पॉन्स पाएं }; ws.onclose = function(event) { if (event.wasClean) { console.log("WebSocket connection closed cleanly, code=" + event.code + " reason=" + event.reason); } else { console.error("WebSocket connection died"); } }; ws.onerror = function(error) { console.error("WebSocket error:", error); }; // कनेक्शन बंद करना (ऑप्शनल) // ws.close();1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25कनेक्शन सक्सेस होने पर टर्मिनल में कनेक्शन व मेसेज दिखेगा; ब्राउज़र में भी रिस्पॉन्स मिलेगा।
Workerman से TCP सर्वर बनाना
Workerman से आप सामान्य TCP सर्वर भी चला सकते हैं—गेम बैकएंड, IoT, कस्टम कम्युनिकेशन आदि के लिए।
TCP सर्वर कोड बनाएँ
प्रोजेक्ट डायरेक्टरी में
tcp_server.phpनाम की फाइल बनाएं और यह कोड डालें:php<?php require __DIR__ . '/vendor/autoload.php'; use Workerman\Worker; use Workerman\Connection\TcpConnection; // एक TCP सर्वर बनाएं जो 8082 पोर्ट पर सुनता है // 'tcp://0.0.0.0:8082'—TCP सर्वर // Workerman डिफॉल्ट टेक्स्ट प्रोटोकॉल (लाइन एंडिंग '\n') द्वारा डाटा लेता है $tcp_worker = new Worker('tcp://0.0.0.0:8082'); // 4 प्रोसेस में कनेक्शन हैंडल करें $tcp_worker->count = 4; // कनेक्शन बनने पर क्या संदेश दें— $tcp_worker->onConnect = function(TcpConnection $connection) { echo "New TCP connection from " . $connection->getRemoteIp() . "\n"; // वेलकम मेसेज भेजें $connection->send("Welcome to ServBay Workerman TCP Server!\n"); }; // क्लायंट से डेटा मिलने पर क्या करें— $tcp_worker->onMessage = function(TcpConnection $connection, $data) { echo "Received data: " . $data; // एचो करें—जो भी डेटा क्लायंट ने भेजा था $connection->send('ServBay Workerman received: ' . $data); }; // कनेक्शन बंद होने पर क्या करें— $tcp_worker->onClose = function(TcpConnection $connection) { echo "TCP Connection closed\n"; }; // सारे Worker रन करें Worker::runAll();1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35TCP सर्वर चलाएं
प्रोजेक्ट डायरेक्टरी में कमांड दीजिए—
bashphp tcp_server.php start1-dविकल्प के साथ बैकग्राउंड में भी चला सकते हैं। इसके बाद TCP क्लायंट टूल सेlocalhost:8082पर कनेक्ट करें।उदाहरण के लिए—दूसरे टर्मिनल में,
telnetयाncकमांड चलाइए:bash# telnet से telnet localhost 8082 # या nc (netcat) nc localhost 80821
2
3
4
5कनेक्शन होते ही वेलकम मेसेज मिलेगा। कुछ भी टाइप करें (एंटर दबाएँ)—सरवर वही 메시ज वापस भेजेगा।
ध्यान देने योग्य बातें
- पोर्ट ओक्यूपेंसी: ध्यान रखें, Workerman जिस पोर्ट (8080, 8081, 8082 उदाहरण में) पर सुनता है—वो macOS या ServBay के बाकी प्रोग्राम से व्यस्त (occupied) न हो। नहीं तो Workerman स्टार्ट नहीं होगा।
lsof -i :पोर्टनंबरसे चेक करें। - फायरवॉल: ओएस का फायरवॉल कभी-कभी बाहरी कनेक्शन ब्लॉक कर सकता है। लोकल डिवेलपमेंट में आमतौर पर दिक्कत नहीं आती—लेकिन अगर LAN से ऐक्सेस चाहिए तो फायरवॉल सेटिंग्स सही करें।
- ServBay वेब सर्वर से संबंध: Workerman अलग पोर्ट पर अलग प्रक्रिया (process) के रूप में चलती है—ServBay की Caddy/Nginx से अलग। Workerman सीधे कनेक्शन प्रोसेस करती है, प्रॉक्सी की जरूरत नहीं जब तक स्पेशल रिवर्स प्रॉक्सी न हो। WebSocket जैसे लॉन्ग कनेक्शन、高 कॉन्करेंसी वाले काम Workerman के लिए होते हैं; Caddy/Nginx सिर्फ साधारण HTTP के लिए।
- PHP वर्शन: Workerman के लिए जो PHP वर्शन चल रहा है—वो मिनिमम रिक्वायरमेंट पर हो। ServBay में कई वर्शन हैं—जरूरत के हिसाब से कंट्रोल पैनल में सिलेक्ट करें।
- एक्सटेंशन डिपेंडेंसी: बेहतर परफॉर्मेंस व फीचर के लिए—Workerman को
event,posix,pcntlजैसी PHP एक्सटेंशन चाहिए होती हैं। ServBay में अधिकतर आम एक्सटेंशन ऑन रहती हैं—फिर भी कोई दिक्कत हो तो कंट्रोल पैनल से चेक करें। - लॉग्स: जब डेमन मोड में रन करें, आउटपुट लॉग फाइल में जाता है—लॉग रेगुलर देखिए, ताकि रनटाइम स्टेटस और एरर मालूम रहे।
प्रमुख प्रश्न और उत्तर (FAQ)
- Q: Workerman सर्वर कैसे रोकें?
- A: अगर सर्वर फोरग्राउंड में चल रहा है (
startकमांड), तो टर्मिनल मेंCtrl+Cदबाएँ। अगर बैकग्राउंड या डेमन मोड में चल रहा है (start -d), तो प्रोजेक्ट डायरेक्टरी में जाकरphp your_server_file.php stopकमांड दें।
- A: अगर सर्वर फोरग्राउंड में चल रहा है (
- Q: Workerman सर्वर क्यों नहीं चल रहा?
- A: सबसे आम कारण है—पोर्ट ऑक्यूपाइड है। टर्मिनल में एरर देखें—पोर्ट कंफ्लिक्ट दिखेगा। दूसरा पोर्ट ट्राई करें या दूसरा ऐप बंद करें।
lsof -i :पोर्टनंबरसे जांच सकते हैं।
- A: सबसे आम कारण है—पोर्ट ऑक्यूपाइड है। टर्मिनल में एरर देखें—पोर्ट कंफ्लिक्ट दिखेगा। दूसरा पोर्ट ट्राई करें या दूसरा ऐप बंद करें।
- Q: ServBay की Caddy/Nginx और Workerman में क्या अंतर है? किसका यूज़ करें?
- A: ServBay की Caddy/Nginx पारंपरिक वेब सर्वर हैं—HTTP/HTTPS रिक्वेस्ट के लिए; अक्सर PHP-FPM के साथ चलते हैं, हर रिक्वेस्ट पर प्रोसेस खत्म हो जाता है। Workerman PHP असिंक्रोनस नेटवर्क फ्रेमवर्क है; खुद HTTP, WebSocket, TCP आदि सर्व कर सकता है—मेमोरी में लगातार चलता है; हाई-कॉन्करेंसी, लॉन्ग कनेक्शन या रियल-टाइम कम्युनिकेशन के लिए बेहतर है। ऐप की ज़रूरत के हिसाब से चुनें—पारंपरिक वेबसाइट या API के लिए Caddy/Nginx; चैट, गेम, IoT सर्विस के लिए Workerman। चाहें तो दोनों को साथ भी इस्तेमाल कर सकते हैं—Caddy/Nginx को रिवर्स प्रॉक्सी बना लें।
- Q: क्या ServBay में कई Workerman ऐप्स साथ में चला सकते हैं?
- A: हाँ। हर Workerman ऐप अलग PHP प्रोसेस में चलेंगी, अलग पोर्ट पर। हर ऐप के लिए अलग स्टार्टअप स्क्रिप्ट बनाएँ व अलग टर्मिनल में
php your_app_server.php start(या बैकग्राउंड में) चलाएँ। पोर्ट्स ना टकराएँ इतना ध्यान रखें।
- A: हाँ। हर Workerman ऐप अलग PHP प्रोसेस में चलेंगी, अलग पोर्ट पर। हर ऐप के लिए अलग स्टार्टअप स्क्रिप्ट बनाएँ व अलग टर्मिनल में
निष्कर्ष
इस गाइड में आपने जाना, कैसे ServBay के तेज़ लोकल डिवेलपमेंट एनवायरनमेंट में Workerman प्रोजेक्ट्स आसानी से तैयार व आज़माए जाते हैं। Workerman की हाई-परफॉर्मेंस व एसिंक्रोनस क्षमता के बदौलत PHP डिवेलपर्स अगली पीढ़ी के नेटवर्क ऐप्लिकेशन—for example वेब सर्विस, रियल-टाइम WebSocket ऐप्लिकेशन—बिल्ट-इन Composer व PHP एनवायरनमेंट के साथ, ServBay पर बहुत जल्दी बना सकते हैं। ServBay आपके Workerman एक्सप्लोरेशन के लिए आदर्श लोकल डिवेलपमेंट साथी है। उम्मीद है यह डॉक्यूमेंट आपके Workerman सफ़र की शुरुआत को आसान बनाएगा!
