San artaigil seo, nì sinn sgrùdadh air carson a tha barrachd luchd-frithealaidh a’ tachairt agus bruidhnidh sinn air diofar dhòighean air pròiseasan luchdan àrd a bharrachadh. Thèid aire shònraichte a thoirt do chòd optimization ann an Apache/Nginx agus MySQL, bruidhnidh sinn mu dheidhinn caching mar inneal taice, agus beachdaichidh sinn cuideachd air bagairtean bhon taobh a-muigh, leithid ionnsaighean DDOS, agus dòighean air an casg.
Carson a tha luchdachadh frithealaiche a ’tachairt
Mus tèid thu air adhart gu optimization frithealaiche, feumar sgrùdadh mionaideach a dhèanamh air an luchd gnàthach air goireasan. Tha seo a’ toirt a-steach tomhas luchd CPU, cleachdadh RAM, gnìomhachd lìonra, agus prìomh pharaimearan eile. Le bhith a’ tuigsinn daineamaigs agus luchdan stùc leigidh sin le bhith a’ comharrachadh bhotail agus a’ dèanamh an fheum as fheàrr de riarachadh ghoireasan, agus mar sin a’ meudachadh seasmhachd agus coileanadh bun-structair an fhrithealaiche.
Airson fuasgladh cheistean an-toiseach air luchd àrd an fhrithealaiche, tha sinn a’ moladh a Diagnosachd frithealaiche coitcheann. Mura h-eil seo gu leòr, dèan sgrùdadh nas mionaidiche mion-sgrùdadh air goireasan tha feum air. Mar inneal cuideachaidh, a 'sgrùdadh an Logaichean airson Linux Faodaidh frithealaiche a bhith cuideachail, oir is ann an seo a lorgar stòr na duilgheadas sa mhòr-chuid de chùisean.
A 'dèanamh an fheum as fheàrr de fhrithealaiche Apache / Nginx
Meudachadh air luchd an fhrithealaiche mar thoradh air clàr-amais
Faodaidh àrdachadh luchd mar thoradh air clàr-amais air an fhrithealaiche tachairt, mar eisimpleir, nuair a bhios einnseanan luirg a’ sganadh àireamh mhòr de dhuilleagan air an làrach agad. Faodaidh seo leantainn gu barrachd cleachdaidh de ghoireasan frithealaiche agus, mar thoradh air sin, slaod air coileanadh na làraich. Tha e gu math sìmplidh an adhbhar aithneachadh; feumaidh tu am faidhle fhosgladh aig:
/var/www/httpd-logs/sitename.access.log
Nuair a thèid an clàr-amais le einnseanan luirg, chì an neach-cleachdaidh inntrigidhean den t-seòrsa a leanas:
11.22.33.44 - - [Date and Time] "GET /your-page-path HTTP/1.1" 200 1234 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
Mar chiad fhuasgladh gus an luchd a lughdachadh, faodaidh tu suidheachadh meta tags a chleachdadh "noindex" agus "nofollow" air duilleagan nach fheum a bhith air an clàradh. Is e an dàrna fuasgladh .htaccess faidhle, far am feumar inntrigidhean a fhreagras air innealan rannsachaidh sònraichte a chur ris, mar eisimpleir, gus falach bho Yandex agus Google:
SetEnvIfNoCase User-Agent "^Yandex" search_bot
SetEnvIfNoCase User-Agent "^Googlebot" search_bot
Order Allow,Deny
Allow from all
Deny from env=search_bot
San aon dòigh, feumar deasachaidhean a dhèanamh airson innealan rannsachaidh eile. Bu chòir a thoirt fa-near nach eil comasan .htaccess cuingealaichte ri dìreach bacadh clàr-amais. Tha sinn a 'moladh a bhith a' fàs nas eòlaiche air na prìomh fheartan aige anns an artaigil.
A 'cleachdadh Roghainnean Caching
Faodaidh roghainnean tasgadan ceàrr air an fhrithealaiche leantainn gu luchdan àrd. Gus am paramadair seo a bharrachadh, feumar atharrachaidhean co-fhreagarrach a dhèanamh anns na faidhlichean rèiteachaidh no .htaccess. Ann an cùis Apache, tha an roghainn mu dheireadh nas fheàrr, airson Nginx - a 'chiad fhear.
Air an Apache frithealaiche, feumaidh tu am faidhle fhosgladh .htacess faidhle agus cuir a-steach an còd a leanas:
<FilesMatch ".(flv|gif|jpg|jpeg|png|ico|swf|js|css|pdf|doc|docx)$">
Header set Cache-Control "max-age=2592000"
</FilesMatch>
An uairsin, cuir an comas an A ’tighinn gu crìch modal a’ cleachdadh an àithne:
sudo a2enmod expires
Às deidh sin, ath-thòisich am frithealaiche lìn:
sudo service apache2 restart
Agus cuir an gnìomh am modal le bhith a’ sònrachadh:
ExpiresActive On
air Nginx frithealaiche, tha e gu leòr an còd a leanas a chur ris an fhaidhle rèiteachaidh:
location ~* .(jpg|jpeg|gif|png|ico|css|swf|flv|doc|docx)$ {
root /var/www/yoursite.com;
}
Agus dèan ath-luchdachadh seirbheis:
sudo service nginx restart
Thoir an aire, leis na roghainnean sin, gu bheil an Ceadaich agus Dhiùlt thèid stiùiridhean a sheachnadh.
A 'cleachdadh dàta teannachaidh
A’ comasachadh teannachadh dàta a’ cleachdadh Gzip air frithealaichean lìn Apache agus Nginx a’ cuideachadh le bhith a’ lughdachadh na tha de dhàta air a thar-chuir eadar an frithealaiche agus an neach-dèiligidh, a leasaicheas coileanadh agus a lughdaicheas ùine luchdachadh duilleag lìn.
Gus comas a thoirt Gzip on Apache, feumaidh tu am faidhle a chuir an gnìomh mod_deflate modal:
sudo a2enmod deflate
An uairsin, ath-thòisich am frithealaiche lìn:
sudo service apache2 restart
Agus mu dheireadh, cuir am bloca a leanas ris an fhaidhle rèiteachaidh no .htaccess:
<IfModule mod_deflate.c>
# Configure compression for specified file types
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript application/x-javascript application/json
# If the browser matches the specified pattern, apply compression only to text/html files
BrowserMatch ^Mozilla/4 gzip-only-text/html
# If the browser matches the specified version patterns of Mozilla 4.0.6, 4.0.7, 4.0.8, disable compression
BrowserMatch ^Mozilla/4\.0[678] no-gzip
# If the browser is MSIE (Internet Explorer), disable compression for all files except text/html
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
# If the request contains the specified pattern (extensions of image files), disable compression
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip
</IfModule>
Tha an rèiteachadh seo a’ comasachadh teannachadh airson seòrsachan sònraichte de fhaidhlichean agus ga dhì-chomasachadh airson ìomhaighean.
Ann an cùis Nginx, tha rèiteachadh a’ tachairt anns an http bloc an fhaidhle rèiteachaidh. Feumar an còd a leanas a chur ris:
gzip on;
gzip_disable "msie6";
# Adds the Vary header, indicating that the response may change depending on the Accept-Encoding header value
gzip_vary on;
# Enables compression for any proxy servers
gzip_proxied any;
# Sets the compression level. A value of 6 provides a good balance between compression efficiency and resource use
gzip_comp_level 6;
# Sets the size of the buffer for compressed data (16 buffers of 8 kilobytes each)
gzip_buffers 16 8k;
# Specifies that data compression should be used only for HTTP version 1.1 and higher
gzip_http_version 1.1;
# Sets the file types that can be compressed
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
Coltach ri Apache, an seo tha na crìochan teannachaidh airson seòrsachan sònraichte de fhaidhlichean air an suidheachadh. Às deidh dhut atharrachadh a dhèanamh air gin de na frithealaichean lìn, tha feum air ath-luchdachadh seirbheis:
sudo service apache2 restart
Or
sudo service nginx restart
DDOS ionnsaigh air an fhrithealaiche
Faodaidh eallach àrd frithealaiche tachairt mar thoradh air ionnsaigh DDoS. Faodar comharrachadh làthaireachd ionnsaigh DDoS a dhèanamh le bhith a’ cumail sùil air àrdachadh obann ann an trafaic, iarrtasan neo-àbhaisteach, agus coileanadh frithealaiche a’ tuiteam. Faodaidh ath-sgrùdadh logaichean airson ath-iarrtasan bho aon sheòladh IP no sganadh puirt cuideachd ionnsaigh DDoS a dh’ fhaodadh a nochdadh. Tha mòran cheumannan dìon ann, ach cha bhruidhinn sinn ach air na bunaitean.
A’ cleachdadh CDN (Lìonra Lìbhrigeadh Susbaint). Faodaidh CDN a bhith na eadar-mheadhanair eadar an t-seirbheisiche lìn agad agus luchd-cleachdaidh, a’ cuairteachadh trafaic agus a’ tasgadh susbaint gus buaidh ionnsaigh DDoS a lughdachadh. Faodaidh uidheamachdan dìon DDoS a bhith aig CDNn cuideachd, a’ gabhail a-steach cuairteachadh luchdan agus sìoladh trafaic.
A’ rèiteachadh ballachan-teine agus siostaman lorg sàrachaidh (IDS/IPS). Faodar ballachan teine a rèiteachadh gus trafaic a shìoladh a rèir diofar shlatan-tomhais, leithid seòlaidhean IP agus puirt. Faodaidh IDS/IPS giùlan trafaic neo-àbhaisteach a lorg agus ceanglaichean amharasach a bhacadh. Faodaidh na h-innealan sin a bhith èifeachdach ann a bhith a’ lorg agus a’ bacadh trafaic a dh’ fhaodadh a bhith droch-rùnach.
A’ rèiteachadh frithealaichean lìn Apache agus Nginx gus buaidh ionnsaighean DDoS a lasachadh.
Mar fhuasgladh airson Apache, bidh sinn a’ comasachadh an mod_ seachnaidh modal. Gus seo a dhèanamh, thoir beachd no cuir ris an loidhne a leanas anns an httpd.conf or apache2.conf faidhle rèiteachaidh:
LoadModule evasive20_module modules/mod_evasive.so
Anns an aon fhaidhle, feumaidh tu bloc roghainnean a chur ris:
<IfModule mod_evasive20.c>
# Hash table size for storing request information
DOSHashTableSize 3097
# Number of requests to one page before activating protection
DOSPageCount 2
DOSPageInterval 1
# Number of requests to all pages before activating protection
DOSSiteCount 50
DOSSiteInterval 1
# Blocking period in seconds for IP addresses
DOSBlockingPeriod 10
</IfModule>
San aon dòigh, bidh sinn a’ cur an gnìomh an mod_limit reata modal:
LoadModule ratelimit_module modules/mod_ratelimit.so
Agus cuir ris an rèiteachadh:
<IfModule mod_ratelimit.c>
# Setting the output filter for rate limiting (Rate Limit)
SetOutputFilter RATE_LIMIT
# Beginning of the settings block for the location "/login"
<Location "/login">
# Setting the environment variable rate-limit with a value of 1
SetEnv rate-limit 1
# Ending of the settings block for the location "/login"
</Location>
</IfModule>
An rèiteachadh airson Nginx coltach ris ApacheS an Iar- Anns a nginx.conf faidhle rèiteachaidh, feumar na stiùiridhean a leanas a chleachdadh:
http {
...
# Defining a zone for connection limits
limit_conn_zone $binary_remote_addr zone=addr:10m;
# Defining a zone for request limits
limit_req_zone $binary_remote_addr zone=req_zone:10m rate=1r/s;
server {
...
# Configuring connection limits
limit_conn addr 10;
# Configuring request limits
limit_req zone=req_zone burst=5;
...
}
}
Às deidh atharrachaidhean a dhèanamh air gach seirbheis, feumaidh iad a bhith air an ath-luchdachadh:
sudo systemctl restart apache2
No:
sudo systemctl restart nginx
Chan eil na h-eisimpleirean sin a’ toirt seachad ach rèiteachadh bunaiteach, a ghabhas atharrachadh a bharrachd a rèir riatanasan sònraichte agus nàdar ionnsaighean.
A’ dèanamh an fheum as fheàrr de Cheistean MySQL
Faodar ceistean stòr-dàta MySQL a bharrachadh air frithealaiche lìn a choileanadh ann an diofar dhòighean, agus is e aon dhiubh an rèiteachadh ceart den fhaidhle rèiteachaidh. Mar as trice, tha am faidhle seo air ainmeachadh mo.cnf or mo.ini agus tha e suidhichte anns an / etc / or /etc/mysql/ eòlaire. Feumaidh tu fhosgladh agus na h-atharrachaidhean a leanas a dhèanamh:
[mysqld]
# Location of the file for recording slow queries. Be sure to replace it with your path
log-slow-queries = /var/log/mariadb/slow_queries.log
# Threshold time for considering slow queries (in seconds)
long_query_time = 5
# Enabling recording of queries that do not use indexes
log-queries-not-using-indexes = 1
# Disabling query caching
query_cache_size = 0
query_cache_type = 0
query_cache_limit = 1M
# Size of temporary tables
tmp_table_size = 16M
max_heap_table_size = 16M
# Size of the thread cache
thread_cache_size = 16
# Disabling name resolving
skip-name-resolve = 1
# Size of the InnoDB buffer pool. Set to 50-70% of available RAM
innodb_buffer_pool_size = 800M
# Size of the InnoDB log file
innodb_log_file_size = 200M
Beachdaichidh sinn cuideachd air molaidhean a bharrachd a dh'fhaodas eadar-obrachadh le stòr-dàta an fhrithealaiche a dhèanamh nas fhasa:
- Cleachd na MÌNEACHADH òrdugh ro iarrtas SQL gus mion-sgrùdadh a dhèanamh air a choileanadh. Leigidh seo leat plana cur gu bàs fhaighinn airson a’ cheist agus faighinn a-mach dè na clàran-amais a thathas a’ cleachdadh, dè na clàran a thèid a sganadh, msaa.
- Bidh clàran-amais a’ luathachadh sgrùdadh dàta, agus mar sin faodaidh clàran-amais a chaidh an dealbhadh gu ceart adhartas mòr a dhèanamh air coileanadh ceist. Thoir aire do cholbhan a thathas gu tric a’ cleachdadh ann an FAR or Co-aoinn cumhaichean.
- Seachain a chleachdadh SELECT *. Sònraich dìreach na colbhan sin a tha dha-rìribh riatanach airson do cheist, an àite a bhith a’ taghadh a h-uile colbh ann an clàr.
- Seachain a bhith a’ cleachdadh gnìomhan ann an FAR cumhachan. A’ cleachdadh ghnìomhan (leithid LAOIDH, URNAIGH, CLÌ, DEAS) ann FAR faodaidh suidheachaidhean clàran-amais a dhèanamh gun fheum. Feuch ri an cleachdadh dìreach ann an suidheachaidhean a sheachnadh.
- cleachdadh INNER JOIN far a bheil sin comasach, oir tha e mar as trice nas èifeachdaiche. Cuideachd, dèan cinnteach gu bheil clàran-amais aig na colbhan co-fhreagarrach airson a dhol còmhla.
- cleachdadh chuingealachadh gus an àireamh de shreathan air ais a chuingealachadh mura feum thu ach àireamh sònraichte de thoraidhean fhaighinn.
- Beachdaich air toraidhean ceisteachain, gu h-àraidh ma dh'atharraicheas iad gu tric, gus an luchd-frithealaidh a lùghdachadh.
Bidh am frithealaiche puist a’ cruthachadh luchd àrd air an fhrithealaiche
Anns an earrainn seo, nì sinn sgrùdadh air mar a cho-dhùineas tu gu bheil an t-seirbheisiche puist a’ fulang le luchd àrd agus dè na ceumannan a ghabhas a ghabhail gus an obair aige a bharrachadh, a’ gabhail a-steach a bhith a’ sgrùdadh ciudha na teachdaireachd agus a’ rèiteachadh paramadairean an fhrithealaiche. Tòisich le bhith a’ sgrùdadh ciudha na teachdaireachd. Tha an mailq faodaidh goireas cuideachadh le seo, gus a ghnìomhachadh, cuir a-steach an àithne fhreagarrach anns a’ chrìoch:
mailq
Seallaidh seo liosta de theachdaireachdan sa chiudha, ma tha gin ann. Thèid gach teachdaireachd a thaisbeanadh leis an aithnichear sònraichte aige agus fiosrachadh mun inbhe cur. Faodar toradh coltach ris fhaighinn le bhith ag ath-sgrùdadh logaichean teachdaiche puist.
Anns a 'mhòr-chuid de chùisean, bidh luchdan àrd a' tachairt ma thachras co-rèiteachadh an fhrithealaiche nuair a thòisicheas e a 'cur spama. Ach, ma tha an rianadair cinnteach às deidh dha a bhith cinnteach nach deach ionnsaigh a thoirt air an fhrithealaiche bhon taobh a-muigh agus nach eil luchd-cleachdaidh a’ dearmad spama, tha an t-àm ann gluasad air adhart gu bhith a’ dèanamh an fheum as fheàrr den fhrithealaiche puist. Seo na ceumannan a chuidicheas:
- Dèan cinnteach gu bheil clàran DNS an àrainn agad air an rèiteachadh gu ceart, a’ gabhail a-steach SPF, DKIM, agus DMARC clàran gus lìbhrigeadh puist a leasachadh agus dìon an aghaidh spama. Gheibhear an rèiteachadh ceart de pharamadairean san artaigil air diagnosachd am frithealaiche puist.
- Thoir sùil air roghainnean lìonra, a’ gabhail a-steach rèiteachadh balla-teine agus riaghailtean slighe, gus blocaichean a sheachnadh agus lìbhrigeadh puist a luathachadh.
- Dèan rèiteachadh air crìochan ciudha teachdaireachd a rèir luchd an fhrithealaiche. Dh’ fhaodadh seo a bhith a’ toirt a-steach a bhith a’ suidheachadh a’ mheud ciudha as àirde agus amannan-ama.
- Beachdaich air na fuasglaidhean air an do bhruidhinn sinn san artaigil seo na bu thràithe. Bho àm gu àm an stòr-dàta frithealaiche puist as fheàrr gus coileanadh a leasachadh, cleachd dòighean caching gus sgrùdadh agus giullachd dàta a luathachadh, leithid ceistean DNS.
- Ma tha am frithealaiche puist fhathast a’ tighinn tarsainn air luchdan mòra gu cunbhalach, smaoinich air roghainnean sgèileadh, leithid a bhith a’ cleachdadh cruinneachadh de luchd-frithealaidh puist no fuasglaidhean sgòthan.
Co-dhùnadh
Bidh àrdachadh luchd-frithealaidh a’ toirt buaidh dhìreach air astar luchdachadh làrach-lìn, aig a’ cheann thall a’ toirt buaidh air eòlas luchd-cleachdaidh agus cliù ann an einnseanan sgrùdaidh. Mar sin, tha prìomh àite aig a bhith a’ riaghladh an luchd seo gu h-èifeachdach ann a bhith a’ dèanamh cinnteach à gnìomhachd leantainneach a’ ghoireas agus ag àrdachadh ruigsinneachd do luchd-tadhail.