कैडी सर्वर (या कैडी वेब) GoLang में लिखा गया एक ओपन सोर्स वेब सर्वर है और HTTP/2 का समर्थन करता है। यह HTTP कार्यक्षमता प्रदान करने के लिए GoLang मानक लाइब्रेरी का उपयोग करता है। Caddy की एक उल्लेखनीय विशेषता यह है कि HTTPS डिफ़ॉल्ट रूप से सक्षम है। यह अतिरिक्त कॉन्फ़िगरेशन के बिना HTTPS सुविधाएँ प्रदान करने वाला पहला वेब सर्वर है।

हमारे आमतौर पर उपयोग किए जाने वाले वेब सर्वर जैसे कि Nginx और Apache की तुलना में, Caddy की सबसे बड़ी विशेषता यह है कि इसे तैनात करना आसान है, इसमें Apache या nginx का मूल वेब सर्वर मॉड्यूल है, और इसमें कुछ अद्वितीय कार्य भी हैं, जैसे: HTTP/। 2, स्वचालित HTTPS, मल्टी-कोर, वेबसोकेट, मार्कडाउन, IPv6 और बहुत कुछ।

Caddy का उपयोग स्थिर और गतिशील वेबसाइटों के लिए किया जा सकता है, कई लोगों ने देखा है कि Caddy को स्थापित करना और तैनात करना आसान है। वे Caddy को नेटवर्क डिस्क और डाउनलोड जैसे विभिन्न अनुप्रयोगों के साथ एकीकृत करते हैं। यह न केवल Caddy की सरल तैनाती और कॉन्फ़िगरेशन का लाभ उठाता है , लेकिन सर्वर संसाधनों को अधिकतम सीमा तक सहेजता है और तीसरे पक्ष के अनुप्रयोगों के विकास और प्रबंधन पर ध्यान केंद्रित करता है।
उच्चतम क्षमता वाला कैडी का हल्का वेब सर्वर - वेबसाइट और नेटवर्क डिस्क अनुप्रयोगों की एक मिनट की स्वचालित HTTPS तैनाती

यह आलेख कैडी सर्वर की स्थापना और उपयोग, अधिक वेबसाइट निर्माण उपकरण और स्क्रिप्ट, और साझा करेगा:

  1. तीन उत्कृष्ट ऑनलाइन फ़ाइल प्रबंधकों (निर्देशिका सूची) की तुलना - निर्देशिका लिस्टर, h5ai और FileRun
  2. स्मोकपिंग इंस्टालेशन और कॉन्फ़िगरेशन - मुफ़्त ओपन सोर्स नेटवर्क प्रदर्शन मॉनिटरिंग टूल विज़ुअल मास्टर/स्लेव परिनियोजन
  3. वनइनस्टैक वन-क्लिक इंस्टॉलेशन स्क्रिप्ट - लेट्स एनक्रिप्ट सर्टिफिकेट को आसानी से तैनात करें और HTTPS साइट को कॉन्फ़िगर करें

PS: 21 फरवरी, 2018 को अपडेट किया गया , एक मुफ्त नेटवर्क डिस्क प्रोग्राम की तलाश में, आप इसे भी आज़मा सकते हैं: मुफ्त निजी क्लाउड स्टोरेज बनाने के लिए Pydio का उपयोग करें - मल्टी-टर्मिनल स्वचालित सिंक्रोनाइज़ेशन ऑनलाइन संगीत वीडियो चला सकता है।

1. कैडी स्थापना विधि

कैडी आधिकारिक वेबसाइट:

  1. वेबसाइट: https://caddyserver.com/
  2. डाउनलोड करें: https://caddyserver.com/download
  3. जीथब: https://github.com/mholt/caddy

कैडी को स्थापित और तैनात करने के लिए केवल तीन चरण हैं। सबसे पहले, अपने सर्वर ऑपरेटिंग सिस्टम के अनुसार Caddy संस्करण का चयन करें और इसे डाउनलोड करें (लिनक्स और विंडोज दोनों समर्थित हैं)।

2. कैडी कॉन्फ़िगरेशन विधि

2.1  कॉन्फ़िगरेशन फ़ाइल बनाएं

सबसे पहले एक कॉन्फ़िगरेशन फ़ाइल बनाएं और उसे /etc/caddy में डालें।

sudo mkdir /etc/caddy
sudo touch /etc/caddy/Caddyfile
sudo chown -R root:www-data /etc/caddy

कॉन्फ़िगरेशन फ़ाइल के अलावा, कैडी स्वचालित रूप से एक एसएसएल प्रमाणपत्र उत्पन्न करेगा और एसएसएल प्रमाणपत्र रखने के लिए एक फ़ोल्डर की आवश्यकता होगी।

sudo mkdir /etc/ssl/caddy
sudo chown -R www-data:root /etc/ssl/caddy
sudo chmod 0770 /etc/ssl/caddy

क्योंकि निजी कुंजी एसएसएल फ़ोल्डर में रखी जाएगी, अन्य उपयोगकर्ताओं को उस तक पहुंचने से रोकने के लिए अनुमतियाँ 770 पर सेट की गई हैं। अंत में, वह निर्देशिका बनाएँ जहाँ वेबसाइट फ़ाइलें रखी गई हैं। यदि यह पहले से मौजूद है, तो इसे बनाने की कोई आवश्यकता नहीं है।

sudo mkdir /var/www
sudo chown www-data:www-data /var/www

2.2  स्टार्टअप सेट करें

इन फ़ाइलों और निर्देशिकाओं को बनाने के बाद, हमें कैडी को एक सेवा के रूप में कॉन्फ़िगर करने की आवश्यकता है ताकि यह बूट पर स्वचालित रूप से चल सके और प्रबंधित करना आसान हो। क्योंकि अधिकांश वितरण वर्तमान में सिस्टमडी का उपयोग करते हैं, मैं यहां केवल सिस्टमडी को कॉन्फ़िगर करने के तरीके के बारे में बात करूंगा।

sudo curl -s https://raw.githubusercontent.com/mholt/caddy/master/dist/init/linux-systemd/caddy.service -o /etc/systemd/system/caddy.service   # 从 github 下载 systemd 配置文件
sudo systemctl daemon-reload        # 重新加载 systemd 配置
sudo systemctl enable caddy.service # 设置 caddy 服务自启动
sudo systemctl status caddy.service # 查看 caddy 状态

2.3  कैडीफ़ाइल संपादित करें।

Caddyfile को संशोधित करने के लिए आप सीधे vim /etc/caddy/Caddyfile का उपयोग कर सकते हैं, या आप इसे अपने कंप्यूटर पर संशोधित कर सकते हैं और सर्वर पर अपलोड कर सकते हैं। यदि आप Caddyfile को संशोधित करते हैं और पाते हैं कि यह प्रभावी नहीं होता है, तो आपको Caddy को पुनरारंभ करने के लिए sudo systemctl restart caddy.service को निष्पादित करने की आवश्यकता है।

2.4  कैडीफ़ाइल प्रारूप

कैडफ़ाइल का प्रारूप अपेक्षाकृत सरल है, सबसे पहले, पहली पंक्ति में वेबसाइट का पता होना चाहिए, उदाहरण के लिए:

localhost:8080

या

wzfou.com

पते में एक पोर्ट नंबर हो सकता है, फिर कैडी इस पोर्ट पर केवल http सेवा खोलेगा, लेकिन https नहीं। यदि पोर्ट नंबर नहीं लिखा है, तो Caddy डिफ़ॉल्ट रूप से पोर्ट 80 और 443 को बाइंड करेगा, और http और https सेवाएं शुरू करेगा। उसी समय। पते का अनुसरण निर्देशों के एक समूह द्वारा किया जा सकता है। Caddyfile का मूल प्रारूप यह है, जिसमें एक वेबसाइट का पता और निर्देश शामिल होते हैं।

2.5  निर्देश

निर्देश का उद्देश्य वेबसाइट के लिए कुछ कार्यों को सक्षम करना है। निर्देशों के तीन प्रारूप हैं आइए सबसे पहले बिना पैरामीटर वाले सबसे सरल निर्देशों के बारे में बात करते हैं, जैसे:

wzfou.com    
gzip

दूसरी पंक्ति में gzip एक निर्देश है, जिसका अर्थ है gzip संपीड़न फ़ंक्शन को चालू करना, ताकि वेबसाइट वेब पेज प्रसारित करते समय ट्रैफ़िक को कम कर सके। दूसरे कमांड का प्रारूप सरल मापदंडों वाला एक कमांड है:

wzfou.com
gzip
log /var/log/caddy/access.log
tls iwzfou@gmail.com
root /var/www/

तीसरी पंक्ति में, लॉग कमांड वेबसाइट के लिए लॉग फ़ंक्शन को सक्षम करेगा। लॉग कमांड के बाद के पैरामीटर कैडी को बताएंगे कि लॉग फ़ाइल कहाँ संग्रहीत है। चौथी पंक्ति में टीएलएस कमांड कैडी को वेबसाइट के लिए https सक्षम करने और स्वचालित रूप से प्रमाणपत्र के लिए आवेदन करने के लिए कहता है। निम्नलिखित ईमेल पैरामीटर आवेदक के ईमेल पते के बारे में सीए को सूचित करने के लिए है। (कैडी प्रमाणपत्र के लिए आवेदन करने और इसे नवीनीकृत करने के लिए डिफ़ॉल्ट रूप से लेट्स एन्क्रिप्ट का उपयोग करेगा, जो बहुत सुविधाजनक है)

इसके अलावा, एक से अधिक सरल पैरामीटर भी हो सकते हैं, जैसे रेडिर निर्देश:

wzfou.com
gzip
log /var/log/caddy/access.log
tls /etc/ssl/cert.pem /etc/ssl/key.pem
root /var/www/
redir / https://wzfou.com/archive/{uri} 301

उपरोक्त रेडिर कमांड तीन पैरामीटर लेता है, जिसका अर्थ है कि सभी अनुरोधों के लिए 301 पुनर्निर्देशन का उपयोग करना। वेबसाइट का डोमेन नाम बदलते समय यह कमांड बहुत उपयोगी है। इसके अलावा, टीएलएस कमांड बदल गया है। यह न केवल ईमेल पैरामीटर को पास करता है, बल्कि प्रमाणपत्र और निजी कुंजी के पथ को भी पास करता है। इस तरह, कैडी स्वचालित रूप से प्रमाणपत्र के लिए आवेदन नहीं करेगा, बल्कि दिए गए प्रमाणपत्र का उपयोग करेगा रास्ते से.

इस उदाहरण में, {uri} जैसे प्लेसहोल्डर का भी उपयोग किया जाता है। एक विस्तृत सूची यहां पाई जा सकती है: https://caddyserver.com/docs/placefolders। अंतिम प्रकार का निर्देश जटिल पैरामीटर लेता है। इस प्रकार के निर्देश में कई पैरामीटर हो सकते हैं, इसलिए इसे घुंघराले ब्रेसिज़ की एक जोड़ी में संलग्न करने की आवश्यकता होती है, जैसे हेडर निर्देश:

wzfou.com
gzip
log /var/log/caddy/access.log
tls iwzfou@gmail.com
root /var/www/
header /api {
    Access-Control-Allow-Origin  *
    Access-Control-Allow-Methods "GET, POST, OPTIONS"
    -Server
}
fastcgi / 127.0.0.1:9000 php {
    index index.php
}
rewrite {
    to {path} {path}/ /index.php?{query}
}

पंक्ति 6-10 में हेडर निर्देश सभी /api/xxx अनुरोधों में Access-Control-Allow-Origin और Access-Control-Allow-Methods< जोड़ने का प्रतिनिधित्व करते हैं > ये दो हेडर जावास्क्रिप्ट क्रॉस-डोमेन एक्सेस का समर्थन कर सकते हैं। लाइन 9 दूसरों को सर्वर प्रकार देखने से रोकने के लिए सर्वर हेडर को हटाने का प्रतिनिधित्व करती है।

पंक्तियाँ 11-13 fastcgi निर्देश का उपयोग करती हैं, जिसका अर्थ है कि अनुरोध fastcgi के माध्यम से php और रूबी जैसे बैक-एंड प्रोग्राम को पास किया जाता है।

पंक्तियाँ 14-15 पुनर्लेखन कमांड का उपयोग करती हैं। इस कमांड का कार्य को आंतरिक रूप से सर्वर पर रीडायरेक्ट करना है। निम्नलिखित पैरामीटर से के बाद, यह फ़ंक्शन कुछ हद तक है nginx के लिए समान। try_files। कैडी को पहले यह जांचने के लिए कहें कि यूआरएल रूट निर्देशिका /var/www में {पथ} के अनुरूप कोई फ़ाइल है या नहीं। यदि {पथ} के अनुरूप कोई फ़ाइल नहीं है, तो जांचें कि क्या {पथ} के अनुरूप कोई निर्देशिका है कोई नहीं है, इसे Index.php प्रविष्टि फ़ाइल पर अग्रेषित करें। यह सुविधा आमतौर पर PHP के MVC फ्रेमवर्क में उपयोग की जाती है।

2.6  मल्टी-डोमेन वेबसाइट

उपर्युक्त सभी एक ही डोमेन नाम के यूआरएल हैं, तो क्या होगा यदि एक ही सर्वर पर एकाधिक डोमेन नाम तैनात किए जाएं? यह बहुत सरल है। आपको बस इसे डोमेन नाम के बाद एक घुंघराले ब्रैकेट के साथ विस्तारित करना होगा, इस प्रकार:

wzfou.com {
    gzip
    log /var/log/caddy/wzfou_com.log
    tls iwzfou@gmail.com
    root /var/www/
    header /api {
        Access-Control-Allow-Origin  *
        Access-Control-Allow-Methods "GET, POST, OPTIONS"
        -Server
   }
    fastcgi / 127.0.0.1:9000 php {
        index index.php
    }
    rewrite {
        to {path} {path}/ /index.php?{query}
    }
}
wzfou.com{
    tls iwzfou@gmail.com
    log /var/log/caddy/wzfou_com.log
    redir / https://wzfou.com/{uri} 301
}

यह बुनियादी कैडी कॉन्फ़िगरेशन है। अधिक जानकारी के लिए, कृपया आधिकारिक वेबसाइट दस्तावेज़ देखें: https://caddyserver.com/docs।

3. कैडी वन-क्लिक वेबसाइट बिल्डिंग स्क्रिप्ट

उपरोक्त Caddy कॉन्फ़िगरेशन को देखने के बाद, कुछ मित्र आश्चर्यचकित हो सकते हैं कि क्या एक-क्लिक वेबसाइट निर्माण के लिए कोई Caddy स्क्रिप्ट है?

3.1 कैडी-वेब-सर्वर-इंस्टॉलर

  1. परियोजना का पता: https://github.com/sayem314/Caddy-Web-Server-Installer

सिस्टम आवश्यकताएँ: उबंटू 14.x, 15.x, 16.x, डेबियन 7.x , 8.x, 9.x, CentOS 6.8, 7.2। निम्न आदेश चलाएँ:

wget https://git.io/vra5C -O - -o /dev/null|bash

फिर आगे बढ़ने के लिए निम्न आदेश का उपयोग करें:

caddy start  #开启Caddy Web Server
caddy stop  #停止Caddy Web Server
caddy reload  #重载Caddy Web Server
caddy restart  #重启Caddy Web Server
caddy status  #查看Caddy Web Server状态
caddy install  #安装Caddy Web Server
caddy edit  #编辑配置文件Caddyfile
caddy service  #使Caddy Web Server成为一项服务(upstart/systemd)
caddy update  #升级Caddy Web Server
caddy delete  #卸载Caddy and data
caddy about  #关于Caddy Web Server
caddy version  #检测脚本/Caddy/PHP5-fpm版本信息

प्लगइन स्थापित करें आदेश:

caddy install http.cache,http.filemanager,http.ipfilter,http.ratelimit

caddy इंस्टॉल करते समय, आपको अपना डोमेन नाम और ईमेल पता दर्ज करने के लिए कहा जाएगा (यह स्वचालित रूप से आपके लिए ssl जारी करेगा), और फिर caddy< शुरू करने के लिए कमांड का उपयोग करें ईपीटी2>!

虚拟主机文件夹:/var/caddywww
配置文件夹:/etc/Caddyfile

यह सफल स्थापना के लिए इंटरफ़ेस है:

ऑडियो, वीडियो आदि भी ऑनलाइन डाले जा सकते हैं।

4. सारांश

Caddy को एक वेब सर्वर के रूप में उपयोग करने में लगभग केवल कुछ मिनट लगते हैं। बेशक, Caddy nginx की तरह कैशिंग, मिररिंग आदि भी लागू कर सकता है, आपको केवल कुछ मिनट अध्ययन करने की आवश्यकता है आधिकारिक वेबसाइट। दस्तावेज़ को स्वयं कॉपी किया जा सकता है।

कैडी स्वचालित रूप से एक निःशुल्क लेट्स एनक्रिप्ट प्रमाणपत्र जारी करेगा, लेकिन आपको पहले सर्वर पर डोमेन नाम को हल करना होगा, अन्यथा वर्चुअल होस्ट जोड़ते समय आपको एक त्रुटि मिलेगी। क्या Caddy को औपचारिक उत्पादन वातावरण के रूप में उपयोग किया जा सकता है, यह अभी भी प्रश्न के दायरे में है, लेकिन Caddy को एक साधारण HTTP सर्वर के रूप में उपयोग करने में कोई समस्या नहीं है।

उत्तर छोड़ दें