Gosod Apache ar CentOS7
Cyfeirnod swyddogol
Gwefan swyddogol Dogfennaeth Cynnyrch HTTPS GzipPerfformio gosodiad
yum -y install libmcrypt libmcrypt-devel mcrypt mhash
yum -y install httpd
Addaswch y ffeil ffurfweddu
Ar ôl i'r gosodiad gael ei gwblhau, mae angen i ni wneud rhai addasiadau i'r ffeil ffurfweddu. Mae'r cynnwys addasu penodol fel arfer yn cynnwys: IP a phorthladd wedi'i rwymo, trosglwyddiad cywasgu gzip, nifer y cysylltiadau cydamserol, ac SSL. Gadewch i ni eu hesbonio fesul un isod.
Addaswch yr IP wedi'i rwymo a'r porthladd
Yr IP a'r porthladd diofyn y mae Apache yn gwrando arno yw 0.0.0.0:80. Os oes angen i ni addasu'r IP a'r porthladd sy'n cael ei fonitro, gallwn ei addasu'n uniongyrchol. Os oes angen i ni rwymo porthladdoedd lluosog, gallwn eu hychwanegu hefyd. Yn yr enghraifft ganlynol, rydym yn rhwymo porthladdoedd 80 a 443. Port 443 yw'r rhif porthladd diofyn ar gyfer HTTPS.
Listen 80
Listen 443 https
Trosglwyddo gzip agored
Oherwydd bod perfformiad CPU ein cyfrifiadur yn gymharol uchel, fel arfer bydd y dagfa yn ymddangos yn lled band y rhwydwaith, felly gallwn ddewis troi trosglwyddiad cywasgu gzip ymlaen. Mae 9 lefel o gywasgu. Gallwn ddewis yn ôl perfformiad ein gweinydd a dod o hyd i'r lefel fwyaf addas. Yn yr enghraifft isod, fe wnaethom ei gosod i lefel 1. Y mathau o ffeiliau cywasgedig yw: html, xml, php, css, js, gallwn hefyd ychwanegu mathau o ffeiliau cywasgedig yn ôl yr angen.
<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>
Sefydlu KeepAlive
Swyddogaeth KeepAlive yw cadw'r cleient a'r gweinydd yn gysylltiedig am gyfnod o amser. Pan fyddwn yn agor tudalen we, fel rheol mae angen i ni lwytho'r prif gynnwys, js, CSS, a lluniau. Gan fod angen i bob adnodd gychwyn cais HTTP ar wahân, rydym yn galluogi KeepAlive i leihau'r amser sy'n ofynnol ar gyfer pob cais i sefydlu cyswllt TCP / IP. Ond mae anfanteision i KeepAlive hefyd. Bydd yn achosi meddiannu adnoddau IO y gweinydd, felly mae angen i ni ddewis a ddylid galluogi KeepAlive yn ôl y sefyllfa wirioneddol. Os yw KeepAlive wedi'i alluogi, mae angen i ni hefyd osod terfyn amser rhesymol iddo er mwyn osgoi meddiannu IO gweinyddwr am amser hir. Mae'r enghraifft ganlynol yn cynnwys sawl prif osodiad o KeepAlive.
KeepAlive On
MaxKeepAliveRequests 400
KeepAliveTimeout 5
Ffurfweddu nifer y cydamserol
Gall cyfluniad rhesymol o nifer y cydamserol wella trwybwn y gweinydd yn fawr. Fel arfer mae ein Apache yn gweithio yn y modd mpm_prefork. Mae angen i ni ffurfweddu sawl paramedr allweddol yn rhesymol. Yr hyn y mae'n rhaid i ni roi sylw iddo yw na ddylai'r nifer uchaf o gysylltiadau fod yn rhy fach, bydd rhy fach yn achosi gwrthod nifer fawr o geisiadau gan ddefnyddwyr pan fydd y cydsyniad yn uchel. Dylai'r gwerth rhesymol a osodwn gyfeirio at CPU a chof y gweinydd. Cyn belled â bod yr adnoddau'n ddigonol, dylem ei osod mor fawr â phosibl, ond os ydym yn ei osod yn rhy fawr, bydd adnoddau'r gweinydd yn cael eu disbyddu a bydd Apache hefyd yn chwalu.
<IfModule mpm_prefork_module>
StartServers 10
MinSpareServers 25
MaxSpareServers 50
ServerLimit 1500
MaxClients 1000
MaxRequestsPerChild 3000
</IfModule>
Ffurfweddu SSL
Bellach mae gan y mwyafrif o wefannau SSL wedi'u galluogi i gefnogi cysylltiadau diogel HTTPS. Mantais HTTPS yw bod y cynnwys yn ystod y trosglwyddiad yn cael ei amgryptio, felly nid oes angen poeni am ollyngiadau gwybodaeth oherwydd bod eraill yn rhyng-gipio. Cyn galluogi SSL, mae'n rhaid i ni wneud cais am dystysgrif yn gyntaf. Ar ôl i ni gael y dystysgrif, cyfeiriwch at y ffurfweddiad canlynol i gwblhau'r gosodiadau 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>