Kotisivu » miten » Dedikoidun virtuaalisen Web-palvelimen muokkaaminen

    Dedikoidun virtuaalisen Web-palvelimen muokkaaminen

    Kun saat oman virtuaalipalvelimen sivustosi suorittamiseen, on todennäköistä, että se on määritetty kaikille, eikä sitä ole räätälöity maksimoimaan suorituskykyä verkkosivuston suorittamisessa.

    Sisällys

    [piilottaa]

    • 1 yleiskatsaus
    • 2 Linux-kokoonpano
      • 2.1 Poista DNS
      • 2.2 Poista SpamAssassain käytöstä
      • 2.3 Poista xinetd käytöstä
      • 2.4 Plesk-muistin käytön rajoittaminen
      • 2.5 Poista tai poista Plesk käytöstä (valinnainen)
    • 3 MySQL-määritykset
      • 3.1 Ota kyselyn välimuisti käyttöön
      • 3.2 Poista TCP / IP käytöstä
    • 4 Apache-määritykset
    • 5 PHP-määritys
      • 5.1 Poista tarpeettomat PHP-moduulit
      • 5.2 PHP: n Opcode-välimuisti
    • 6 Varmuuskopiot
      • 6.1 Luo automaattinen varmuuskopiointi
      • 6.2 Synkronoi varmuuskopiot pois sivustosta Rsyncin avulla
    • 7 Turvallisuus
      • 7.1 Root-kirjautumisen estäminen SSH: n kautta
      • 7.2 Poista SSH-versio 1 käytöstä
      • 7.3 Käynnistä SSH-palvelin uudelleen
      • 7.4 Tarkista avoimet portit
      • 7.5 Palomuurin määrittäminen
    • 8 Katso myös
    • 9 Viitteet

    Yleiskatsaus

    On monia ongelmia, joilla haluamme maksimoida suorituskyvyn:

    • Linux-kokoonpano
      Tavallisesti on käytössä palveluita, joiden ei tarvitse olla, tuhlaa muistia, jota voitaisiin käyttää useampiin yhteyksiin.
    • MySQL-kokoonpano
      Usein oletusasetukset perustuvat pieneen palvelimeen, voimme lisätä muutamia keskeisiä muutoksia suorituskyvyn lisäämiseksi paljon.
    • Apache-asetukset
      Oletusarvoisesti useimmat isännöintipalveluntarjoajat asentavat apache-ohjelman lähes jokaisen asennetun moduulin avulla. Moduulia ei tarvitse ladata, jos et koskaan käytä niitä.
    • PHP-määritys
      Oletusarvoisesti PHP: n kokoonpano on samoin paisunut, yleensä on asennettu tonni tarpeettomia ylimääräisiä moduuleja.
    • PHP Opcode-välimuisti
      Sen sijaan, että PHP voisi kääntää komentosarjoja uudelleen joka kerta, opcode-välimuisti tallentaa muistiin tallennetut komentosarjat valtavan suorituskyvyn parantamiseksi.
    • varmuuskopiot
      Olisi luultavasti asennettava joitakin automaattisia varmuuskopioita, koska palveluntarjoajasi ei aio tehdä sitä puolestasi.
    • turvallisuus
      Toki Linux on riittävän turvallinen oletusarvoisesti, mutta yleensä on joitakin häikäiseviä turvallisuusongelmia, joita voit korjata muutamalla nopealla asetuksella.

    Linux-kokoonpano

    Voit tehdä melkoisesti useita tweaks-ohjelmia, jotka vaihtelevat hieman käytetyn palvelimen mukaan. Nämä tweakit ovat palvelimelle, joka käyttää CentOSia, mutta niiden pitäisi toimia useimmissa DV-palvelimissa.

    Poista DNS käytöstä

    Jos palveluntarjoajasi käsittelee verkkotunnuksesi DNS: ää (todennäköisesti), voit poistaa DNS-palvelun käytöstä.

    poista dns /etc/init.d/named stop chmod 644 käytöstä /etc/init.d/named

    Chmod-komento poistaa suoritettavan luvan skriptistä, jolloin se pysähtyy käynnistyksen yhteydessä.

    Poista SpamAssassain käytöstä

    Jos et käytä sähköpostitilejä itse palvelimellasi, sinun ei pitäisi häiritä roskapostin vastaisia ​​työkaluja. (Tarkista myös Google-sovellukset, paljon parempi sähköpostiratkaisu)

    /etc/init.d/psa-spamassassin stop chmod 644 /etc/init.d/psa-spamassassin

    Poista xinetd käytöstä

    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

    Rajoita Plesk-muistin käyttöä

    Jos käytät plesk-paneelia, voit pakottaa sen käyttämään vähemmän muistia lisäämällä asetustiedoston.

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

    Lisää seuraavat rivit tiedostoon:

    MinSpareServers 1 MaxSpareServers 1 StartServers 1 MaxClients 5

    Huomaa, että tämän vaihtoehdon tiedetään toimivan MediaTemple DV -palvelimissa, mutta sitä ei ole tarkistettu muilla. (Katso viitteet)

    Poista tai poista Plesk käytöstä (valinnainen)

    Jos käytät Pleskiä vain kerran vuodessa, on hyvin vähän syytä jättää se käyttämättä. Huomaa, että tämä vaihe on täysin valinnainen ja hieman kehittyneempi.

    Voit poistaa pleskin käytöstä seuraavasti:

    /etc/init.d/psa stop

    Voit poistaa sen käytöstä käynnistyksessä 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 oikeuksia takaisin (chmod u + x).

    MySQL-määritykset

    Ota kyselyn välimuisti käyttöön

    Avaa /etc/my.cnf-tiedosto ja lisää seuraavat rivit [mysqld] -osiossa seuraavasti:

    [mysqld] query-cache-type = 1 kysely-välimuisti-koko = 8M

    Voit lisätä kyselyn välimuistiin lisää muistia, jos et halua, mutta älä käytä liikaa.

    Poista TCP / IP käytöstä

    Yllättävä määrä isäntiä mahdollistaa pääsyn MySQL: ään TCP / IP: ssä oletusarvoisesti, mikä ei ole järkevää verkkosivustolle. Voit selvittää, kuuntelevatko mysql TCP / IP: llä suorittamalla seuraavan komennon:

    netstat -an | grep 3306

    Voit poistaa käytöstä seuraavan rivin /etc/my.cnf-tiedostoon seuraavasti:

    skip-verkko

    Apache-määritykset

    Avaa httpd.conf-tiedosto, joka löytyy usein osoitteesta /etc/httpd/conf/httpd.conf

    Etsi rivi, joka näyttää tältä:

    Aikakatkaisu 120

    Ja muuta se tähän:

    Aikakatkaisu 20

    Nyt löydät osan, joka sisältää nämä rivit, ja säädä jotain vastaavaa:

    StartServers 2 MinSpareServers 2 MaxSpareServers 5 ServerLimit 100 MaxClients 100 MaxRequestsPerChild 4000

    PHP-määritys

    Yksi niistä asioista, joita pitää pitää mielessä, kun palvelin pyörii PHP-alustalla, on, että jokainen apache-kierre ladaa PHP: n erilliseen muistipaikkaan. Tämä tarkoittaa, että jos käyttämätön moduuli lisää 256 kilotavua PHP: lle, 40 apache-langan yli tuhlaat 10 Mt muistia.

    Poista tarpeettomat PHP-moduulit

    Sinun on löydettävä php.ini-tiedosto, joka yleensä löytyy osoitteesta /etc/php.ini (Huomaa, että joissakin jakelussa on /etc/php.d/-hakemisto, jossa on useita .ini-tiedostoja, yksi kullekin moduulille.

    Kommentoi kaikki nämä moduulit:

    • odbc
    • SNMP
    • SAN
    • odbc pdo
    • mysqli
    • ioncube-loader
    • json
    • imap
    • ldap
    • ncurses

    Todo: Lisää lisätietoja täältä.

    PHP Opcode-välimuisti

    Käytettävissä on useita optiokoodeja, kuten APC, eAccelerator ja Xcache, joista viimeinen on henkilökohtainen suosikkini vakauden takia.

    Lataa xcache ja poista se hakemistoon ja suorita sitten seuraavat komennot xcache-lähdehakemistosta:

    phpize ./configure --enable-xcache tehdä asennuksen

    Avaa php.ini-tiedosto ja lisää uusi osa xcache-tiedostoon. Sinun täytyy säätää polkuja, jos php-moduulit ladataan muualta.

    vi /etc/php.ini

    Lisää seuraava osa tiedostoon:

    [xcache-common] zend_extension = /usr/lib/php/modules/xcache.so [xcache.admin] xcache.admin.user = "myusername" xcache.admin.pass = "putanmd5hashhere" [xcache]; Muuta xcache.size, kun haluat virittää opcode-välimuistin koon 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 kokoa 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 = Ei käytössä xcache.readonly_protection = Käytössä xcache.mmap_path = "/ tmp / xcache" xcache.coredump_directory = "" xcache.cacher = Käytössä xcache.stat = Käytössä xcache.optimizer = Ei käytössä

    Todo: Tarve laajentaa tätä vähän ja linkitä viittauksiin linkkiin xcache.

    varmuuskopiot

    On hyvin vähän tärkeämpää kuin automatisoidut varmuuskopiot sivustostasi. Saatat ehkä saada tilannekuvan varmuuskopioita isännöintipalveluntarjoajalta, jotka ovat myös erittäin hyödyllisiä, mutta mieluummin myös automaattisia varmuuskopioita.

    Luo automaattinen varmuuskopiointiohjelma

    Aloitan yleensä luomalla / varmuuskopiot -hakemiston, jossa on / varmuuskopiot / tiedostot -hakemisto. Voit säätää näitä polkuja, jos haluat.

    mkdir -p / varmuuskopiot / tiedostot

    Luo varmuuskopiointihakemistoon varmuuskopiointihakemisto:

    vi /backups/backup.sh

    Lisää seuraavat tiedostot, säädä polkuja ja mysqldump-salasanaa 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 / my-website-path / httpdocs gzip /backups/files/sitebackup$THEDATE.tar löytää / varmuuskopiot / tiedostot / sivusto * -mtime +5 -exec rm  \ t find / backups / files / db * -mtime +5 -exec rm  \ t

    Skripti luo ensin päivämäärämuuttujan, joten kaikki tiedostot nimetään samaksi yhden varmuuskopion yhteydessä, sitten tyhjentää tietokannan, tarsaa Web-tiedostot ja heittää ne. Etsi-komentoja käytetään poistamaan kaikki yli 5 päivän ikäiset tiedostot, koska et halua, että asema loppuu.

    Tee komentosarja suoritettavaksi suorittamalla seuraava komento:

    chmod u + x /backups/backup.sh

    Seuraavaksi sinun täytyy määrittää se toimimaan automaattisesti cronin avulla. Varmista, että käytät tiliä, jolla on pääsy varmuuskopioiden hakemistoon.

    crontab-e

    Lisää seuraava rivi crontabiin:

    1 1 * * * / backups/backup.sh

    Voit testata komentosarjan etukäteen suorittamalla sen kirjautumalla sisään käyttäjätiliin. (Käytän yleensä varmuuskopioita root-muodossa)

    Synkronoi varmuuskopiot pois sivustosta Rsyncin avulla

    Nyt kun sinulla on automaattiset varmuuskopiot palvelimestasi, voit synkronoida ne muualle käyttämällä rsync-apuohjelmaa. Sinun kannattaa lukea tämä artikkeli ssh-avainten asentamisesta automaattiseen kirjautumiseen: 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 kotona linux-palvelin, jossa käytän tätä)

    rsync -a [email protected]: / varmuuskopiot / tiedostot / * / offsitebackups /

    Tämä kestää melko kauan ensimmäistä kertaa, mutta lopulta paikallisella tietokoneella pitäisi olla kopio tiedostojen hakemistosta / offsitebackups / hakemistossa. (Varmista, että olet luonut kyseisen hakemiston ennen komentosarjan suorittamista)

    Voit ajoittaa tämän lisäämällä sen crontab-riville:

    crontab-e

    Lisää seuraava rivi, joka suorittaa rsyncin joka tunti 45 minuutin merkillä. Huomaat, että käytämme täällä rsync-polkua.

    45 * * * * / usr / bin / rsync -a [email protected]: / varmuuskopiot / tiedostot / * / offsitebackups /

    Voit ajastaa sen ajaa toiseen aikaan tai vain kerran päivässä. Se on todella sinun tehtäväsi.

    Huomaa, että on paljon apuohjelmia, joiden avulla voit synkronoida ssh: n tai ftp: n kautta. Sinun ei tarvitse käyttää rsynciä.

    turvallisuus

    Ensimmäinen asia, jonka haluat tehdä, on varmistaa, että sinulla on säännöllinen käyttäjätili, jota voit käyttää ssh: n kautta, ja varmista, että voit käyttää su: ta siirtyäksesi rootiin. Se on erittäin huono idea sallia suora kirjautumistunnus yli ssh.

    Poista pääkäyttäjän pääsy SSH: n kautta

    Muokkaa / etc / ssh / sshd_config-tiedostoa ja etsi seuraava rivi:

    #PermitRootLogin kyllä

    Vaihda tämä rivi näyttää tältä:

    PermitRootLogin no

    Varmista, että sinulla on säännöllinen käyttäjätili ja voit juoda juuri ennen muutoksen tekemistä, muuten voit lukita itsesi ulos.

    Poista SSH-versio 1 käytöstä

    Ei ole mitään syytä käyttää mitään muuta kuin SSH-versiota 2, koska se on aiempaa turvallisempi kuin aiemmat versiot. Muokkaa / etc / ssh / sshd_config-tiedostoa ja etsi seuraava osa:

    #Protokolla 2,1 Protokolla 2

    Varmista, että käytät vain protokollaa 2 kuvan mukaisesti.

    Käynnistä SSH-palvelin uudelleen

    Nyt sinun on käynnistettävä SSH-palvelin uudelleen, jotta tämä tulee voimaan.

    /etc/init.d/sshd käynnistyy uudelleen

    Tarkista avoimet portit

    Voit käyttää seuraavaa komentoa nähdäksesi, mitkä portit palvelin kuuntelee:

    netstat -an | grep LISTEN

    Sinun ei pitäisi olla mitään muuta kuunneltavaa kuin portit 22, 80 ja mahdollisesti 8443.

    Aseta palomuuri

    Pääartikkeli: Iptablesin käyttö Linuxissa

    Voit valinnaisesti määrittää iptables-palomuurin estämään lisää yhteyksiä. Esimerkiksi en yleensä estä pääsyä mihin tahansa muuhun satamaan kuin työverkostani. Jos sinulla on dynaaminen IP-osoite, haluat välttää tämän vaihtoehdon.

    Jos olet jo noudattanut kaikkia tämän oppaan vaiheita, ei todennäköisesti ole tarpeen lisätä palomuuria myös yhdistelmään, mutta on hyvä ymmärtää vaihtoehdot.

    Katso myös

    • Iptablesin käyttö Linuxissa

    Viitteet

    • DV-palvelimen optimointi (mediatemple.net)
    • XCache