Apache ကို CentOS7 တွင် Install လုပ်ပါ
တရားဝင်ကိုးကား
တရားဝင်ဝက်ဘ်ဆိုက် ထုတ်ကုန်မှတ်တမ်း HTTPS Gzipတပ်ဆင်ခြင်းလုပ်ဆောင်ပါ
yum -y install libmcrypt libmcrypt-devel mcrypt mhash
yum -y install httpd
configuration file ကိုပြုပြင်မွမ်းမံပါ
တပ်ဆင်ပြီးသည်နှင့် configuration file ကိုပြုပြင်ရန်လိုအပ်သည်။ တိကျတဲ့ပြုပြင်မွမ်းမံခြင်းအကြောင်းအရာများမှာများသောအားဖြင့် - ချိတ်ဆက်ထားသော IP နှင့် port၊ gzip compression transmission၊ တစ်ပြိုင်နက်တည်းဆက်သွယ်မှုများနှင့် SSL တို့ပါဝင်သည်။ သူတို့ကိုအောက်ပါအတိုင်းရှင်းပြပါရစေ။
ချိတ်ဆက်ထားသော IP နှင့် port ကိုပြုပြင်မွမ်းမံပါ
Apache ၏ပုံမှန် IP နှင့် port သည် 0.0.0.0:80 ဖြစ်သည်။ စောင့်ကြည့်နေသည့် IP နှင့် port ကိုကျွန်ုပ်တို့ပြုပြင်ရန်လိုအပ်ပါက၎င်းကိုတိုက်ရိုက်ပြုပြင်နိုင်သည်။ အကယ်၍ ကျွန်ုပ်တို့သည် ports ပေါင်းများစွာကိုချည်နှောင်ဖို့လိုတယ်ဆိုရင်သူတို့ကိုထပ်ထည့်လို့ရတယ်။ အောက်ပါဥပမာတွင် ports 80 and 443 ကိုကျွန်ုပ်တို့ချည်နှောင်ထားသည်။ Port 443 သည် HTTPS အတွက်မူရင်း port နံပါတ်ဖြစ်သည်။
Listen 80
Listen 443 https
gzip ထုတ်လွှင့်မှုကိုဖွင့်ပါ
ကျွန်ုပ်တို့၏ကွန်ပျူတာ၏ CPU စွမ်းဆောင်ရည်သည်အတော်အတန်မြင့်သောကြောင့်များသောအားဖြင့်ပိတ်ဆို့မှုများသည် network bandwidth တွင်ပေါ်လာလိမ့်မည်။ ထို့ကြောင့်ကျွန်ုပ်တို့သည် gzip compression transmission ကိုဖွင့်နိုင်သည်။ အဆင့် ၉ ချုံ့မှုရှိသည်။ ကျွန်ုပ်တို့၏ဆာဗာ၏စွမ်းဆောင်ရည်နှင့်အညီရွေးချယ်ရန်နှင့်အသင့်တော်ဆုံးအဆင့်ကိုရွေးချယ်နိုင်သည်။ အောက်ဖော်ပြပါဥပမာတွင်အဆင့် ၁ ကိုသတ်မှတ်ထားသည်။ compressed file type များမှာ - html, xml, php, css, js, လိုအပ်သည့်အတိုင်း compressed file type များကိုလည်းထည့်နိုင်သည်။
<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 ကို set up လုပ်ပါ
KeepAlive ၏လုပ်ဆောင်ချက်သည် client နှင့် server ကိုအချိန်ကာလတစ်ခုအထိချိတ်ဆက်ထားရန်ဖြစ်သည်။ ဝက်ဘ်စာမျက်နှာတစ်ခုဖွင့်သောအခါအဓိကကျသောအကြောင်းအရာများ၊ js, css နှင့်ရုပ်ပုံများကိုများသောအားဖြင့်ဖွင့်ရန်လိုအပ်သည်။ အရင်းအမြစ်တစ်ခုစီသည်သီးခြား HTTP တောင်းဆိုမှုတစ်ခုကိုစတင်ရန်လိုအပ်သောကြောင့်ကျွန်ုပ်တို့သည် KeepAlive ကို TCP / IP link တစ်ခုတည်ဆောက်ရန်တောင်းဆိုမှုတစ်ခုစီအတွက်လိုအပ်သောအချိန်ကိုလျှော့ချနိုင်သည်။ သို့သော် KeepAlive တွင်အားနည်းချက်များရှိပြီး၊ ၎င်းသည်ဆာဗာ၏ IO အရင်းအမြစ်များကိုသိမ်းပိုက်စေလိမ့်မည်။ ထို့ကြောင့်ကျွန်ုပ်တို့သည် KeepAlive ကိုအမှန်တကယ်အခြေအနေနှင့်အညီဖွင့်မလုပ်ကိုရွေးချယ်ရန်လိုအပ်သည်။ KeepAlive ကိုဖွင့်ထားပါက server IO ကိုအချိန်ကြာမြင့်စွာသိမ်းပိုက်ခြင်းမှရှောင်ကျဉ်ရန်၎င်းအတွက်ကျိုးကြောင်းဆီလျော်သောအချိန်ကုန်ကိုသတ်မှတ်ထားရန်လိုအပ်သည်။ အောက်ပါဥပမာတွင် KeepAlive ၏အဓိကချိန်ညှိချက်များအများအပြားပါဝင်သည်။
KeepAlive On
MaxKeepAliveRequests 400
KeepAliveTimeout 5
တစ်ပြိုင်နက်တည်း၏နံပါတ် Configure
တစ်ပြိုင်နက်တည်းအရေအတွက်၏ကျိုးကြောင်းဆီလျော်သောဖွဲ့စည်းမှုပုံစံသည်ဆာဗာ၏စွမ်းဆောင်ရည်ကိုများစွာတိုးတက်စေနိုင်သည်။ များသောအားဖြင့်ကျွန်ုပ်တို့၏ Apache သည် mpm_prefork mode တွင်အလုပ်လုပ်သည်။ အဓိကကျသော parameters များကိုကျိုးကြောင်းဆီလျော်စွာပြုပြင်ရန်လိုအပ်သည်။ ကျွန်ုပ်တို့အာရုံစိုက်ရန်လိုအပ်သည်မှာအမြင့်ဆုံးဆက်သွယ်မှုအရေအတွက်သည်အလွန်သေးငယ်မနေသင့်၊ သေးငယ်လွန်းခြင်းသည် concurrency မြင့်မားသောအခါအသုံးပြုသူတောင်းဆိုမှုများစွာကိုပယ်ချလိမ့်မည်။ ကျွနု်ပ်တို့သတ်မှတ်ထားသောကျိုးကြောင်းဆီလျော်သောတန်ဖိုးသည်ဆာဗာ၏ CPU နှင့်မှတ်ဉာဏ်ကိုရည်ညွှန်းသင့်သည်။ အရင်းအမြစ်များလုံလောက်နေ သ၍ ၎င်းကိုဖြစ်နိုင်သမျှအကြီးမားဆုံးသတ်မှတ်သင့်သည်၊ သို့သော်၎င်းကိုကြီးလွန်းပါကဆာဗာအရင်းအမြစ်များကုန်သွားပြီး Apache သည်လည်းပျက်သွားလိမ့်မည်။
<IfModule mpm_prefork_module>
StartServers 10
MinSpareServers 25
MaxSpareServers 50
ServerLimit 1500
MaxClients 1000
MaxRequestsPerChild 3000
</IfModule>
SSL ကိုပြုပြင်ပါ
ဝက်ဘ်ဆိုက်အများစုတွင် HTTPS လုံခြုံမှုရှိသောဆက်သွယ်မှုများကိုထောက်ပံ့ရန် SSL ကိုအသုံးပြုထားသည်။ HTTPS ၏အားသာချက်မှာထုတ်လွှင့်နေစဉ်အတွင်းပါဝင်သောအကြောင်းအရာများကိုစာဝှက်ထားခြင်းကြောင့်အခြားသူများ၏ကြားဖြတ်မှုကြောင့်သတင်းအချက်အလက်ယိုစိမ့်ခြင်းနှင့် ပတ်သက်၍ စိတ်ပူစရာမလိုပါ။ SSL ကိုမဖွင့်မီ၊ ကျွန်ုပ်တို့သည်လက်မှတ်ကိုပထမဆုံးလျှောက်ထားရမည်။ လက်မှတ်ကိုရရှိပြီးနောက်အောက်ပါဖွဲ့စည်းပုံကိုကိုးကားပါ။
<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>