Ato amin'ity lahatsoratra ity dia hojerentsika ny antony mahatonga ny enta-mavesatry ny mpizara ary hiresaka momba ny fomba isan-karazany hanatsarana ny fizotran'ny entana be dia be. Hojerena manokana ny fanatsarana ny kaody ao amin'ny Apache/Nginx sy MySQL, hiresaka momba ny caching ho fitaovana fanampiny isika, ary handinika ihany koa ny mety ho fandrahonana ivelany, toy ny fanafihana DDOS, sy ny fomba hisorohana azy ireo.
Nahoana no mitranga ny Load Server
Alohan'ny hirosoana amin'ny fanatsarana ny server dia ilaina ny manao fanadihadiana lalina momba ny enta-mavesatry ny loharano ankehitriny. Tafiditra ao anatin'izany ny fandrefesana ny enta-mavesatry ny CPU, ny fampiasana RAM, ny hetsika amin'ny tambajotra, ary ny masontsivana lehibe hafa. Ny fahatakarana ny dinamika sy ny enta-mavesatra dia mamela ny famantarana ny bottlenecks sy ny fanatsarana ny famatsiana loharanon-karena, ka mampitombo ny fahamarinan-toerana sy ny fahombiazan'ny fotodrafitrasa mpizara.
Ho an'ny famahana olana voalohany amin'ny enta-mavesatry ny mpizara dia manoro hevitra izahay ny hanao a diagnostics server general. Raha toa ka tsy ampy izany, ny antsipiriany bebe kokoa fanadihadiana ny loharanon-karena ilaina. Amin'ny maha-fitaovana fanampiny, mikaroka ny logs an'ny Linux Afaka manampy ny mpizara, satria eto no ahitana ny loharanon'ny olana amin'ny ankamaroan'ny tranga.
Optimizing Apache / Nginx Server
Nitombo ny Load Server Noho ny Indexing
Ny fitomboan'ny entana noho ny fanondroana amin'ny mpizara dia mety hitranga, ohatra, rehefa mikaroka pejy marobe ao amin'ny tranokalanao ny milina fikarohana. Izany dia mety hitarika amin'ny fampiasana bebe kokoa ny loharanon'ny mpizara ary, vokatr'izany, mampiadana ny fahombiazan'ny tranokala. Ny famantarana ny antony dia tsotra; mila manokatra ny rakitra hita ao amin'ny:
/var/www/httpd-logs/sitename.access.log
Rehefa tondroina amin'ny milina fikarohana, ny mpampiasa dia hahita ny endri-javatra manaraka ireto:
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)"
Ho vahaolana voalohany hampihenana ny enta-mavesatra, azonao atao ny mampiasa ny fametrahana meta tags "noindex" sy "nofollow" amin'ny pejy tsy mila index. Ny vahaolana faharoa dia ny .htaccess fisie, izay tsy maintsy ampiana ny fidirana mifandraika amin'ny milina fikarohana manokana, ohatra, hanafina amin'ny Yandex sy Google:
SetEnvIfNoCase User-Agent "^Yandex" search_bot
SetEnvIfNoCase User-Agent "^Googlebot" search_bot
Order Allow,Deny
Allow from all
Deny from env=search_bot
Toy izany koa, mila atao ny fanitsiana ho an'ny milina fikarohana hafa. Marihina fa ny fahafahan'ny .htaccess dia tsy voafetra amin'ny fanakanana ny indexing fotsiny. Manoro hevitra izahay hahafantatra bebe kokoa ny endri-javatra fototra ao amin'ny lahatsoratra.
Mampiasa Settings Caching
Mety hitarika enta-mavesatra be koa ny firafitry ny caching diso amin'ny mpizara. Mba hanamafisana an'io mari-pamantarana io, dia mila atao ny fanovana mifanaraka amin'izany ao amin'ny rakitra fikirakirana na .htaccess. Raha ny Apache, ny safidy farany dia tsara kokoa, ho an'ny Nginx - ny teo aloha.
Amin'ny an Apache mpizara, mila manokatra ny .htacess rakitra ary ampidiro ity code manaraka ity:
<FilesMatch ".(flv|gif|jpg|jpeg|png|ico|swf|js|css|pdf|doc|docx)$">
Header set Cache-Control "max-age=2592000"
</FilesMatch>
Avy eo, avelao ny lany daty Module mampiasa ny baiko:
sudo a2enmod expires
Aorian'izay, avereno indray ny mpizara tranonkala:
sudo service apache2 restart
Ary ampio ny module amin'ny famaritana:
ExpiresActive On
Eo amin'ny Nginx mpizara, ampy ny manampy ity kaody manaraka ity amin'ny rakitra fanamafisana:
location ~* .(jpg|jpeg|gif|png|ico|css|swf|flv|doc|docx)$ {
root /var/www/yoursite.com;
}
Ary manaova famerenan'ny serivisy:
sudo service nginx restart
Mariho fa miaraka amin'ireo fanovana ireo, ny Avelao sy Deny ny toromarika dia hofoanana.
Mampiasa Data Compression
Fampidirana ny angona mampiasa gzip amin'ny mpizara tranonkala Apache sy Nginx dia manampy amin'ny fampihenana ny habetsaky ny angon-drakitra ampitaina eo amin'ny mpizara sy ny mpanjifa, izay manatsara ny fampisehoana ary mampihena ny fotoana fandefasana pejy.
Hahafahana gzip on Apache, mila manetsika ny mod_deflate Module:
sudo a2enmod deflate
Avy eo, avereno indray ny mpizara tranonkala:
sudo service apache2 restart
Ary farany, ampio ity sakana manaraka ity amin'ny fichier configuration na .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>
Ity fanamafisam-peo ity dia mamela ny fanerena ho an'ny karazana rakitra sasany ary manakana izany ho an'ny sary.
Raha toa ka Nginx, ny configuration dia miseho ao amin'ny Sokajy sakana amin'ny rakitra fikirakirana. Mila ampiana ity code manaraka ity:
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;
Mitovy amin'ny Apache, eto dia napetraka ny masontsivana fanerena ho an'ny karazana rakitra sasany. Aorian'ny fanovana ny iray amin'ireo mpizara tranonkala dia ilaina ny famerenana ny serivisy:
sudo service apache2 restart
Or
sudo service nginx restart
Fanafihana DDOS amin'ny mpizara
Ny enta-mavesatry ny mpizara avo dia mety hitranga vokatry ny fanafihana DDoS. Ny famantarana ny fisian'ny fanafihana DDoS dia azo atao amin'ny alàlan'ny fanaraha-maso ny fitomboan'ny fifamoivoizana tampoka, ny fangatahana tsy ara-dalàna ary ny fihenan'ny asan'ny mpizara. Ny famerenana ny logs ho an'ny fangatahana miverimberina avy amin'ny adiresy IP iray na ny scan port dia mety manondro ny mety ho fanafihana DDoS. Betsaka ny fepetra fiarovana, fa ny fototra ihany no hodinihintsika.
Mampiasa CDN (Tambajotra fanaterana votoaty). Ny CDN dia afaka miasa ho mpanelanelana eo amin'ny mpizara tranonkalanao sy ny mpampiasa anao, mizara ny fifamoivoizana sy ny atiny cache mba hanalefahana ny fiantraikan'ny fanafihana DDoS. Ny CDN dia afaka manana rafitra fiarovana DDoS naorina, anisan'izany ny fizarana entana sy ny sivana fifamoivoizana.
Fandrindrana ny firewall sy ny rafitra fitsikilovana (IDS/IPS). Ny firewall dia azo amboarina hanivana ny fifamoivoizana mifototra amin'ny fepetra isan-karazany, toy ny adiresy IP sy seranan-tsambo. Ny IDS/IPS dia afaka mamantatra ny fitondran-tenan'ny fifamoivoizana tsy ara-dalàna ary manakana ny fifandraisana mampiahiahy. Ireo fitaovana ireo dia mety hahomby amin'ny fanaraha-maso sy fanakanana ny fifamoivoizana mety hanimba.
Fametrahana ny mpizara tranonkala Apache sy Nginx mba hanalefahana ny fiantraikan'ny fanafihana DDoS.
Amin'ny maha vahaolana ho an'ny Apache dia avelanay ny mod_evasive module. Mba hanaovana izany, esory na ampio ity andalana manaraka ity ao amin'ny httpd.conf or apache2.conf file configuration:
LoadModule evasive20_module modules/mod_evasive.so
Ao amin'io rakitra io ihany, mila ampiana sakana fikandrana ianao:
<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>
Toy izany koa, activé ny mod_ratelimit Module:
LoadModule ratelimit_module modules/mod_ratelimit.so
Ary ampio ny configuration:
<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>
Ny configuration for Nginx dia mitovy amin'ny Apache. Ao amin'ny nginx.conf Ny fisie configuration dia mila mampiasa ireto torolàlana manaraka ireto:
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;
...
}
}
Aorian'ny fanovana ny serivisy tsirairay dia mila averina alefa izy ireo:
sudo systemctl restart apache2
Or:
sudo systemctl restart nginx
Ireo ohatra ireo dia tsy manome afa-tsy config fototra, izay azo ampifanarahana bebe kokoa arakaraka ny fepetra manokana sy ny toetoetran'ny fanafihana.
Optimizing MySQL Fanontaniana
Ny fanatsarana ny angona angon-drakitra MySQL amin'ny mpizara tranonkala dia azo tanterahina amin'ny fomba isan-karazany, ary ny iray amin'izy ireo dia ny fanitsiana araka ny tokony ho izy ny rakitra fikirakirana. Amin'ny ankapobeny, ity rakitra ity dia nomena anarana my.cnf or my.ini ary hita ao amin'ny / sns / or /etc/mysql/ lahatahiry. Mila manokatra izany ianao ary manao ireto fanovana manaraka ireto:
[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
Andeha hojerentsika ihany koa ny soso-kevitra fanampiny izay afaka manamora ny fifandraisana amin'ny angon-drakitra mpizara:
- Ampiasao ny HAZAVAO baiko alohan'ny fangatahana SQL hamakafaka ny fanatanterahana azy. Izany dia ahafahanao mahazo drafitry ny famonoana ho an'ny fangatahana ary mamaritra hoe iza amin'ireo index no ampiasaina, izay tabilao no scanned, sns.
- Manafaingana ny fikarohana angona ny fanondroana, noho izany dia afaka manatsara ny fahombiazan'ny fangatahana ny fanondroana. Tandremo tsara ireo tsanganana izay ampiasaina matetika ao AIZA or JOIN ny toe-piainana.
- Fadio ny fampiasana SELECT*. Ireo tsanganana tena ilaina amin'ny fanontanianao ihany no ambarao fa tsy mifidy ny tsanganana rehetra ao anaty latabatra.
- Fadio ny mampiasa functions in AIZA fepetra. Mampiasa asa (toy ny MAORA, ambony, ANKA, TSARA) ao AIZA Ny toe-javatra dia mety hahatonga ny fanondroana ho tsy misy ilana azy. Miezaha tsy hampiasa azy ireo mivantana amin'ny fepetra.
- Use Inner JOIN raha azo atao, satria matetika no mahomby kokoa. Ataovy azo antoka koa fa ny tsanganana mifandraika amin'izany dia manana index.
- Use fetra hamerana ny isan'ny andalana miverina raha tsy maintsy mahazo valiny maromaro ihany ianao.
- Diniho ny valin'ny fangatahana cache, indrindra raha mahalana no miova, mba hampihenana ny enta-mavesatry ny mpizara.
Mamorona entana be amin'ny mpizara ny Mpizara Mail
Ato amin'ity fizarana ity dia hojerentsika ny fomba hamaritana fa miaina enta-mavesatra be ny mpizara mailaka ary inona no dingana azo atao mba hanamafisana ny asany, ao anatin'izany ny fanamarinana ny filaharana hafatra sy ny fanamafisana ny mari-pamantarana mpizara. Atombohy amin'ny fanamarinana ny filaharana hafatra. ny mailq Ny utility dia afaka manampy amin'izany, mba hampavitrika azy, ampidiro ny baiko mifanaraka amin'izany ao amin'ny terminal:
mailq
Ity dia hampiseho lisitry ny hafatra ao amin'ny filaharana, raha misy. Ny hafatra tsirairay dia haseho miaraka amin'ny famantarana tokana sy fampahalalana momba ny sata fandefasana. Ny vokatra mitovy amin'izany dia azo atao amin'ny fijerena ny diarin'ny mpanjifa mailaka.
Amin'ny ankabeazan'ny toe-javatra, misy entana be dia be raha sendra marimaritra iraisana ny mpizara rehefa manomboka mandefa spam. Na izany aza, raha matoky ny mpitantana fa tsy voatafika avy any ivelany ny mpizara ary tsy manao tsirambina ny spam ny mpampiasa, dia izao no fotoana hirosoana amin'ny fanatsarana ny mpizara mailaka. Ireto misy dingana hanampy:
- Ataovy azo antoka fa voarindra tsara ny rakitra DNS an'ny fonenanao, anisan'izany SPF, DKIM, ary DMARC firaketana mba hanatsarana ny fandefasana mailaka sy hiarovana amin'ny spam. Hita ao amin'ny lahatsoratra amin'ny diagnostika mpizara mailaka.
- Jereo ny firafitry ny tambajotra, ao anatin'izany ny fanefena ny firewall sy ny fitsipiky ny lalana, mba hisorohana ny sakana sy hanafaingana ny fandefasana mailaka.
- Ampifanaraho amin'ny enta-mavesatry ny mpizara ny masontsivana filaharana hafatra. Mety ho tafiditra ao anatin'izany ny fametrahana ny haben'ny filaharana ambony indrindra sy ny fe-potoana farany.
- Diniho ny vahaolana noresahintsika tamin’ity lahatsoratra ity. Amboary tsindraindray ny angon-drakitra mpizara mailaka hanatsarana ny fampandehanana, ampiasao ny mekanika caching hanafaingana ny fikarohana sy ny fanodinana angona, toy ny fangatahana DNS.
- Raha mbola tojo entana be dia be ny mpizara mailaka, dia diniho ny safidy fanamafisam-peo, toy ny fampiasana andiana mpizara mailaka na vahaolana rahona.
Famaranana
Miantraika mivantana amin'ny hafainganan'ny fampidinana vohikala ny fiakaran'ny enta-n'ny mpizara, ary misy fiantraikany amin'ny traikefan'ny mpampiasa sy ny lazany amin'ny milina fikarohana. Noho izany, mitana anjara toerana lehibe amin'ny fiantohana ny fampandehanana ny loharanon-karena sy ny fampitomboana ny fahafahan'ny mpitsidika azy ny fitantanana amim-pahombiazana ity entana ity.