CentOS7 मा अपाचे स्थापना गर्नुहोस्

आधिकारिक सन्दर्भ

आधिकारिक वेबसाइट उत्पाद दस्तावेज HTTPS Gzip

स्थापना गर्नुहोस्

            yum -y install libmcrypt libmcrypt-devel mcrypt mhash
yum -y install httpd
        

कन्फिगरेसन फाइल परिमार्जन गर्नुहोस्

स्थापना पूरा भएपछि, हामीले कन्फिगरेसन फाइलमा केही परिमार्जन गर्नु आवश्यक छ। विशेष परिमार्जन सामग्रीमा सामान्यतया समावेश हुन्छ: बाउन्ड आईपी र पोर्ट, gzip कम्प्रेसन प्रसारण, समवर्ती जडानहरूको संख्या, र SSL। तिनीहरूलाई तल एक एक गरी व्याख्या गर्नुहोस्।

बाउन्ड आईपी र पोर्ट परिमार्जन गर्नुहोस्

पूर्वनिर्धारित IP र पोर्ट जुन सुन्नुहुन्छ अपाचे ०.०.०.०.०80० हो। यदि हामीले अनुगमित आईपी र पोर्ट परिमार्जन गर्न आवश्यक छ भने, हामी यसलाई सिधै परिमार्जन गर्न सक्दछौं। यदि हामीलाई बहु पोर्टहरू बाइन्ड गर्न आवश्यक छ भने हामी त्यसलाई थप्न पनि सक्दछौं। निम्न उदाहरणमा हामी पोर्टहरू 80० र 3 443 लाई बाँध्छौं। पोर्ट 3 443 HTTPS का लागि पूर्वनिर्धारित पोर्ट नम्बर हो।

            Listen 80
Listen 443 https
        

Gzip प्रसारण खोल्नुहोस्

किनभने हाम्रो कम्प्युटरको सीपीयू प्रदर्शन तुलनात्मक रूपमा उच्च छ, प्राय: अवरोध नेटवर्क ब्यान्डविथमा देखा पर्दछ, त्यसैले हामी gzip कम्प्रेसन प्रसारण खोल्न रोज्न सक्छौं। त्यहाँ कम्प्रेसनको levels तहहरू छन्। हामी हाम्रो सर्वरको प्रदर्शनका आधारमा छनौट गर्न सक्दछौं र सब भन्दा उपयुक्त स्तर फेला पार्न सक्दछौं। तलको उदाहरणमा, हामी यसलाई स्तर १ मा सेट गर्दछौं। कम्प्रेस गरिएको फाइल प्रकारहरू: html, xML, php, css, js, हामी पनि स as्कलित फाइल प्रकारहरू आवश्यकता अनुसार थप्न सक्छौं।

            <IfModule mod_deflate.c>
    DeflateCompressionLevel 1
    AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-javascript application/x-httpd-php
    AddOutputFilter DEFLATE js css
</IfModule>
        

KeepAlive सेट अप गर्नुहोस्

KeepAlive को प्रकार्य एक अवधि को लागी ग्राहक र सर्भर जडान राख्नु हो। जब हामी वेबपृष्ठ खोल्छौं, हामी प्राय: मुख्य सामग्री, js, CSS, र चित्रहरू लोड गर्न आवश्यक पर्दछ। प्रत्येक स्रोतले छुट्टै HTTP अनुरोध प्रारम्भ गर्न आवश्यक पर्ने हुनाले, हामी KeepAlive लाई TCP / IP लिंक स्थापना गर्न प्रत्येक अनुरोधको लागि आवश्यक समय घटाउन सक्षम गर्दछौं। तर कीपएलाइभमा पनि कमजोरीहरू छन्। यसले सर्भरको आईओ संसाधनहरू ओगटेको छ, त्यसैले हामीले वास्तविक अवस्थाको आधारमा किपआइलिभ सक्षम गर्ने कि नगर्ने भनेर छनौट गर्न आवश्यक छ। यदि KeepAlive सक्षम गरिएको छ भने, हामीले सर्भर IO लाई लामो समयसम्म कब्जामा नपार्नको लागि यसको लागि व्यावहारिक टाइमआउट पनि सेट गर्नु आवश्यक छ। निम्न उदाहरणले KeepAlive को धेरै मुख्य सेटि containsहरू समावेश गर्दछ।

            KeepAlive On
MaxKeepAliveRequests 400
KeepAliveTimeout 5
        

समवर्ती संख्या कन्फिगर गर्नुहोस्

समवर्ती संख्याको एक उचित कन्फिगरेसनले सर्वरको थ्रुपुटमा ठूलो सुधार गर्न सक्दछ। सामान्यतया हाम्रो अपाचे mpm_prefork मोडमा काम गर्दछ। हामीले तर्कसंगत धेरै कुञ्जी प्यारामिटरहरू कन्फिगर गर्नु पर्छ। के हामीले ध्यान दिन जरुरी छ कि कनेक्शनको अधिकतम संख्या एकदम सानो हुनु हुँदैन, धेरै सानो कारणले प्रयोगकर्ताको अनुरोधलाई ठूलो संख्यामा अस्वीकार गर्न मिल्छ जब कन्क्जुरेन्सी अधिक हुन्छ। हामीले सेट गरेको व्यावहारिक मानले सर्वरको सीपीयू र मेमोरीमा सन्दर्भ गर्नुपर्दछ। स्रोतहरू पर्याप्त भएसम्म हामीले यसलाई यथासक्दो ठूलो सेट गर्नुपर्छ, तर यदि हामीले धेरै ठूलो सेट गर्नुभयो भने, सर्भर संसाधनहरू खाली हुनेछन् र अपाचे पनि क्र्यास हुनेछन्।

            <IfModule mpm_prefork_module>
    StartServers         10
    MinSpareServers      25
    MaxSpareServers      50
    ServerLimit          1500
    MaxClients           1000
    MaxRequestsPerChild  3000
</IfModule>
        

SSL कन्फिगर गर्नुहोस्

धेरै जसो वेबसाइटहरू अब SSL सक्षम छन् HTTPS सुरक्षित जडानहरू समर्थन गर्न। HTTPS को फाइदा यो हो कि प्रसारणको बखत सामग्री ईन्क्रिप्ट गरिएको छ, त्यसैले अरूले अवरोधका कारण जानकारी चुहावटको बारेमा चिन्ता लिनु आवश्यक पर्दैन। SSL सक्षम गर्नु अघि, हामीले सर्वप्रथम एउटा प्रमाणपत्रको लागि आवेदन गर्नुपर्नेछ। हामीले प्रमाणपत्र प्राप्त गरेपछि SSL सेटि configurationहरू पूरा गर्न तलको कन्फिगरेसनमा सन्दर्भ गर्नुहोस्।

            <VirtualHost *:443>
    ServerAdmin www.test.com
    ServerName www.testl.com
    DocumentRoot  /var/www/test
    SSLEngine on
    SSLProtocol all -SSLv2 -SSLv3
    SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
    SSLHonorCipherOrder on
    SSLCertificateFile /etc/httpd/conf/cert/public.crt
    SSLCertificateKeyFile /etc/httpd/conf/cert/1533528967430.key
    SSLCertificateChainFile /etc/httpd/conf/cert/chain.crt
    AllowEncodedSlashes on
    <Directory "/var/www/test.com">
         Options FollowSymLinks
         AllowOverride All
         Order allow,deny
         Allow from all
    </Directory>
</VirtualHost>