12Sep
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]
|
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 nosaukumuChmod 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-spamassassinAtspē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/ xinetdLimit 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.includePievienojiet 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āsJū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 = 8MJū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 3306Lai atspējotu, pievienojiet savu /etc/ manu.cnf failu šādai rindiņai:
skip-networkingApache konfigurācija
Atveriet savu httpd.conf failu, bieži atrodams /etc/httpd/conf/ httpd.conf
Atrodiet līniju, kas izskatās šādi:
Timeout 120Mainiet to:
Timeout 20Tagad 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 4000PHP 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 installAtveriet 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.iniPievienojiet 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ēgtsTodo: 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/ failiTagad izveidojiet backup.sh skriptu dublējumkopiju direktorijā:
vi /backups/ backup.shPievienojiet 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.shTā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 -ePievienojiet crontab šādai rindiņai:
1 1 * * * /backups/ backup.shJū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 -ePievienojiet šā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 navPā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 2Pā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 restartPārbaudiet atvērtās ostas
Jūs varat izmantot šo komandu, lai redzētu, kuras ostas serveris klausās:
netstat -an |grep LISTENJums 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