Kun saat omat virtuaaliset palvelimet verkkosivustosi käyttämiseen, mahdollisuudet ovat hyvät, että se on määritetty kaikille, eikä se ole räätälöity maksimoimaan suorituskyvyn verkkosivuston käyttämiseen.
Sisällys[piilottaa]
|
On monia ongelma-alueita, joissa haluamme maksimoida suorituskyvyn:
Voit tehdä useita versioita, jotka vaihtelevat hieman käyttämäsi palvelimen mukaan. Nämä tweaksit ovat palvelimelle, joka käyttää CentOS-ohjelmaa, mutta niiden pitäisi toimia useimpiin DV-palvelimiin.
Jos palveluntarjoaja käsittelee verkkotunnuksesi DNS-koodin (todennäköistä), voit poistaa DNS-palvelun käytöstä.
poista käytöstä dns /etc/init.d/named stop chmod 644 /etc/init.d/named
Chmod-komento poistaa komentosarjan toteutusluvan, estää sen käynnistyksen käynnistyksen yhteydessä.
Jos et käytä sähköpostitilejä palvelimellasi, sinun ei pidä häiritä roskapostiviestityökalujen käyttämistä. (Lisäksi kannattaa tarkistaa Google Apps, paljon parempi sähköposti ratkaisu)
/etc/init.d/psa-spamassassin stop chmod 644 /etc/init.d/psa-spamassassin
Xinetd-prosessissa on useita muita prosesseja, joista mikään ei ole hyödyllinen tyypilliselle web-palvelimelle.
/etc/init.d/xinetd stop chmod 644 /etc/init.d/xinetd
Jos käytät plesk-paneelia, voit pakottaa sen käyttämään vähemmän muistia lisäämällä asetustiedosto.
vi /usr/local/psa/admin/conf/httpsd.custom.include
Lisää tiedostoon seuraavat rivit:
MinSpareServers 1 MaxSpareServers 1 StartServers 1 MaxClients 5
Huomaa, että tämän vaihtoehdon tiedetään toimivan MediaTemple DV -palvelimilla, mutta sitä ei ole tarkistettu mihinkään muuhun. (Katso viitteet)
Jos käytät Pleskia vain kerran vuodessa, on hyvin vähän syytä jättää se toimimatta lainkaan. Huomaa, että tämä vaihe on täysin valinnainen ja hieman kehittyneempi.
Suorita seuraava komento poistaaksesi plesk:
/etc/init.d/psa stop
Voit poistaa sen käytöstä käynnistyksen yhteydessä suorittamalla seuraavan komennon:
chmod 644 /etc/init.d/psa
Huomaa, että jos poistat sen käytöstä, et voi käynnistää sitä manuaalisesti muuttamatta tiedostojen käyttöoikeuksia takaisin (chmod u + x).
Avaa /etc/my.cnf -tiedosto ja lisää seuraavat rivit [mysqld] -osioon seuraavasti:
[mysqld] query-cache-type = 1 kysely-välimuisti-koko = 8M
Voit lisätä muistia kyselyvälimuistiin, jos haluat, mutta älä käytä liikaa.
Yllättävän joukko isäntiä mahdollistaa pääsyn MySQL: hen TCP / IP: ssä oletuksena, mikä ei ole järkeä verkkosivustolle. Voit selvittää, onko mysql kuuntelee TCP / IP: tä suorittamalla seuraavan komennon:
netstat -an | grep 3306
Poista käytöstä lisäämällä seuraava rivi /etc/my.cnf -tiedostoon:
skip-verkko
Avaa httpd.conf-tiedosto, joka löytyy usein /etc/httpd/conf/httpd.conf
Etsi seuraava rivi:
Aikakatkaisu 120
Ja muuttakaa se tähän:
Aikakatkaisu 20
Löydä nyt osio, joka sisältää nämä rivit ja säädä jotain vastaavaa:
StartServers 2 MinSpareServers 2 MaxSpareServers 5 ServerLimit 100 MaxClients 100 MaxRequestsPerChild 4000
Yksi niistä asioista, jotka on pidettävä mielessä, kun PHP-alustalle asetetaan palvelinta, on se, että jokainen apache-lanka lataa PHP: n erilliseen sijaintiin muistiin. Tämä tarkoittaa sitä, että jos käyttämättömät moduulit lisäävät 256 k muistia PHP: hen, yli 40 apache-lankaa tuhlaat 10MB muistia.
Sinun on löydettävä php.ini-tiedosto, joka löytyy tavallisesti osoitteesta /etc/php.ini (Huomaa, että joissakin jakeluissa on /etc/php.d/ hakemisto, jossa on useita .ini-tiedostoja, yksi kullekin moduulille.
Kommentoida kaikkia moduulimalleja näiden moduulien kanssa:
Todo: Lisää lisätietoja tästä.
Voit käyttää useita opcode-välimuistit, kuten APC, eAccelerator ja Xcache, joista viimeinen on oma persoonallisuuteni vakauden vuoksi.
Lataa xcache ja poista se hakemistoon ja suorita sitten seuraavat komennot xcache-lähdekoodista:
phpize ./configure --enable-xcache tee make install
Avaa php.ini-tiedosto ja lisää uusi xcache-osio. Sinun on säädettävä polkuja, jos php-moduulisi on ladattu muualta.
vi /etc/php.ini
Lisää tiedostoon seuraava osa:
[xcache-common] zend_extension = /usr/lib/php/modules/xcache.so [xcache.admin] xcache.admin.user = "oma käyttäjätunnus" xcache.admin.pass = "putanmd5hashhere" [xcache]; Xcache.size = 16M xcache.shm_scheme = "mmap" xcache.count = 1 xcache.slots = 8K xcache.ttl = 0 xcache.gc_interval = 0; Muuta xcache.var_size säätääksesi muuttujan välimuistin koko 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 = Pois xcache.readonly_protection = On xcache.mmap_path = "/ tmp / xcache" xcache.coredump_directory = "" xcache.cacher = On xcache.stat = On xcache.optimizer = Pois
Todo: Tarve laajentaa tätä hieman ja linkittää xcache viitteisiin.
On hyvin vähän tärkeämpää kuin varmuuskopioida verkkosivustosi. Saatat joutua ottamaan tilannevedoksen varmuuskopioita palveluntarjoajaltasi, joka on myös erittäin hyödyllinen, mutta haluan myös automatisoidut varmuuskopiot.
Aloitan tavallisesti luomalla / varmuuskopiointihakemiston, jonka alla on / backups / files -hakemisto. Voit säätää näitä polkuja, jos haluat.
mkdir -p / varmuuskopiot / tiedostot
Luo varmuuskopiointihakemistosta varmuuskopio .sh-komentosarjan.
vi /backups/backup.sh
Lisää seuraava tiedosto tiedostoon, säädä polut ja mysqldump-salasana tarpeen mukaan:
# / bin / sh THEDATE = "päivämäärä +% d% m% y% H% M" mysqldump -uadmin -pPASSWORD DATABASENAME> /backups/files/dbbackup$THEDATE.bak tar -cf / varmuuskopiot / tiedostot / sitebackup $ THEDATE .tar / var / www / vhosts / oma-sivuston polku / httpdocs gzip /backups/files/sitebackup$THEDATE.tar löytää / varmuuskopiot / tiedostot / sivusto * -mtime +5 -exec rm \; löytää / varmuuskopiot / tiedostot / db * -mtime +5 -exec rm \;
Skripti luo ensin päivämäärän, joten kaikki tiedostot nimetään samalle varmuuskopiolle, sitten kaatavat tietokannat, tallentavat web-tiedostot ja gzipit. Etsikomentoja käytetään poistamaan kaikki yli 5 päivää vanhat tiedostot, koska et halua, että asema loppuu.
Tee käsikirjoitus suoritettavaksi suorittamalla seuraava komento:
chmod u + x /backups/backup.sh
Seuraavaksi sinun on annettava sille automaattinen suorittaminen cron: lla. Varmista, että käytät tiliä, jolla on pääsy varmuuskopiointihakemistoon.
crontab -e
Lisää seuraava rivi crontab:
1 1 * * * /backups/backup.sh
Voit testata komentosarjan etukäteen suorittamalla sen kirjautuessasi sisään käyttäjätilille. (Suorita varmuuskopiot pääkäyttäjänä)
Kun olet suorittanut palvelimesi automaattiset varmuuskopiot, voit synkronoida ne jossakin muualla käyttämällä rsync-apuohjelmaa. Haluat lukea tämän artikkelin ssh-avainten määrittämisestä automaattiseen sisäänkirjautumiseen: Lisää julkinen SSH-avain etäpalvelimeen yhdellä komennolla
Voit testata tämän suorittamalla tämän komennon linux- tai Mac-koneella toisessa paikassa (minulla on linux-palvelin kotona, missä ajetaan tämä)
rsync -a [email protected]: / varmuuskopiot / tiedostot / * / offsitebackups /
Tämä kestää jonkin aikaa ensimmäisen kerran, mutta lopussa paikallisessa tietokoneessa on oltava kopio tiedoston hakemistosta / offsitebackups / hakemistosta. (Muista luoda hakemisto ennen skriptin suorittamista)
Voit ajoittaa tämän lisäämällä sen crontab-riviin:
crontab -e
Lisää seuraava rivi, joka suorittaa rsyncin joka tunti 45 minuutin aikana. Huomaat, että käytämme täysiä reittiä rsyncille täällä.
45 * * * * / usr / bin / rsync -a [email protected]: / varmuuskopiot / tiedostot / * / offsitebackups /
Voit ajoittaa sen suoritettavaksi eri aikaan tai vain kerran päivässä. Se on todella sinun.
Huomaa, että on paljon apuohjelmia, joiden avulla voit synkronoida ssh: n tai ftp: n kautta. Sinun ei tarvitse käyttää rsynkiä.
Ensimmäinen asia, jonka haluat tehdä, on varmistaa, että sinulla on säännöllinen käyttäjätili ssh: n kautta, ja varmista, että voit käyttää su-näppäintä päästäksesi juureen. On erittäin huono idea sallia suorat kirjautumiset rootille ssh: n varalta.
Muokkaa / etc / ssh / sshd_config -tiedostoa ja etsi seuraava rivi:
#PermitRootLogin kyllä
Muuta tämä rivi näyttääksesi näin:
PermitRootLogin no
Varmista, että sinulla on säännöllinen käyttäjätili ja voit tehdä sen ennen kuin teet tämän muutoksen, muuten saatat lukita itsesi ulos.
Ei ole mitään syytä käyttää mitään muuta kuin SSH-versiota 2, koska se on turvallisempi kuin aiemmat versiot. Muokkaa / etc / ssh / sshd_config -tiedostoa ja etsi seuraava osio:
# Protokolla 2,1 Pöytäkirja 2
Varmista, että käytät vain protokollaa 2, kuten on näytetty.
Nyt sinun on käynnistettävä SSH-palvelin uudelleen, jotta tämä tulee voimaan.
/etc/init.d/sshd uudelleenkäynnistys
Voit tarkastella seuraavia komentoja, mitä portteja palvelin kuuntelee:
netstat -an | grep KUOLEMAN
Sinulla ei todellakaan olisi mitään kuunnella muita kuin portteja 22, 80 ja mahdollisesti 8443 plesk.
Pääartikkeli:Iptablesin käyttö Linuxissa
Voit halutessasi asentaa iptables-palomuurin estämään useampia yhteyksiä. Esimerkiksi estäisin pääsyn muille satamille kuin työverkostani. Jos sinulla on dynaaminen IP-osoite, haluat välttää tämän vaihtoehdon.
Jos olet jo noudattanut kaikkia tähän oppaan vaiheita, ei todennäköisesti ole tarpeen lisätä palomuuria sekaan, mutta on hyvä ymmärtää vaihtoehtoja.