If-Koubou

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

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

Kad jūsu vietnei ir pieejams īpašs virtuālais serveris, iespējams, ka tā ir konfigurēta visiem un nav pielāgota, lai maksimāli uzlabotu vietnes darbību.

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ņa
  • 6 rezerves kopijas
    • 6.1. Izveidot automātisku dublēšanas skriptu
    • 6.2 Sync Backups Off-Site ar Rsync
  • 7 Drošība
    • 7.1 Atspējot saknes pieslēgšanu SSH
    • 7.2 Atspējot SSH versiju 1
    • 7.3 Restartējiet 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

Pastāv vairākas problēmu jomas, kurās mēs vēlamies palielināt veiktspēju:

  • Linux konfigurācija
    Parasti darbojas pakalpojumi, kuriem nav nepieciešams, iztērējot atmiņu, ko varētu izmantot, lai izveidotu 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ējuma PHP konfigurācija ir līdzīga uzpūsta, parasti ir uzstādīta nevajadzīgu papildus moduļu tona.
  • PHP opcode kešatmiņa
    Tā vietā, lai ļautu PHP katru reizi rekompilēt skriptus, opcode kešatmiņa atmiņā uzkrāto kompilēto skriptu kešatmiņā, kas palielina veiktspēju.
  • Rezerves kopijas
    Iespējams, uzstādiet dažus automātiskus dublējumus, jo jūsu hostinga pakalpojumu sniedzējs to nedara.
  • Drošība
    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

Jūs varat veikt vairākus tweaks, kas nedaudz mainīsies atkarībā no izmantotā servera. Š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ā jūsu domēnam DNS (iespējams), tad jūs varat atspējot DNS pakalpojuma darbību.

atspējot dns /etc/init.d/name stop chmod 644 /etc/init.d/named

Komandas chmod noņem skripta izpildes atļauju, apstādinot to startējot.

Atspējot SpamAssassain

Ja pašā serverī nelietojat e-pasta kontus, jums nevajadzētu apnikt darboties pretpasākumu rīkus. (Arī jums vajadzētu pārbaudīt Google Apps, daudz labāku e-pasta risinājumu)

/etc/init.d/psa-spamassassost 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.

Lai izslēgtu plesk, izpildiet šo komandu:

/etc/init.d/psa pietura

Varat atspējot tā palaišanu pie startēšanas, palaižot šādu komandu:

chmod 644 /etc/init.d/psa

Ņemiet vērā, ka, ja to atspējosit, to nevarēsit palaist manuāli, nemainot failu atļauju atpakaļ (chmod u + x).

MySQL konfigurācija

Iespējot Vaicājuma kešatmiņu

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

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

Ja vēlaties, varat pievienot vairāk atmiņas vaicājuma kešam, bet neizmantojiet pārāk daudz.

Atspējot TCP / IP

Pārsteidzošs skaits saimniekdatoru nodrošina noklusējuma piekļuvi MySQL TCP / IP, un tam nav jēgas tīmekļa vietnei. Jūs varat noskaidrot, vai mysql klausās TCP / IP, izpildot šādu komandu:

netstat -an | grep 3306

Lai atspējotu, pievienojiet failu šādā rindā: /etc/my.cnf:

izlaist tīklu

Apache konfigurācija

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

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

Laiks 120

Un mainiet to:

Taimauts 20

Tagad atrodiet sadaļu, kurā ir šīs rindiņas, 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ām, kas jāpatur prātā, veidojot PHP servera serveri, ir tas, ka katrs apache pavediens gatavojas ielādēt PHP atsevišķā atmiņas vietā. Tas nozīmē, ka, ja neizmantots modulis pievieno 256 kp atmiņām PHP, 40 apache tēmām jūs iztērējat 10 MB atmiņas.

Noņemt nevajadzīgus PHP moduļus

Jums vajadzēs atrast jūsu php.ini failu, kas parasti atrodams vietnē /etc/php.ini (Ņemiet vērā, ka dažos izplatījumos būs /etc/php.d/ direktorija ar vairākiem .ini failiem, viens katram modulim.

Ievietojiet komentārus par visām slodzes moduļu līnijām ar šiem moduļiem:

  • odbc
  • snmp
  • pdo
  • odbc pdo
  • mysqli
  • ioncube-loader
  • json
  • imap
  • ldap
  • ncurses

Todo: šeit pievienojiet papildu informāciju.

PHP opcode kešatmiņa

Ir vairāki opcode kešatmiņas, ko varat izmantot, tostarp APC, eAccelerator un Xcache, un pēdējais no tiem ir mana personīgā vēlme stabilitātes dēļ.

Lejupielādējiet xcache un ekstrakts to direktorijā un pēc tam izpildiet šādas komandas no xcache sāknēs:

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

Atveriet savu php.ini failu un pievienojiet jaunu sadaļu xcache. Jums būs jāpielāgo ceļi, ja jūsu php moduļi ir 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 saites uz xcache atsauces.

Rezerves kopijas

Ir pavisam nedaudz svarīgāk nekā automatizētas jūsu vietnes dublējumkopijas. Iespējams, varēsit iegūt mitināšanas pakalpojuma sniedzēja momentuzņēmumu dublējumkopijas, kas arī ir ļoti noderīgas, taču es gribētu arī automātiskās backups.

Izveidot automātisku dublēšanas skriptu

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

mkdir-p / dublējumkopijas / faili

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

vi /backups/backup.sh

Pievienojiet failam tālāk norādīto informāciju, pielāgojot ceļus un mysqldump paroli, ja nepieciešams:

#! / bin / sh THEDATE = "datums +% d% m% y% H% M" mysqldump -uadmin -pPASSWORD DATABASENAME> /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 / site * -mtime +5 -exec rm () \; atrast / dublējumkopijas / faili / db * -mtime +5 -exec rm () \;

Skripts vispirms izveidos datuma mainīgo, tādēļ visi faili tiks nosaukti par vienu un to pašu vienu dublējumkopiju, 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 ​​nevēlaties, lai jūsu disks palaistos no vietas.

Veiciet izpildāmo skriptu, izpildot šādu komandu:

chmod u + x /backups/backup.sh

Nākamais 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 nākamo rindiņu:

1 1 * * * /backups/backup.sh

Varat testa skriptu pirms laika, palaižot to, kad pieteicies lietotāja kontā. (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 utilītu rsync. Jūs vēlaties izlasīt šo rakstu par to, kā iestatīt ssh taustiņus automātiskai pieteikšanās: pievienojiet publisko SSH atslēgu attālajam serverim vienā komandā

To varat pārbaudīt, palaižot šo komandu linux vai Mac datorā citā vietā (man ir Linux serveris mājās, kurā es to palaistu)

rsync -a [email protected]: / dublējumkopijas / faili / * / offsitebackups /

Tas aizņems ilgu laiku, lai palaistu pirmo reizi, bet beigās jūsu vietējā datorā ir jābūt faila direktoriju kopijai / offsitebackups / direktorijā. (Pirms skripta palaišanas noteikti izveidojiet šo direktoriju)

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

crontab-e

Pievienojiet nākamo rindiņu, kas rsync darbosies ik pēc 45 minūtēm. 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 varētu ieplānot to darboties 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ārs 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 piekļuvi SSH

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

#PermitRootLogin jā

Mainiet šo līniju šādi:

PermitRootLogin nē

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

Atspējot SSH versiju 1

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

#Protocol 2,1 2. protokols

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 neko, izņemot porcijas 22, 80 un, iespējams, 8443 par plesk.

Uzstādiet ugunsmūri

Galvenais raksts:Iptables izmantošana 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 jūs līdz šim jau esat izpildījis visus šajā rokasgrāmatā norādītos soļus, droši vien nav nepieciešams arī pievienot maisījumam ugunsmūri, taču ir labi saprast jūsu iespējas.

Skatīt arī

  • Iptables izmantošana Linux

Atsauces

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