Dedikált virtuális webszerver beállítása

Tartalomjegyzék:

Dedikált virtuális webszerver beállítása
Dedikált virtuális webszerver beállítása

Videó: Dedikált virtuális webszerver beállítása

Videó: Dedikált virtuális webszerver beállítása
Videó: How To Reactivate Twitter Account 2022 [ Easy Tutorial ] | Online Help Guide | Twitter Guide - YouTube 2024, November
Anonim

Amikor egy dedikált virtuális kiszolgálót futtat a webhelyére, jó esély van arra, hogy mindenkinek konfigurálva van, és nem testreszabható a weboldal futtatásához szükséges teljesítmény maximalizálásához.

tartalom

[elrejt]

  • 1. Áttekintés
  • 2 Linux konfiguráció

    • 2.1 Letiltja a DNS-t
    • 2.2 Letiltja a SpamAssassain-t
    • 2.3 A xinetd letiltása
    • 2.4 Korlátozza a Plesk memóriahasználatot
    • 2.5 Plesk letiltása vagy kikapcsolása (opcionális)
  • 3 MySQL konfiguráció

    • 3.1 Lekérdezés gyorsítótár engedélyezése
    • 3.2 TCP / IP letiltása
  • 4 Apache konfiguráció
  • 5 PHP konfiguráció

    • 5.1 A szükségtelen PHP modulok eltávolítása
    • 5.2 PHP Opcode gyorsítótár
  • 6 mentés

    • 6.1 Automata biztonsági másolat készítése
    • 6.2 Szinkronizálás a helyszínen az Rsync segítségével
  • 7 Biztonság

    • 7.1 Letiltja a Root Login SSH-t
    • 7.2 SSH 1. verzió letiltása
    • 7.3 Az SSH szerver újraindítása
    • 7.4 Nyitott portok ellenőrzése
    • 7.5 Tűzfal beállítása
  • 8 Lásd még
  • 9 Referenciák

Áttekintés

Számos problémás terület van, ahol maximális teljesítményre van szükség:

  • Linux konfiguráció Általában olyan szolgáltatások futnak, amelyeknek nem kell lenniük.
  • MySQL konfiguráció Gyakran az alapértelmezett beállítások egy kis kiszolgálón alapulnak, néhány kulcsfontosságú módosítással növelhetjük a teljesítményt.
  • Apache konfiguráció Alapértelmezés szerint a legtöbb tárhelyszolgáltató telepíti az apache-t majdnem minden telepített modulra. Nincs ok arra, hogy betöltsük a modulokat, ha mégsem használjuk őket.
  • PHP konfiguráció Az alapértelmezett PHP-konfiguráció hasonlóan puffadt, általában több tele van felesleges extra modulokkal.
  • PHP Opcode gyorsítótár Ahelyett, hogy a PHP-nek minden alkalommal újrafordítaná a parancsfájlokat, az opcode gyorsítótár gyorsítótárba helyezi a fordított szkripteket a memóriában a hatalmas teljesítményjavításokhoz.
  • mentések Valószínűleg fel kell állítania bizonyos automatizált mentéseket, mivel a tárhelyszolgáltatója nem fogja megtenni az Ön számára.
  • Biztonság Biztos, hogy a Linux alapértelmezés szerint elég biztonságos, de általában vannak olyan fényes biztonsági problémák, amelyeket néhány gyors beállítással javíthat.

Linux konfiguráció

Van egy csomó csípés amit tehetsz, ami kissé eltérhet a használt szerver alapján. Ezek a tweaks egy CentOS-t futtató kiszolgálóra vonatkoznak, de a DV-szerverek többségére kell dolgozniuk.

Letiltja a DNS-t

Ha a tárhely szolgáltató valószínűleg kezeli a domain DNS-címét, akkor letilthatja a DNS-szolgáltatást a futásból.

disable dns /etc/init.d/named stop chmod 644 /etc/init.d/named

A chmod parancs eltávolítja a parancsfájl engedélyének engedélyezését, és megakadályozza a futás indításkor.

A SpamAssassain tiltása

Ha ön nem a saját kiszolgálón e-mail fiókokat használ, akkor ne fáradjon a levélszemét-blokkoló eszközök futtatásával. (Szintén meg kell nézni a Google Apps, sokkal jobb e-mail megoldás)

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

A xinetd letiltása

A xinetd folyamat számos más folyamatot foglal magában, amelyek közül egyik sem hasznos egy tipikus webszerver számára.

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

Limit Plesk memóriahasználat

Ha a plesk panelt használja, kényszerítheti arra, hogy kevesebb memóriát használjon opciófájl hozzáadásával.

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

Adja hozzá a következő sorokat a fájlhoz:

MinSpareServers 1 MaxSpareServers 1 StartServers 1 MaxClients 5

Ne feledje, hogy ez az opció ismert, hogy MediaTemple DV szervereken dolgozik, de másokat nem ellenőriztek. (Lásd Referenciák)

Plesk letiltása vagy kikapcsolása (opcionális)

Ha évente egyszer csak Plesk-ot használod, akkor nagyon kevés oka van, ha egyáltalán futni fogsz. Ne feledje, hogy ez a lépés teljesen opcionális, és kissé fejlettebb.

Futtassa a következő parancsot a plesk kikapcsolásához:

/etc/init.d/psa stop

A következő parancs futtatásával letilthatja az indításkor futó futtatást:

chmod 644 /etc/init.d/psa

Vegye figyelembe, hogy ha letiltja azt, akkor nem indíthatja el manuálisan a fájlengedélyek visszaállítása nélkül (chmod u + x).

MySQL konfiguráció

Lekérdezési gyorsítótár engedélyezése

Nyissa meg az /etc/my.cnf fájlt, és adja hozzá a következő sorokat a [mysqld] szakaszban, mint ez:

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

A lekérdezés gyorsítótárába még több memóriát is felvehet, ha nem szeretné, de ne használjon túl sokat.

A TCP / IP letiltása

A meglepő számú gazda alapértelmezés szerint hozzáférést biztosít a TCP / IP-hez a MySQL-hez, így nincs értelme egy webhely számára. Kiderül, hogy a mysql a TCP / IP-en hallgat-e a következő parancs futtatásával:

netstat -an | grep 3306

A letiltáshoz az alábbi sort adja hozzá az /etc/my.cnf fájlhoz:

skip-networking

Apache konfiguráció

Nyissa meg a httpd.conf fájlt, amely gyakran megtalálható a /etc/httpd/conf/httpd.conf

Keresse meg ezt a sort:

Timeout 120

És változtassa meg ezt:

Timeout 20

Most keresse meg a sorokat, amelyek tartalmazzák ezeket a sorokat, és állítsanak be valami hasonlóat:

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

PHP konfiguráció

Az egyik dolog, amit szem előtt kell tartanunk, amikor egy szervert kipróbálunk a PHP platformon, az, hogy minden egyes apache szál betölteni fogja a PHP-t egy külön helyre a memóriában. Ez azt jelenti, hogy ha egy fel nem használt modul 256 k memóriát ad hozzá PHP-nek, 40 apache szálon keresztül 10 MB memóriát veszít.

Távolítsa el a szükségtelen PHP modulokat

Meg kell találnod a php.ini fájlt, amely általában megtalálható a /etc/php.ini fájlban (Ne feledje, hogy egyes terjesztéseknél létezik egy /etc/php.d/ könyvtár, amely számos.ini fájlt tartalmaz, minden egyes modul esetében egy.

Írja le a terhelésmodul sorokat az alábbi modulokkal:

  • odbc
  • SNMP
  • OEM
  • odbc pdo
  • mysqli
  • ioncube-rakodó
  • jSON
  • imap
  • ldap
  • ncurses

Todo: További információ itt.

PHP Opcode gyorsítótár

Számos opcode gyorsítót használhat, például az APC, az eAccelerator és az Xcache, az utolsó a stabilitásnak köszönhetően.

Töltse le az xcache fájlt, és vegye ki egy könyvtárba, majd futtassa az alábbi parancsokat az xcache forrás könyvtárából:

phpize./configure --enable-xcache make make install

Nyissa meg a php.ini fájlt, és adjon hozzá egy új szakaszt az xcache számára. Be kell állítania az elérési útvonalakat, ha a php moduljait valahol máshol tölti be.

vi /etc/php.ini

Adja hozzá a következő szakaszt a fájlhoz:

[xcache-common] zend_extension = /usr/lib/php/modules/xcache.so [xcache.admin] xcache.admin.user = 'myusername' xcache.admin.pass = 'putanmd5hashhere' [xcache]; Change xcache.size to tune the size of the opcode cache xcache.size = 16M xcache.shm_scheme = 'mmap' xcache.count = 1 xcache.slots = 8K xcache.ttl = 0 xcache.gc_interval = 0; Change xcache.var_size to adjust the size of variable cache 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 = Off xcache.readonly_protection = On xcache.mmap_path = '/tmp/xcache' xcache.coredump_directory = '' xcache.cacher = On xcache.stat = On xcache.optimizer = Off

Todo: Szükséged van egy kicsit kibővíteni és az xcache-re hivatkozni a hivatkozásokban.

mentések

Nagyon kevésbé fontos, mint a weboldal automatikus mentése. Előfordulhat, hogy pillanatfelvétel-készpénzfelvételeket készíthet a tárhelyszolgáltatójáról, amelyek szintén nagyon hasznosak, de jobban szeretem az automatikus biztonsági másolatokat is.

Automatikus biztonsági mentés parancsfájl létrehozása

Általában elindítom a / backups könyvtár létrehozását, a / backups / files könyvtár alatt. Beállíthatja ezeket az útvonalakat, ha akarja.

mkdir -p /backups/files

Most hozz létre egy backup.sh parancsfájlt a mentési könyvtárba:

vi /backups/backup.sh

Adja hozzá az alábbiakat a fájlhoz, szükség esetén módosítsa az útvonalakat és a mysqldump jelszót:

#!/bin/sh THEDATE=`date +%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 find /backups/files/site* -mtime +5 -exec rm {}; find /backups/files/db* -mtime +5 -exec rm {};

A parancsfájl először létrehoz egy dátumváltozót, így az összes fájl ugyanaz lesz egy biztonsági másolat számára, majd eldobja az adatbázist, feltölti a webes fájlokat, és gzipeli őket. A keresési parancsok 5 napnál régebbi fájlok eltávolítására használhatók, mivel nem szeretné, hogy a meghajtó kifogyjon a helyről.

Végezze el a parancsfájl futtatását a következő parancs futtatásával:

chmod u+x /backups/backup.sh

Ezután hozzá kell rendelnie ahhoz, hogy a cron automatikusan futtassa. Győződjön meg arról, hogy olyan fiókot használ, amely hozzáférést biztosít a biztonsági mentésekhez.

crontab -e

Adja hozzá a következő sort a crontabhoz:

1 1 * * * /backups/backup.sh

A scriptet idő előtt tesztelheti, ha a felhasználói fiókba bejelentkezve fut. (Rendszeresen futtatom a biztonsági mentéseket rootként)

Szinkronizálás a helyszínen az Rsync segítségével

Most, hogy a kiszolgáló automatikus biztonsági mentései futottak, szinkronizálhatja őket valahol máshol az rsync segédprogrammal. Szeretné elolvasni ezt a cikket az ssh-kulcsok automatikus beállításához: Adjon hozzá nyilvános SSH kulcsot a távoli kiszolgálóhoz egy parancsban

Ezt kipróbálhatja úgy, hogy ezt a parancsot egy linuxos vagy Mac gépen futtatja egy másik helyszínen (otthon van egy linuxos szerver, ahol futtatom ezt)

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

Ez elég sok időt vesz igénybe az első alkalommal történő futtatáshoz, de a helyi számítógépen a fájlok könyvtárának egy példányát a / offsitebackups / könyvtárban kell elhelyezni. (Győződjön meg róla, hogy létrehozza a könyvtárat a szkript futtatása előtt)

Ezt ütemezheti a crontab sorhoz történő hozzáadásával:

crontab -e

Adja hozzá a következő sort, amely óránként 45 percen belül futtatja az rsync szolgáltatást. Észre fogod venni, hogy itt használjuk az rsync teljes elérési útját.

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

Beállíthatja, hogy más időpontban, vagy csak naponta egyszer fusson. Ez tényleg rajtad áll.

Ne feledje, hogy sok segédprogram van, amely lehetővé teszi szinkronizálást ssh vagy ftp segítségével. Nem kell az rsync-t használni.

Biztonság

Az első dolog, amit szeretnél tenni, győződjön meg róla, hogy rendszeres felhasználói fiókod van az ssh használatával, és győződjön meg róla, hogy a su használatával átválthat root-ra. Nagyon rossz ötlet, hogy engedélyezd a közvetlen bejelentkezést a root számára az ssh fölött.

Letiltja a Root Login SSH-t

Szerkessze az / etc / ssh / sshd_config fájlt, és keresse meg a következő sort:

#PermitRootLogin yes

Módosítsa ezt a sort, hogy így nézzen ki:

PermitRootLogin no

Győződjön meg róla, hogy rendszeres felhasználói fiókja van, és gyökerei tudnak tenni, mielőtt végrehajtaná ezt a változtatást, különben kizárhatja magát.

Letiltja az SSH 1. verzióját

Valóban nincs más ok, mint az SSH 2. verziója, mivel biztonságosabb, mint a korábbi verziók. Szerkessze az / etc / ssh / sshd_config fájlt, és keresse meg a következő részt:

#Protocol 2,1 Protocol 2

Győződjön meg róla, hogy csak a 2. protokollt használja az ábrán látható módon.

Indítsa újra az SSH kiszolgálót

Most újra kell indítania az SSH kiszolgálót, hogy ez érvényesüljön.

/etc/init.d/sshd restart

Ellenőrizze a nyitott portokat

A következő parancs segítségével megtekintheti, hogy a kiszolgáló mely portokat hallgatja:

netstat -an | grep LISTEN

Tényleg nem kell semmit hallgatnia a plesk 22, 80, esetleg 8443 portján kívül.

Tűzfal beállítása

Fő cikk:Az Iptables használata Linux alatt

Opcionálisan beállíthat egy iptables tűzfalat, hogy blokkoljon több kapcsolatot. Például általában blokkolom a hozzáférést minden más porthoz, amely nem a munkahelyem hálózatából származik. Ha dinamikus IP-címed van, elkerülheted ezt a lehetőséget.

Ha eddig az útmutató összes lépését követte, akkor valószínűleg nem kell tűzfalat hozzáadnia a keverékhez, de jó megérteni az opcióit.

Lásd még

Az Iptables használata Linux alatt

Irodalom

  • A DV-szerver optimalizálása (mediatemple.net)
  • XCache

Ajánlott: