12Sep
Kui saate oma veebisaidi käitamiseks spetsiaalset virtuaalserverit, on tõenäoliselt hea, et see on kõigile seadistatud ja mitte kohandatud, et maksimeerida veebisaidi töökorras olekut.
Sisukord[peida]
|
Ülevaade
Seal on palju probleeme,t maksimaalse jõudluse saavutamiseks:
- Linuxi konfiguratsioon
Tavaliselt töötavad teenused, mis ei pruugi olla, raiskab mälu, mida saaks kasutada rohkemate ühenduste jaoks. - MySQL-i konfiguratsioon
Sageli on vaikeseaded põhinevad väikesel serveril, saame lisada mõned võtmetegurid, et jõudlust oluliselt suurendada. - Apache konfiguratsioon
Vaikimisi pakuvad paljud hostipakkujad apachei peaaegu iga installitud mooduli jaoks. Moduleid ei ole vaja laadida, kui te neid kunagi ei kasuta. - PHP konfiguratsioon
Vaikimisi PHP-konfiguratsioon on sarnaselt paisunud, on tavaliselt paigaldatud mittevajalikud lisamoodulid. - PHP opcode vahemälu
Selle asemel, et lubada PHP skripte uuesti kompileerida iga kord, opcode vahemälu vahemällu kompileeritud skripte mällu suureks jõudluse suurendamiseks. - varukoopiad
Kui peaksite installima mõne automaatse varundamise, sest teie hostipakkuja ei kavatse seda teie jaoks teha. - Turvalisus
Kindlasti on Linux vaikimisi turvaline, kuid seal on tavaliselt mõningaid selgeid turvaküsimusi, mida saate parandada mõne kiire seadistusega.
Linuxi konfiguratsioon
Võimalik on teha üsna palju tweaks, mis sõltuvad kasutatavast serverist veidi. Need modifikatsioonid on mõeldud serverile, kus töötab CentOS, kuid nad peaksid töötama enamuse DV-serverite jaoks.
Keela DNS
Kui teie hostipakkuja tegeleb teie domeeni DNS-iga( tõenäoliselt), saate DNS-teenuse keelata.
keelata dns /etc/init.d/ nimega stop chmod 644 /etc/init.d/ nimegaChmod käsk eemaldab skripti käivitamisloa, peatades selle käivitumisel käivitumisel.
Keela SpamAssassain
Kui te ei kasuta oma serveris oma e-posti kontosid, ei tohiks te vajate rämpsposti tööriistu.(Samuti peaksite kontrollima Google Appsi, palju paremat e-posti lahendust)
/etc/init.d/ psa-spamassassin stop chmod 644 /etc/init.d/ psa-spamassassinKeela xinetd
xinetdi protsessis on mitu muud protsessi, millest ükski ei ole tüüpilise veebiserveri jaoks kasulik.
/etc/init.d/ xinetd stop chmod 644 /etc/init.d/ xinetdPiiri Pleski mälu kasutus
Kui kasutate pleski paneeli, saate selle sundida vähemate mälu kasutamist, lisades valikufaili.
vi /usr/local/psa/admin/conf/ httpsd.custom.includeLisage failile järgmised read:
MinSpareServers 1 MaxSpareServers 1 StartServers 1 MaxClients 5Pidage meeles, et see valik töötab MediaTemple DV serverites, kuid seda ei ole kontrollitud ükski teine.(Vt viiteid)
Plesk välja lülitamine või välja lülitamine( valikuline)
Kui kasutate Pleski ainult üks kord aastas, siis on sellel üldse vähe põhjust. Pange tähele, et see samm on täiesti valikuline ja veidi arenenud.
Käivitage pleski välja lülitamiseks järgmine käsk:
/etc/init.d/ psa peatadaVõite selle käivitamisel käitusel keelata, käivitades järgmise käsu:
chmod 644 /etc/init.d/ psaPidage meeles, et kui see keelatakse, siis ei saa te käivitada käsitsi ilmafailide õiguste muutmine tagasi( chmod u + x).
MySQL konfiguratsioon
Luba päringu vahemälu
Avage oma /etc/ my.cnf fail ja lisage oma [mysqld] jaotisse järgmised read:
[mysqld] query-cache-type = 1 query-cache-size = 8MVõitekui soovite, lisage päringu vahemälule rohkem mälu, kuid ära kasuta liiga palju.
Keela TCP / IP
Üllatav hulk peremeesid lubavad vaikimisi juurdepääsu TCP / IP-le MySQL-ile, mis ei ole veebisaidi jaoks mõttekas. Võite välja mõelda, kas mysql kasutab TCP / IP-d, käivitades järgmise käsu:
netstat -an |grep 3306Selle keelamiseks lisage oma /etc/ my.cnf-faili järgmine rida:
skip-networkingApache konfiguratsioon
Avage oma httpd.conf-fail, mida tihti leitakse /etc/httpd/conf/-st httpd.conf
Leidke rida, mis näeb välja selline:
Timeout 120Ja muutke see järgmiselt:
Timeout 20Nüüd leiate sektsiooni, mis sisaldab neid jooni ja kohandab midagi sarnast:
StartServers 2 MinSpareServers 2 MaxSpareServers 5 ServerLimit 100 MaxClients 100 MaxRequestsPerChild 4000PHP konfiguratsioon
Üks asi, midaPea meeles, kui PHP-platvormi serveri tutistamine on see, et iga apache-teemaline fail laadib PHP-i mälus eraldi asukohta. See tähendab, et kui kasutamata moodul lisab PHP-le 256-kordset mälu, siis on 40 vahemälu vahemikus 40 MB mälu raiskad.
Eemalda soovimatud PHP-moodulid
Peate leidma oma php.ini-faili, mis tavaliselt leitakse /etc/ php.ini( Pange tähele, et mõnel distributsioonil on kataloog /etc/php.d/, millel on mitu. ini-faili, millest üks oniga moodul.
Kommenteerige välja kõik moodulite koormooduli read:
- odbc
- snmp
- pdo
- odbc pood
- mysqli
- ioncube-laadija
- json
- imap
- ldap
- ncurses
Todo: Lisateabe saamiseks siin.
PHP Opcode Cache
Sealon mitmeid opcode vahemällu, mida saate kasutada, sealhulgas APC, eAccelerator ja Xcache, millest viimane on minu isiklike eelistuste tõttu stabiilsuse tõttu.
Laadige xcache alla ja ekstraheerige see kataloogi ja käivitage järgnevad käsklused xcache allikastkataloog:
phpize. /configure --enable-xcache make make installAvage oma php.ini fail jalisage xcache jaoks uus jaotis. Peate kohandama radu, kui teie php-moodulid laaditakse kuskilt mujale.
vi /etc/ php.iniLisage failile järgmine jaotis:
[xcache-common] zend_extension = /usr/lib/php/modules/ xcache.so [xcache.admin] xcache.admin.user = "myusername" xcache.admin.pass = "putanmd5hashhere"[xcache];Muuda xcache.size opcode vahemiku suuruse häälestamiseks xcache.size = 16M xcache.shm_scheme = "mmap" xcache.count = 1 xcache.slots = 8K xcache.ttl = 0 xcache.gc_interval = 0;Muuda xcache.var_size muutuva vahemiku suuruse muutmiseks 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 = Väljas xcache.readonly_protection =Sisse xcache.mmap_path = "/tmp/ xcache" xcache.coredump_directory = "" xcache.cacher = Sisse xcache.stat = Sisse xcache.optimizer = VäljasTodo: Vajadus sellel pisut laiendada ja viidata viitele xcache.
varukoopiad
Veebilehe automatiseeritud varukoopiate tegemine on väga vähe tähtsam. Võimalik, et saate oma virtuaalserverite pakkujalt saada hetktõmmis varukoopiaid, mis on samuti väga kasulikud, kuid eelistan ka automaatset varundamist.
Loo automaatne varukoopia skript
alustan tavaliselt kataloogi / varukoopiate loomisega selle all /backups/-failide kataloogi all. Kui soovite, saate neid radu kohandada.
mkdir -p /backups/ failidNüüd looge varukoopia kataloogi varukoopia. sh skript:
vi /backups/ backup.shLisage failile järgmine fail, kohandades tee ja mysqldump parooli vastavalt vajadusele:
#!/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 leida /backups/files/ sait * -mtime +5 -exec rm() \;leida /backups/files/ db * -mtime +5 -exec rm() \;Skript loob esmakordselt kuupäeva muutuja, nii et kõik failid nimetatakse ühe varukoopia jaoks samaks, seejärel laaditakse andmebaas välja, tühistatakse veebifailid ja neid gzipsitakse. Leidmiskäske kasutatakse vanemate kui 5 päeva vanuste failide eemaldamiseks, kuna te ei soovi, et teie kettaruum tühjaks jääks.
Teha skripti käivitatava faili, käivitades järgmise käsu:
chmod u + x /backups/ backup.shJärgmiseks peate määrama selle automaatseks käitamiseks cron. Veenduge, et kasutate kontot, millel on juurdepääs varundamiste kataloogile.
crontab -eLisage crontabile järgmine rida:
1 1 * * * /backups/ backup.shSaate proovida skripti õigel ajal, käivitades selle kasutajakonto sisselogimisel.(Ma käivitan tavaliselt varukoopiaid rootina).
sünkroonimata varukoopiad väljaspool Rsync
-d. Nüüd, kui teil on töötava serveri automaatsed varukoopiad, saate neid sünkroonida kusagil mujal rsynci utiliidi abil. Sa tahaksid lugeda seda artiklit, kuidas seada ssh võtmed automaatseks sisselogimiseks. Kaugserverisse avaliku SSH-võtme lisamine ühtsesse käsku
. Seda saab testida, käivitades seda käsku linux või mac-seadmes teises asukohas( Iomab kodus linuxi serverit, kus ma seda käivitan)
rsync -a [email protected]: /backups/files/ * /offsitebackups/Selleks kulub mõni aeg esmakordselt käivitamiseks, kuid lõpuks peab teie kohalikul arvutil olema koopiafailide kataloogist /offsitebackups/ kataloogis.(Enne skripti käivitamist looge kindlasti see kataloog)
Saate seda planeerida, lisades sellele crontabi rida:
crontab -eLisage järgmine rida, mis käivitab rsync iga tund 45-minutilise märgi juures. Märkad, et me kasutame siin rsync täieliku tee.
45 * * * * /usr/bin/ [email protected]: /backups/files/ * /offsitebackups/Võite planeerida selle töötamist teisel ajal või ainult üks kord päevas. See on sulle tõesti nii.
Pange tähele, et on palju rakendusi, mis võimaldavad teil sünkroonida ssh või ftp-ga. Te ei pea rsynci kasutama.
Turvalisus
Esimene asi, mida soovite teha, on veenduda, et teil on ssh-i kaudu kasutatav regulaarne kasutajakonto ja veenduge, et su, et lülitada root sisse. See on väga halb mõte lubada otsest sisselogimist ssh juurutamiseks.
Keelake root sisse logimine üle SSH
Muutke /etc/ssh/ sshd_config-faili ja otsige järgmine rida:
#PermitRootLogin jahMuutke seda rida selliseks:
PermitRootLogin noVeenduge, et teil on tavaline kasutajakonto ja su suroot enne muudatuse tegemist, muidu võite lukustada ise.
Keela SSH versioon 1
Seal pole tõesti mingit põhjust kasutada muud kui SSH versiooni 2, kuna see on turvalisem kui eelmised versioonid. Muutke /etc/ssh/ sshd_config-faili ja otsige järgmist sektsiooni:
#Protocol 2,1 Protokoll 2Veenduge, et kasutate ainult protokolli 2, nagu on näidatud joonisel.
Restart SSH Server
Nüüd peate SSH serveri taaskäivitama, et see jõustuks.
/etc/init.d/ sshd taaskäivitageKontrollige avatud sadamaid
Võite kasutada järgmist käsku, et näha, millised porti server kuulab:
netstat -an |grep LISTENTeil ei tohiks midagi kuulata kui pleski pordid 22, 80 ja 8443.
Seadista tulemüür
Peamine artikkel: Iptablesi kasutamine Linuxis
Võite soovi korral seadistada iptablesi tulemüüri, et blokeerida rohkem ühendusi. Näiteks blokeerin tavaliselt juurdepääsu muule muule porti kui mu töövõrgust. Kui teil on dünaamiline IP-aadress, soovite seda võimalust vältida.
Kui olete seni järginud kõiki selle juhendi samme seni, pole tõenäoliselt vaja segavale tulemüüri lisada, kuid mõistagi on teie võimalusi parem mõista.
Vt ka
- Iptablesi kasutamine Linuxis
viited
- Teie DV-serveri( mediatemple.net) optimeerimine
- XCache