12Sep

Pielāgotās virtuālā tīmekļa servera tērēšana

Kad jūs iegūstat īpašu virtuālo serveri, lai palaistu jūsu vietni, iespējams, ir labi, ka tā ir konfigurēta visiem, nevis pielāgota, lai maksimāli palielinātu veiktspēju, vadot vietni.

Saturs

[paslēpt]

  • 1 Pārskats
  • 2 Linux konfigurācija
    • 2.1 Atspējot DNS
    • 2.2 Atspējot SpamAssassain
    • 2.3 Atspējot xinetd
    • 2.4 Ierobežot Plesk atmiņas izmantošanu
    • 2.5 Atspējot vai izslēgt Plesk( pēc izvēles)
  • 3 MySQL konfigurācija
    • 3.1 Iespējot vaicājuma kešatmiņu
    • 3.2 Atspējot TCP / IP
  • 4 Apache konfigurācija
  • 5 PHP konfigurācija
    • 5.1 Noņemt nevajadzīgus PHP moduļus
    • 5.2 PHP opcode kešatmiņu
  • 6 Rezerves
    • 6.1 Izveidot automātisku dublēšanas skriptu
    • 6.2 Sync Backups off-site ar Rsync
  • 7 Drošība
    • 7.1 Atspējot saknesLogin Over SSH
    • 7.2 Atspējot SSH versiju 1
    • 7.3 Restartēt SSH serveri
    • 7.4 Pārbaudīt atvērtās ostas
    • 7.5 Uzstādīt ugunsmūri
  • 8 Skatīt arī
  • 9 Atsauces

Pārskats

Ir vairākas problēmu jomas,t, lai maksimāli palielinātu veiktspēju:

  • Linux konfigurācija
    Parasti darbojas pakalpojumi, kuriem nav nepieciešams, iztērējot atmiņu, ko varētu izmantot vairāk savienojumu.
  • MySQL konfigurācija
    Bieži vien noklusējuma iestatījumi ir balstīti uz nelielu serveri, mēs varam pievienot dažas galvenās izmaiņas, lai lielā mērā uzlabotu veiktspēju.
  • Apache konfigurācija
    Pēc noklusējuma lielākā daļa hostinga pakalpojumu sniedzēju instalē apache ar gandrīz katru instalēto moduli. Nav iemesla ielādēt moduļus, ja jūs tos nekad nelietosiet.
  • PHP konfigurācija
    Noklusētā PHP konfigurācija ir līdzīga uzpūsta, parasti ir uzstādīta nevajadzīgu papildu moduļu tona.
  • PHP opcode kešatmiņa
    Tā vietā, lai ļautu PHP pārkvalificēt skriptus katru reizi, opcode kešatmiņa atmiņā uzkrāto kompilēto skriptu kešatmiņā palielina milzīgu veiktspēju.
  • dublējumkopijas
    Ja iespējams, uzstādīsiet dažas automātiskās dublējumkopijas, jo jūsu hostinga pakalpojumu sniedzējs to nedara.
  • Security
    Protams, Linux pēc noklusējuma ir pietiekami droša, taču parasti ir daži acīmredzami drošības jautājumi, kurus varat novērst, izmantojot dažus ātrus iestatījumus.

Linux konfigurācija

Pastāv diezgan daudz tweaks jūs varat darīt, kas nedaudz atšķiras atkarībā no servera jūs izmantojat.Šie uzlabojumi ir paredzēti serverim, kurā darbojas CentOS, taču tiem vajadzētu strādāt lielākajā daļā DV serveru.

Atspējot DNS

Ja jūsu hostinga pakalpojumu sniedzējs apstrādā DNS jūsu domēnam( iespējams), tad jūs varat atspējot DNS pakalpojumu palaišanu.

atspējot dns /etc/init.d/ nosaukumu apstāties chmod 644 /etc/init.d/ ar nosaukumu

Chmod komanda noņem skripta izpildes atļauju, apstādinot to no darbības sākšanas.

Atspējot SpamAssassain

Ja jūs pats savā serverī neizmantojat e-pasta kontus, jums nevajadzētu apnikt spiegprogrammatūru.(Arī jums vajadzētu pārbaudīt Google Apps, daudz labāku e-pasta risinājumu)

/etc/init.d/ psa-spamassassin stop chmod 644 /etc/init.d/ psa-spamassassin

Atspējot xinetd

xinetd procesā ir vairāki citi procesi, no kuriem neviens nav noderīgs tipiskajam tīmekļa serverim.

/etc/init.d/ xinetd stop chmod 644 /etc/init.d/ xinetd

Limit Plesk atmiņas izmantošana

Ja izmantojat plesk paneli, varat piespiest to izmantot mazāk atmiņas, pievienojot opciju failu.

vi /usr/local/psa/admin/conf/ httpsd.custom.include

Pievienojiet failam šādas rindiņas:

MinSpareServers 1 MaxSpareServers 1 StartServers 1 MaxClients 5

Ņemiet vērā, ka šī opcija, domājams, darbojas MediaTemple DV serveros, bet tā nav pārbaudīta nevienā citā.(Skatīt Atsauces)

Atspējot vai izslēgt Plesk( pēc izvēles)

Ja jūs izmantojat Plesk tikai vienu reizi gadā, ir ļoti maz iemeslu, kāpēc tas paliek nemainīgs.Ņemiet vērā, ka šis solis ir pilnīgi neobligāts un nedaudz progresīvāks.

Izpildiet šādu komandu, lai izslēgtu plesk:

/etc/init.d/ psa apstāšanās

Jūs varat to izslēgt no palaišanas startēšanas laikā, palaižot šādu komandu:

chmod 644 /etc/init.d/ psa

Ņemiet vērā, ka, ja to atspējosiet, tad to nevarēsiet palaist manuāli bezmainīt failu atļaujas atpakaļ( chmod u + x).

MySQL konfigurācija

Iespējojiet vaicājumu kešatmiņu

Atveriet savu /etc/ my.cnf failu un pievienojiet sekojošām rindiņām jūsu [mysqld] sadaļā:

[mysqld] query-cache-type = 1 query-cache-size = 8M

Jūs varatJa vēlaties, pievienojiet vairāk vaicājuma kešatmiņas atmiņas, bet neizmantojiet pārāk daudz.

Atspējot TCP / IP

Pārsteidzošs skaits saimnieku, pēc noklusējuma, ļauj piekļūt MySQL, izmantojot TCP / IP, un tam nav jēgas mājas lapā.Jūs varat noskaidrot, vai mysql klausās TCP / IP, izpildot šādu komandu:

netstat -an |grep 3306

Lai atspējotu, pievienojiet savu /etc/ manu.cnf failu šādai rindiņai:

skip-networking

Apache konfigurācija

Atveriet savu httpd.conf failu, bieži atrodams /etc/httpd/conf/ httpd.conf

Atrodiet līniju, kas izskatās šādi:

Timeout 120

Mainiet to:

Timeout 20

Tagad atrodiet sadaļu, kurā ir šīs līnijas, un pielāgojiet to līdzīgam:

StartServers 2 MinSpareServers 2 MaxSpareServers 5 ServerLimit 100 MaxClients 100 MaxRequestsPerChild 4000

PHP konfigurācija

Viena no lietāmPaturiet prātā, kad tweaking serverī uz PHP platformas ir tas, ka katrs apache pavediens gatavojas ielādēt PHP atsevišķā atmiņas vietā.Tas nozīmē, ka, ja neizmantots modulis pievieno 256 kb atmiņas PHP, 40 apache tēmām jūs izšķērdat 10 MB atmiņas.

Noņemiet nevajadzīgus PHP moduļus

Jums būs jāatrod jūsu php.ini fails, kas parasti ir atrodams /etc/ php.ini( Ņemiet vērā, ka dažos sadalījumos būs arī /etc/php.d/ katalogs ar vairākiem. ini failiem, viens -. katrs modulis

Komentārs jebkādas loadmodule līnijas ar šiem moduļiem:

  • ODBC
  • SNMP
  • ACVN
  • ODBC ACVN
  • mysqli
  • ionCube ielādētājs
  • json
  • imap
  • LDAP
  • ncurses

Todo. Pievienojiet papildinformāciju šeit

PHP OPCODE Cache

Irir vairāki opcode kešatmiņas, ko varat izmantot, ieskaitot APC, eAccelerator un Xcache, pēdējais mans personīgais preferences dēļ stabilitātes.

Lejupielādējiet xcache un izvelciet to direktorijā un pēc tam izpildiet šādas komandas no xcache avotadirectory:

phpize. /configure --enable-xcache make make install

Atveriet jūsu php.ini failu unpievienot jaunu sadaļu xcache. Jums būs jāpielāgo ceļi, ja jūsu php moduļi tiek ielādēti kaut kur citur.

vi /etc/ php.ini

Pievienojiet failam šādu sadaļu:

[xcache-common] zend_extension = /usr/lib/php/modules/ xcache.so [xcache.admin] xcache.admin.user = "myusername" xcache.admin.pass = "putanmd5hashhere"[xcache];Mainiet xcache.size, lai pielāgotu opcode cache lielumu xcache.size = 16M xcache.shm_scheme = "mmap" xcache.count = 1 xcache.slots = 8K xcache.ttl = 0 xcache.gc_interval = 0;Mainīt xcache.var_size mainīt kešatmiņas lielumu xcache.var_size = 1M xcache.var_count = 1 xcache.var_slots = 8K xcache.var_ttl = 0 xcache.var_maxttl = 0 xcache.var_gc_interval = 300 xcache.test = Izslēgt xcache.readonly_protection =Par xcache.mmap_path = "/tmp/ xcache" xcache.coredump_directory = "" xcache.cacher = Uz xcache.stat = Uz xcache.optimizer = Izslēgts

Todo: Nepieciešams mazliet paplašināt un saiti uz xcache atsaucēs.

dublējumkopijas

Ir ļoti maz svarīgāka nekā automatizētas jūsu vietnes dublējumkopijas. Iespējams, jums būs iespēja saņemt mitināšanas pakalpojuma sniedzēja momentuzņēmumu dublējumkopijas, kas arī ir ļoti noderīgas, taču es gribētu arī saņemt automātiskas rezerves kopijas.

Izveidot automātisku dublēšanas skriptu

es parasti sāku, izveidojot / backups direktoriju, ar /backups/ failu direktoriju zem tā.Jūs varat pielāgot šos ceļus, ja vēlaties.

mkdir -p /backups/ faili

Tagad izveidojiet backup.sh skriptu dublējumkopiju direktorijā:

vi /backups/ backup.sh

Pievienojiet failam šādu informāciju, pielāgojot ceļus un mysqldump paroli, ja nepieciešams:

#!/bin/ sh THEDATE = 'date +% d% m% y% H% M` mysqldump -uadmin -pPASSWORD DATABASENAME & gt;/backups/files/ dbbackup $ THEDATE.bak tar -cf /backups/files/ sitebackup $ THEDATE.tar /var/www/vhosts/ my-website-path / httpdocs gzip /backups/files/ sitebackup $ THEDATE.tar atrast /backups/files/ vietni * -mtime +5 -exec rm() \;atrast /backups/files/ db * -mtime +5 -exec rm() \;

Skripts vispirms izveido datuma mainīgo, tāpēc visi faili tiks nosaukti par vienu un to pašu vienu dublējumu, pēc tam izgāž datubāzi, pārveido tīmekļa failus un gzips tos. Atrašanas komandas tiek izmantotas, lai noņemtu visus failus, kas ir vecāki par 5 dienām, jo ​​jūs nevēlaties, lai jūsu disks palaistos no vietas.

Veiciet izpildāmo skriptu, palaižot šādu komandu:

chmod u + x /backups/ backup.sh

Tālāk jums būs jāpiesaista tā, lai automātiski palaistu cron. Pārliecinieties, ka izmantojat kontu, kuram ir piekļuve rezerves kopiju direktorijai.

crontab -e

Pievienojiet crontab šādai rindiņai:

1 1 * * * /backups/ backup.sh

Jūs varat pārbaudīt skriptu pirms laika, palaižot to, pieslēdzoties lietotāja kontam.(Es parasti vadīt dublējumkopijas kā root)

Sync Backups Off-Site ar Rsync

Tagad, kad darbojas sava servera automātiskās dublējumkopijas, varat to sinhronizēt kaut kur citur, izmantojot rsync lietderību. Jūs vēlaties izlasīt šo rakstu par to, kā iestatīt ssh taustiņus, lai automātiski pieteiktos: pievienojiet publisko SSH atslēgu attālajam serverim vienā komandā

. Jūs varat to pārbaudīt, izpildot šo komandu uz linux vai Mac datora citā vietā( Iir Linux serveris mājās, kur es to izmantoju)

rsync -a [email protected]: /backups/files/ * /offsitebackups/

Tas aizņems ilgu laiku, lai palaistu pirmo reizi, bet beigās jūsu vietējam datoram vajadzētu būt kopijaino failu direktorijas direktorijā /offsitebackups/.(Pārliecinieties, ka izveidojat šo direktoriju pirms skripta palaišanas)

Jūs varat to ieplānot, pievienojot to crontab līnijai:

crontab -e

Pievienojiet šādu rindiņu, kas rsync darbosies katru stundu pēc 45 minūtes atzīmes. Jūs ievērosiet, ka mēs izmantojam pilnu ceļu uz rsync šeit.

45 * * * * /usr/bin/ rsync -a [email protected]: /backups/files/ * /offsitebackups/

Jūs varat ieplānot tā darbību citā laikā vai tikai vienu reizi dienā.Tas tiešām ir atkarīgs no jums.

Ņemiet vērā, ka ir daudz pakalpojumu, kas ļaus jums sinhronizēt ar ssh vai ftp. Jums nav jāizmanto rsync.

Drošība

Pirmā lieta, ko vēlaties darīt, ir pārliecināties, ka jums ir regulāra lietotāja konts, ko izmantot, izmantojot ssh, un pārliecinieties, ka jūs varat izmantot su, lai pārslēgtos uz root. Tā ir ļoti slikta ideja atļaut tiešu pieslēgšanos root ssh.

Atspējot root savienojumu, izmantojot SSH

Rediģējiet /etc/ssh/ sshd_config failu un meklējiet šādu rindu:

#PermitRootLogin jā

Mainiet šo rindiņu šādi:

PermitRootLogin nav

Pārliecinieties, ka jums ir regulāra lietotāja konta un var susaknes, pirms jūs veicat šīs izmaiņas, pretējā gadījumā jūs varētu bloķēt sevi ārā.

Atspējot SSH versiju 1

Nav tiešām nekāda iemesla izmantot neko citu kā SSH versiju 2, jo tā ir drošāka nekā iepriekšējās versijas. Rediģējiet /etc/ssh/ sshd_config failu un meklējiet šādu sadaļu:

#Protocol 2,1 Protokols 2

Pārliecinieties, vai izmantojat tikai 2. protokolu, kā parādīts attēlā.

Restartējiet SSH serveri

Tagad jums būs nepieciešams restartēt SSH serveri, lai tas stātos spēkā.

/etc/init.d/ sshd restart

Pārbaudiet atvērtās ostas

Jūs varat izmantot šo komandu, lai redzētu, kuras ostas serveris klausās:

netstat -an |grep LISTEN

Jums patiešām nevajadzētu klausīties kaut ko citu, izņemot porcijas 22, 80 un, iespējams, 8443 plesk.

Uzstādiet ugunsmūri

Galvenais raksts: Iptables lietošana uz Linux

Varat pēc izvēles uzstādīt iptables ugunsmūri, lai bloķētu vairāk savienojumu. Piemēram, es parasti bloķē piekļuvi citām ostām, kas nav no mana darba tīkla. Ja jums ir dinamiska IP adrese, jūs vēlaties izvairīties no šīs iespējas.

Ja jau līdz šim esat ievērojuši visus šajā rokasgrāmatā aprakstītos soļus, droši vien nav nepieciešams pievienot maisījumam ugunsmūri, taču ir labi saprast jūsu iespējas.

Skatiet arī

  • Iptables lietošana uz Linux

Atsauces

  • Jūsu DV servera( mediatemple.net) optimizācija
  • XCache