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

Satura rādītājs:

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

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

Video: Pielāgotās virtuālā tīmekļa servera tērēšana
Video: How to Import MBOX to Thunderbird - YouTube 2024, Novembris
Anonim

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.

disable dns /etc/init.d/named 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-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.

Lai izslēgtu plesk, izpildiet šo komandu:

/etc/init.d/psa stop

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:

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

Un mainiet to:

Timeout 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 make 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]; Change xcache.size to tune the size of the opcode cache xcache.size = 16M xcache.shm_scheme = 'mmap' xcache.count = 1 xcache.slots = 8K xcache.ttl = 0 xcache.gc_interval = 0; Change xcache.var_size to adjust the size of variable cache 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 = Off xcache.readonly_protection = On xcache.mmap_path = '/tmp/xcache' xcache.coredump_directory = '' xcache.cacher = On xcache.stat = On xcache.optimizer = Off

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 /backups/files

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=`date +%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 find /backups/files/site* -mtime +5 -exec rm {}; find /backups/files/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]:/backups/files/* /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 yes

Mainiet šo līniju šādi:

PermitRootLogin no

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 Protocol 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 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

Ieteicams: