Knowledgebase Torolàlana tsotra hiarahana amin'ny serivisy Profitserver
Main Knowledgebase Mampihena ny enta-mavesatry ny mpizara

Mampihena ny enta-mavesatry ny mpizara


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 ny hanaovana diagnostika ankapobeny ho an'ny mpizara izahay . Raha tsy ampy izany, dia ilaina ny fanadihadiana amin'ny antsipiriany kokoa momba ny loharanon-karena . Ho fitaovana fanampiny, ny fikarohana ny logs an'ny mpizara Linux dia mety hanampy, satria eo 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 ampiasaina ny fametrahana meta tags "noindex" sy "nofollow" amin'ny pejy tsy mila ampidirina index. Ny vahaolana faharoa dia ny rakitra .htaccess , izay mila ampiana fidirana mifandraika amin'ny motera fikarohana manokana, ohatra, mba hanafenana 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 motera fikarohana hafa. Tsara homarihina fa ny fahafahan'ny .htaccess dia tsy voafetra amin'ny fanakanana ny fanondroana fotsiny ihany. Manoro hevitra anao izahay mba hahafantaranao bebe kokoa ireo endri-javatra lehibe ao amin'ny lahatsoratra.

Mampiasa Settings Caching

Mety hiteraka enta-mavesatra be koa ny tsy fahatomombanan'ny fametrahana "cache" ao amin'ny mpizara. Mba hanatsarana ity masontsivana ity dia mila atao ny fanovana mifanaraka amin'izany ao amin'ny rakitra fikirakirana na .htaccess . Raha ny amin'ny Apache, ny safidy farany no tsara kokoa, fa ho an'ny Nginx kosa dia ny voalohany.

Ao amin'ny mpizara Apache , mila sokafanao ny rakitra .htacess ary ampidiro ity kaody 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, ampiasao ny môdioly Expires amin'ny alàlan'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

Ao amin'ny mpizara Nginx , ampy ny manampy ity kaody manaraka ity ao amin'ny rakitra fikirakirana:

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 amin'ireto fikirana ireto dia tsy hojerena intsony ny toromarika Allow sy Deny .

Mampiasa Data Compression

Ny fampandehanana ny famatrarana angona amin'ny alalan'ny Gzip amin'ny mpizara tranonkala Apache sy Nginx dia manampy amin'ny fampihenana ny habetsaky ny angona alefa eo amin'ny mpizara sy ny mpanjifa, izay manatsara ny fahombiazana ary mampihena ny fotoana famoahana pejy web.

Mba hampandeha ny Gzip amin'ny Apache dia mila manetsika ny môdioly mod_deflate ianao :

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 ny Nginx no resahina dia ao amin'ny bloc http ao amin'ny rakitra fikirakirana no misy ny fikirakirana. Mila ampiana ity kaody 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 no ametrahana ny masontsivana famatrarana ho an'ny karazana rakitra sasany. Rehefa avy nanao fanovana tamin'ny iray amin'ireo mpizara tranonkala ianao 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.

Fampiasana CDN (Content Delivery Network) . Ny CDN dia afaka miasa ho mpanelanelana eo amin'ny mpizara tranonkalanao sy ny mpampiasa, mizara fifamoivoizana sy mitahiry votoaty mba hampihenana ny fiantraikan'ny fanafihana DDoS. Ny CDN koa dia afaka manana rafitra fiarovana DDoS tafiditra ao anatiny, anisan'izany ny fizarana entana sy ny fanivanana ny fifamoivoizana.

Fametrahana rindranasa fiarovana (firewalls) sy rafitra famantarana fidirana an-tsokosoko (IDS/IPS) . Azo amboarina mba hanivanana ny fifamoivoizana mifototra amin'ny fepetra isan-karazany ny rindranasa fiarovana (firewalls), toy ny adiresy IP sy ny seranana. Afaka mamantatra ny fitondran-tenan'ny fifamoivoizana tsy ara-dalàna ny IDS/IPS ary manakana ny fifandraisana mampiahiahy. Ireo fitaovana ireo dia mety hahomby amin'ny fanaraha-maso sy fanakanana ny fifamoivoizana mety hampidi-doza.

Fametrahana ny mpizara tranonkala Apache sy Nginx mba hanalefahana ny fiantraikan'ny fanafihana DDoS.

Ho vahaolana ho an'ny Apache, dia alefanay ny môdioly mod_evasive . Mba hanaovana izany, esory ny fanehoan-kevitra na ampio ity andalana manaraka ity ao amin'ny rakitra fikirakirana httpd.conf na apache2.conf :

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, ampandehanintsika ny môdioly mod_ratelimit :

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>

Mitovy amin'ny Apache ny fikirakirana ny Nginx . Ireto torolalana manaraka ireto no tokony hampiasaina ao amin'ny rakitra fikirakirana nginx.conf :

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

Azo tanterahina amin'ny fomba maro samihafa ny fanatsarana ny fangatahana angon-drakitra MySQL amin'ny mpizara tranonkala, ary ny iray amin'izy ireo dia ny fandrindrana araka ny tokony ho izy ny rakitra fandrindrana. Matetika, ity rakitra ity dia antsoina hoe my.cnf na my.ini ary hita ao amin'ny lahatahiry /etc/ na /etc/mysql/ . Mila sokafanao izy io ary ataovy 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:

  1. 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.
  2. 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.
  3. Fadio ny fampiasana SELECT*. Ireo tsanganana tena ilaina amin'ny fanontanianao ihany no ambarao fa tsy mifidy ny tsanganana rehetra ao anaty latabatra.
  4. 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.
  5. Use Inner JOIN raha azo atao, satria matetika no mahomby kokoa. Ataovy azo antoka koa fa ny tsanganana mifandraika amin'izany dia manana index.
  6. Use fetra hamerana ny isan'ny andalana miverina raha tsy maintsy mahazo valiny maromaro ihany ianao.
  7. 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, hojerentsika ny fomba hamaritana raha be loatra ny enta-mavesatry ny mpizara mailaka ary inona avy ireo dingana azo atao mba hanatsarana ny fiasany, anisan'izany ny fanamarinana ny filaharan'ny hafatra sy ny fanamboarana ny masontsivana mpizara. Atombohy amin'ny fanamarinana ny filaharan'ny hafatra. Afaka manampy amin'izany ny fitaovana mailq , mba hampandeha azy, ampidiro ao amin'ny terminal ny baiko mifanaraka amin'izany:

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:

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.

❮ Lahatsoratra teo aloha Certbot: Mametraka mari-pankasitrahana Let's Encrypt
Lahatsoratra manaraka ❯ Server Load Diagnostics

Anontanio anay momba ny VPS

Vonona hatrany izahay hamaly ny fanontanianao amin'ny fotoana rehetra na andro na alina.