CentOS7 पर अपाचे स्थापित करें
आधिकारिक संदर्भ
सरकारी वेबसाइट उत्पाद प्रलेखन HTTPS Gzipस्थापना करें
yum -y install libmcrypt libmcrypt-devel mcrypt mhash
yum -y install httpd
कॉन्फ़िगरेशन फ़ाइल को संशोधित करें
स्थापना पूर्ण होने के बाद, हमें कॉन्फ़िगरेशन फ़ाइल में कुछ संशोधन करने की आवश्यकता है। विशिष्ट संशोधन सामग्री में आम तौर पर शामिल हैं: बाध्य आईपी और पोर्ट, गज़िप संपीड़न संचरण, समवर्ती कनेक्शन की संख्या, और एसएसएल। नीचे हम एक-एक करके समझाते हैं।
बाध्य IP और पोर्ट को संशोधित करें
डिफ़ॉल्ट IP और पोर्ट जिसे Apache सुनता है 0.0.0.0:80 है। यदि हमें मॉनिटर किए गए आईपी और पोर्ट को संशोधित करने की आवश्यकता है, तो हम इसे सीधे संशोधित कर सकते हैं। यदि हमें कई बंदरगाहों को बांधने की आवश्यकता है, तो हम उन्हें भी जोड़ सकते हैं। निम्नलिखित उदाहरण में, हम बंदरगाहों को 80 और 443 से बांधते हैं। पोर्ट 443 HTTPS के लिए डिफ़ॉल्ट पोर्ट नंबर है।
Listen 80
Listen 443 https
ओपन गज़िप ट्रांसमिशन
क्योंकि हमारे कंप्यूटर का सीपीयू प्रदर्शन अपेक्षाकृत अधिक है, आमतौर पर नेटवर्क बैंडविड्थ में अड़चन दिखाई देगी, इसलिए हम गज़िप संपीड़न ट्रांसमिशन को चालू करना चुन सकते हैं। संपीड़न के 9 स्तर हैं हम अपने सर्वर के प्रदर्शन के अनुसार चुन सकते हैं और सबसे उपयुक्त स्तर का पता लगा सकते हैं। नीचे दिए गए उदाहरण में, हम इसे स्तर 1 पर सेट करते हैं। संपीड़ित फ़ाइल प्रकार हैं: html, xml, php, css, js, हम आवश्यकतानुसार संपीड़ित फ़ाइल प्रकार भी जोड़ सकते हैं।
<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 को सक्षम करते हैं। लेकिन KeepAlive में कमियां भी हैं। इससे सर्वर के IO संसाधनों पर कब्जा हो जाएगा, इसलिए हमें यह चुनने की आवश्यकता है कि क्या KeepAlive को वास्तविक स्थिति के अनुसार सक्षम किया जाए। यदि KeepAlive सक्षम है, तो हमें लंबे समय तक सर्वर IO के कब्जे से बचने के लिए इसके लिए एक उचित समय निर्धारित करने की भी आवश्यकता है। निम्न उदाहरण में KeepAlive की कई मुख्य सेटिंग्स हैं।
KeepAlive On
MaxKeepAliveRequests 400
KeepAliveTimeout 5
समवर्ती की संख्या कॉन्फ़िगर करें
समवर्ती की संख्या का एक उचित कॉन्फ़िगरेशन सर्वर के थ्रूपुट में काफी सुधार कर सकता है। आमतौर पर हमारी Apache mpm_prefork मोड में काम करती है। हमें कई प्रमुख मापदंडों को यथोचित रूप से कॉन्फ़िगर करने की आवश्यकता है। हमें इस पर ध्यान देने की आवश्यकता है कि कनेक्शन की अधिकतम संख्या बहुत कम नहीं होनी चाहिए, बहुत छोटी होने पर बड़ी संख्या में उपयोगकर्ता अनुरोधों को अस्वीकार कर दिया जाएगा जब संक्षिप्तता अधिक होगी। हमारे द्वारा निर्धारित उचित मूल्य सर्वर के सीपीयू और मेमोरी को संदर्भित करना चाहिए। जब तक संसाधन पर्याप्त हैं, हमें इसे यथासंभव बड़ा सेट करना चाहिए, लेकिन यदि हम इसे बहुत बड़ा सेट करते हैं, तो सर्वर संसाधन समाप्त हो जाएगा और अपाचे भी दुर्घटनाग्रस्त हो जाएगा।
<IfModule mpm_prefork_module>
StartServers 10
MinSpareServers 25
MaxSpareServers 50
ServerLimit 1500
MaxClients 1000
MaxRequestsPerChild 3000
</IfModule>
SSL कॉन्फ़िगर करें
अधिकांश वेबसाइटों में अब HTTPS सुरक्षित कनेक्शन का समर्थन करने के लिए SSL सक्षम है। HTTPS का लाभ यह है कि ट्रांसमिशन के दौरान सामग्री एन्क्रिप्ट की जाती है, इसलिए दूसरों के बीच अवरोधन के कारण सूचना रिसाव के बारे में चिंता करने की कोई आवश्यकता नहीं है। एसएसएल को सक्षम करने से पहले, हमें पहले एक प्रमाण पत्र के लिए आवेदन करना होगा। प्रमाणपत्र प्राप्त करने के बाद, एसएसएल सेटिंग्स को पूरा करने के लिए निम्न कॉन्फ़िगरेशन का संदर्भ लें।
<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>