Mājas lapa » » Virtuālā virtuālā tīmekļa servera apgriešana

    Virtuālā virtuālā tīmekļa servera apgriešana

    Kad jūs saņemat īpašu virtuālo serveri, lai palaistu jūsu vietni, ir labas iespējas, ka tā ir konfigurēta visiem, un nav pielāgota, lai maksimizētu veiktspēju vietnes darbināšanai.

    Saturs

    [paslēpt]

    • 1 Pārskats
    • 2 Linux konfigurācija
      • 2.1 Atspējot DNS
      • 2.2 Atspējojiet SpamAssassain
      • 2.3 Atspējot xinetd
      • 2.4 Ierobežot Plesk atmiņas lietošanu
      • 2.5 Plesk atspējošana vai izslēgšana (pēc izvēles)
    • 3 MySQL konfigurācija
      • 3.1 Iespējot vaicājumu kešatmiņu
      • 3.2 Atspējot TCP / IP
    • 4 Apache konfigurācija
    • 5 PHP konfigurācija
      • 5.1 Noņemt nevajadzīgos PHP moduļus
      • 5.2 PHP Opcode kešatmiņa
    • 6 Dublējumi
      • 6.1 Izveidot automatizēto dublējuma skriptu
      • 6.2 Sinhronizēt rezerves kopijas ārpus vietnes ar Rsync
    • 7 Drošība
      • 7.1. Atspējot saknes pieteikšanos SSH
      • 7.2 Atspējot SSH 1. versiju
      • 7.3 Restartējiet SSH serveri
      • 7.4. Pārbaudiet, vai nav atvērtu ostu
      • 7.5 Ugunsmūra iestatīšana
    • 8 Skatiet arī
    • 9 Atsauces

    Pārskats

    Ir vairākas problemātiskas jomas, kurās mēs vēlamies palielināt veiktspēju:

    • Linux konfigurācija
      Parasti darbojas pakalpojumi, kuriem nav jābūt, izšķērdēt atmiņu, ko varētu izmantot vairākiem savienojumiem.
    • 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 palielinātu 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 nekad tos neizmantosiet.
    • PHP konfigurācija
      Tāpat noklusējuma PHP konfigurācija ir uzpūsta, parasti ir uzstādīti nevajadzīgi papildu moduļi.
    • PHP Opcode kešatmiņa
      Tā vietā, lai ļautu PHP atkārtoti kompilēt skriptus katru reizi, opcode kešatmiņa glabā atmiņā esošos apkopotos skriptus milzīgā veiktspējas palielināšanā.
    • Dublējumi
      Iespējams, ir jāizveido daži automatizēti dublējumi, jo jūsu hostinga pakalpojumu sniedzējs to nedarīs.
    • Drošība
      Protams, pēc noklusējuma Linux ir pietiekami droša, taču parasti ir dažas acīmredzamas drošības problēmas, kuras var novērst ar dažiem ātriem iestatījumiem.

    Linux konfigurācija

    Ir diezgan daudz tweaks, ko varat izdarīt, kas nedaudz atšķirsies atkarībā no izmantotā servera. Šie tweaks ir paredzēti serverim, kurā darbojas CentOS, bet tiem vajadzētu strādāt lielākajā daļā DV serveru.

    Atspējot DNS

    Ja jūsu hostinga sniedzējs apstrādā jūsu domēna DNS (iespējams), tad DNS pakalpojumu var atspējot.

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

    Chmod komanda noņem skripta izpildīšanas atļauju, apturot to no palaišanas.

    Atspējot SpamAssassain

    Ja jūs neizmantojat e-pasta kontus savā serverī, jums nevajadzētu apgrūtināt pret surogātpasta novēršanas rīkus. (Jums vajadzētu arī 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

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

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

    Ierobežot Plesk atmiņas lietošanu

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

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

    Pievienot failam šādas rindas:

    MinSpareServers 1 MaxSpareServers 1 StartServers 1 MaxClients 5

    Ņemiet vērā, ka šī opcija darbojas, izmantojot MediaTemple DV serverus, bet nav pārbaudīta nevienā citā. (Skatīt atsauces)

    Atspējot vai izslēdziet Plesku (pēc izvēles)

    Ja Plesk izmantojat tikai vienu reizi gadā, tad ir ļoti maz iemesla, lai tas vispār paliktu. Ņemiet vērā, ka šis solis ir pilnīgi neobligāts un nedaudz uzlabots.

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

    /etc/init.d/psa pietura

    Varat to atspējot, startējot, palaižot šādu komandu:

    chmod 644 /etc/init.d/psa

    Ņemiet vērā, ka, ja to atspējojat, jūs nevarat to sākt manuāli, nemainot failu atļaujas (chmod u + x).

    MySQL konfigurācija

    Iespējot vaicājumu kešatmiņu

    Atveriet /etc/my.cnf failu un pievienojiet sekojošās rindas savā [mysqld] sadaļā:

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

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

    Atspējot TCP / IP

    Pārsteidzošs saimnieku skaits ļauj nokļūt MySQL uz TCP / IP pēc noklusējuma, kas nav jēgas tīmekļa vietnei. Varat noskaidrot, vai mysql klausās TCP / IP, izpildot šādu komandu:

    netstat -an | grep 3306

    Lai atspējotu, pievienojiet šādu rindu savam /etc/my.cnf failam:

    izlaist tīklu

    Apache konfigurācija

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

    Atrodiet šādu līniju:

    Timeout 120

    Un mainiet to uz šo:

    Timeout 20

    Tagad atrodiet sadaļu, kas ietver šī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ām, kas jāpatur prātā, izmainot serveri uz PHP platformas, ir tas, ka katrs apache pavediens ielādēs PHP atsevišķā vietā atmiņā. Tas nozīmē, ja neizmantots modulis PHP pievieno 256k atmiņas, 40 apache diegos izšķērdēt 10 MB atmiņas.

    Noņemt nevajadzīgos PHP moduļus

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

    Komentējiet visas slodzes moduļu līnijas ar šiem moduļiem:

    • odbc
    • snmp
    • pdo
    • odbc pdo
    • mysqli
    • ioncube-loader
    • Džons
    • imap
    • ldap
    • māsas

    Todo: pievienojiet šeit vairāk informācijas.

    PHP Opcode kešatmiņa

    Ir vairākas opcijas kodu kešatmiņas, kuras var izmantot, ieskaitot APC, eAccelerator un Xcache, pēdējā no tām ir mana personīgā izvēle stabilitātes dēļ.

    Lejupielādējiet xcache un iegūstiet to direktorijā un pēc tam palaidiet šādas komandas no xcache avota direktorijas:

    phpize ./configure --enable-xcache padara instalēšanu

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

    vi /etc/php.ini

    Pievienot 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 noregulētu 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, lai pielāgotu mainīgā 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ēgts xcache.readonly_protection = On xcache.mmap_path = "/ tmp / xcache" xcache.coredump_directory = "" xcache.cacher = Ieslēgts xcache.stat = Ieslēgts xcache.optimizer = Izslēgts

    Todo: Nepieciešams paplašināt šo bitu un atsauces uz xcache.

    Dublējumi

    Ir ļoti maz svarīgāka nekā jūsu vietnes automatizēto dublējumu veikšana. Iespējams, varēsiet saņemt momentuzņēmuma dublējumus no jūsu hostinga sniedzēja, kas arī ir ļoti noderīgi, bet es arī gribētu, lai būtu arī automatizēti dublējumi.

    Izveidot automatizēto rezerves skriptu

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

    mkdir -p / backups / files

    Tagad izveidojiet backup.sh skriptu backups direktorijā:

    vi /backups/backup.sh

    Pievienojiet failam šādu informāciju, nepieciešamības gadījumā pielāgojot ceļus un mysqldump paroli:

    #! / 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  \ t atrast / backups / files / db * -mtime +5 -exec rm  \ t

    Skripts vispirms izveidos datuma mainīgo, lai visi faili tiktu nosaukti vienādi vienam dublējumam, pēc tam izgāzt datubāzi, padara web failus tukšākus un tos gzips. Atrast komandas tiek izmantotas, lai noņemtu visus failus, kas vecāki par 5 dienām, jo ​​jūs nevēlaties, lai jūsu disks palaist no vietas.

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

    chmod u + x /backups/backup.sh

    Tālāk jums būs jāpiešķir, lai tas automātiski darbotos ar cron. Pārliecinieties, vai izmantojat kontu, kuram ir piekļuve rezerves kopiju direktorijai.

    crontab-e

    Pievienot crontab šādu rindu:

    1 1 * * * /backups/backup.sh

    Jūs varat pārbaudīt skriptu pirms laika, palaižot to, kad esat pieteicies lietotāja kontā. (Parasti dublējumkopijas izmantoju kā root)

    Sinhronizējiet rezerves kopijas ārpus vietnes ar Rsync

    Tagad, kad jums ir automatizēti jūsu servera dublējumi, varat tos sinhronizēt kaut kur citur, izmantojot rsync utilītu. Jūs vēlaties izlasīt šo rakstu par to, kā iestatīt ssh taustiņus automātiskai pieteikšanai: pievienojiet publisko SSH atslēgu attālajam serverim vienā komandā

    To var pārbaudīt, palaižot šo komandu linux vai Mac datorā citā vietā (man mājās ir linux serveris, kas to dara)

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

    Pirmajā reizē tas aizņems diezgan ilgu laiku, bet beigās jūsu vietējam datoram ir jābūt failu direktorijas kopijai / offsitebackups / direktorijā. (Pirms skripta palaišanas noteikti izveidojiet šo direktoriju)

    To varat ieplānot, pievienojot to crontab līnijai:

    crontab-e

    Pievienojiet šādu rindu, kas katru stundu darbosies rsync ar 45 minūšu atzīmi. Jūs pamanīsiet, ka mēs izmantojam pilnu ceļu uz rsync šeit.

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

    Jūs varat to ieplānot 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 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 varat izmantot su, lai pārslēgtos uz root. Tā ir ļoti slikta ideja, lai atļautu tiešu pieteikšanos saknei virs ssh.

    Atspējot saknes pieteikšanos SSH

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

    #PermitRootLogin jā

    Mainiet šo līniju, lai izskatītos šādi:

    PermitRootLogin nr

    Pārliecinieties, ka jums ir regulārs lietotāja konts, un, pirms veicat šīs izmaiņas, varat iesākties, citādi jūs varat bloķēt sevi.

    Atspējot SSH 1. versiju

    Nav nekāda iemesla izmantot neko citu kā tikai 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:

    2. protokola 2. protokols

    Pārliecinieties, ka 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ēt

    Pārbaudiet atvērtās ostas

    Varat izmantot šādu komandu, lai redzētu, kuri porti serveris klausās:

    netstat -an | grep LISTEN

    Jums tiešām nevajadzētu būt nekam citam, nevis 22, 80 un, iespējams, 8443 portiem.

    Iestatiet ugunsmūri

    Galvenais raksts: Izmantojot Iptables Linux

    Varat iestatīt iptables ugunsmūri, lai bloķētu vairāk savienojumu. Piemēram, es parasti bloķēju piekļuvi jebkurai citai ostai, izņemot no sava darba tīkla. Ja jums ir dinamiska IP adrese, vēlaties izvairīties no šīs opcijas.

    Ja jūs līdz šim esat izpildījis visas šīs rokasgrāmatas darbības, iespējams, ka nav nepieciešams pievienot ugunsmūri maisījumam, bet ir labi saprast jūsu iespējas.

    Skatīt arī

    • Izmantojot Iptables Linux

    Atsauces

    • DV servera optimizēšana (mediatemple.net)
    • XCache