If-Koubou

Dedicated Virtual Web Serverin säätäminen

Dedicated Virtual Web Serverin säätäminen (Miten)

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]

  • 1 Yleiskatsaus
  • 2 Linux-kokoonpano
    • 2.1 Poista käytöstä DNS
    • 2.2 Poista SpamAssassain käytöstä
    • 2.3 Poista käytöstä xinetd
    • 2.4 Rajoita Plesk-muistin käyttöä
    • 2.5 Plesk-toiminnon poiskytkeminen tai poistaminen käytöstä (valinnainen)
  • 3 MySQL-määritykset
    • 3.1 Ota kyselysovellus käyttöön
    • 3.2 Poista TCP / IP käytöstä
  • 4 Apache-kokoonpano
  • 5 PHP-määritykset
    • 5.1 Poista tarpeettomat PHP-moduulit
    • 5.2 PHP Opcode Cache
  • 6 varmuuskopiota
    • 6.1 Luo automaattinen varmuuskopiointiohjelma
    • 6.2 Synkronoi varmuuskopiot Off-Sitein avulla Rsyncillä
  • 7 Turvallisuus
    • 7.1 Poista Root Login Over SSH käytöstä
    • 7.2 Poista käytöstä SSH-versio 1
    • 7.3 Käynnistä SSH-palvelin uudelleen
    • 7.4 Tarkista avoimet portit
    • 7.5 Palomuurin asennus
  • 8 Katso myös
  • 9 Viitteet

Yleiskatsaus

On monia ongelma-alueita, joissa haluamme maksimoida suorituskyvyn:

  • Linux-kokoonpano
    On yleensä käytössä olevia palveluita, joita 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 parantamiseksi paljon.
  • Apache-kokoonpano
    Oletuksena useimmat hosting-palveluntarjoajat asentavat apachea lähes jokaisen asennetun moduulin kanssa. Ei ole syytä ladata moduuleja, jos et koskaan käytä niitä.
  • PHP-kokoonpano
    Oletusarvoinen PHP-kokoonpano on samalla tavalla paisunut, yleensä on olemassa tarpeettomia ylimääräisiä moduuleja.
  • PHP Opcode Cache
    Sen sijaan, että PHP pystyy kääntämään komentosarjat joka kerta, opcode-välimuisti välittää muistiin kootut komentosarjat suurille tehostamistoille.
  • varmuuskopiot
    Olisi todennäköisesti asetettava joitain automaattisia varmuuskopioita, koska palveluntarjoaja ei aio tehdä sitä sinulle.
  • turvallisuus
    Toki Linux on riittävän turvallinen oletuksena, mutta yleensä on joitain hämmästyttäviä tietoturvaongelmia, joita voit korjata muutamalla nopealla asetuksella.

Linux-kokoonpano

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.

Poista DNS käytöstä

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ä.

Poista SpamAssassain käytöstä

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

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ä 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)

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

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).

MySQL-kokoonpano

Ota kyselyvälimuisti käyttöön

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.

Poista TCP / IP käytöstä

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

Apache-kokoonpano

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

PHP-määritys

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.

Poista tarpeettomat PHP-moduulit

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:

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

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

PHP Opcode Cache

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.

varmuuskopiot

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.

Luo automaattinen varmuuskopiointiohjelma

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ä)

Synkronoi varmuuskopiot Off-Sitein avulla Rsyncillä

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ä.

turvallisuus

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.

Poista pääkäyttäjä SSH: n käytöstä

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.

Poista SSH-version 1 käytöstä

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.

Käynnistä SSH-palvelin uudelleen

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

/etc/init.d/sshd uudelleenkäynnistys

Tarkista avoimet portit

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.

Aseta palomuuri

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.

Katso myös

  • Iptablesin käyttö Linuxissa

Viitteet

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