Een speciale virtuele webserver tweaken

Wanneer u een speciale virtuele server krijgt om uw website te laten draaien, is de kans groot dat deze voor iedereen is geconfigureerd en niet is aangepast om de prestaties voor het runnen van een website te maximaliseren.

Inhoud

[verbergen]

  • 1. Overzicht
  • 2 Linux-configuratie
    • 2.1 DNS uitschakelen
    • 2.2 SpamAssassain uitschakelen
    • 2.3 Schakel xinetd uit
    • 2.4 Beperk het gebruik van Plesk-geheugen
    • 2.5 Plesk uitschakelen of uitschakelen (optioneel)
  • 3 MySQL-configuratie
    • 3.1 Querycache inschakelen
    • 3.2 TCP/IP uitschakelen
  • 4 Apache-configuratie
  • 5 PHP-configuratie
    • 5.1 Onnodige PHP-modules verwijderen
    • 5.2 PHP Opcode-cache
  • 6 back-ups
    • 6.1 Geautomatiseerd back-upscript maken
    • 6.2 Synchroniseer back-ups off-site met Rsync
  • 7 Beveiliging
    • 7.1 Root-aanmelding via SSH uitschakelen
    • 7.2 SSH-versie 1 uitschakelen
    • 7.3 Herstart SSH-server
    • 7.4 Controleren op open poorten
    • 7.5 Een firewall instellen
  • 8 Zie ook
  • 9 referenties

Overzicht

Er is een aantal probleemgebieden waar we de prestaties willen maximaliseren:



  • Linux-configuratie
    Er zijn meestal services actief die dat niet hoeven te zijn, waardoor geheugen wordt verspild dat voor meer verbindingen kan worden gebruikt.
  • MySQL-configuratie
    Vaak zijn de standaardinstellingen gebaseerd op een kleine server, we kunnen een paar belangrijke wijzigingen toevoegen om de prestaties aanzienlijk te verbeteren.
  • Apache-configuratie
    Standaard installeren de meeste hostingproviders apache met bijna elke geïnstalleerde module. Er is geen reden om modules te laden als u ze nooit gaat gebruiken.
  • PHP-configuratie
    De standaard PHP-configuratie is op dezelfde manier opgeblazen, er zijn meestal een heleboel onnodige extra modules geïnstalleerd.
  • PHP Opcode-cache
    In plaats van PHP toe te staan ​​de scripts elke keer opnieuw te compileren, zal een opcode-cache de gecompileerde scripts in het geheugen cachen voor enorme prestatieverbeteringen.
  • Back-ups
    Moet waarschijnlijk een aantal geautomatiseerde back-ups instellen, aangezien uw hostingprovider het niet voor u zal doen.
  • Veiligheid
    Natuurlijk is Linux standaard veilig genoeg, maar er zijn meestal enkele opvallende beveiligingsproblemen die u kunt oplossen met een paar snelle instellingen.

Linux-configuratie

Er zijn nogal wat aanpassingen die u kunt doen, die enigszins zullen variëren op basis van de server die u gebruikt. Deze aanpassingen zijn voor een server met CentOS, maar ze zouden moeten werken voor de meeste DV-servers.

DNS uitschakelen

Als uw hostingprovider (waarschijnlijk) de DNS voor uw domein afhandelt, kunt u de DNS-service uitschakelen.

|__+_|

De opdracht chmod verwijdert de uitvoermachtiging van het script, waardoor het niet meer wordt uitgevoerd bij het opstarten.

SpamAssassain uitschakelen

Als u geen e-mailaccounts op uw server zelf gebruikt, moet u geen antispamtools gebruiken. (Je zou ook Google Apps moeten bekijken, een veel betere e-mailoplossing)

|__+_|

Schakel xinetd uit

Het xinetd-proces herbergt een aantal andere processen, die geen van alle nuttig zijn voor een typische webserver.

|__+_|

Beperk het gebruik van Plesk-geheugen

Als u het plesk-paneel gebruikt, kunt u het forceren om minder geheugen te gebruiken door een optiebestand toe te voegen.

|__+_|

Voeg de volgende regels toe aan het bestand:

|__+_|

Merk op dat het bekend is dat deze optie werkt op MediaTemple DV-servers, maar niet is aangevinkt op andere. (Zie referenties)

Plesk uitschakelen of uitschakelen (optioneel)

Als u Plesk maar één keer per jaar gebruikt, is er weinig reden om het helemaal te laten draaien. Merk op dat deze stap volledig optioneel is en iets geavanceerder.

Voer de volgende opdracht uit om plesk uit te schakelen:

|__+_|

U kunt uitschakelen bij het opstarten door de volgende opdracht uit te voeren:

|__+_|

Merk op dat als u het uitschakelt, u het niet handmatig kunt starten zonder de bestandsrechten terug te wijzigen (chmod u+x).

MySQL-configuratie

Querycache inschakelen

Open uw /etc/my.cnf-bestand en voeg de volgende regels toe aan uw [mysqld]-sectie als volgt:

|__+_|

U kunt desgewenst meer geheugen aan de querycache toevoegen, maar gebruik niet te veel.

TCP/IP uitschakelen

Een verrassend aantal hosts maakt standaard toegang tot MySQL op TCP/IP mogelijk, wat niet logisch is voor een website. U kunt erachter komen of mysql luistert op TCP/IP door de volgende opdracht uit te voeren:

|__+_|

Om uit te schakelen, voegt u de volgende regel toe aan uw /etc/my.cnf-bestand:

|__+_|

Apache-configuratie

Open je httpd.conf-bestand, vaak te vinden in /etc/httpd/conf/httpd.conf

Zoek de regel die er als volgt uitziet:

|__+_|

En verander het in dit:

|__+_|

Zoek nu het gedeelte dat deze regels bevat en pas het aan naar iets soortgelijks:

|__+_|

PHP-configuratie

Een van de dingen om in gedachten te houden bij het aanpassen van een server op het PHP-platform, is dat elke afzonderlijke apache-thread PHP op een aparte locatie in het geheugen laadt. Dit betekent dat als een ongebruikte module 256k geheugen toevoegt aan PHP, je over 40 apache-threads 10 MB geheugen verspilt.

Verwijder onnodige PHP-modules

Je moet je php.ini-bestand vinden, dat je meestal kunt vinden in /etc/php.ini (merk op dat bij sommige distributies er een /etc/php.d/-map zal zijn met een aantal .ini-bestanden, één voor elke module.

Becommentarieer eventuele loadmodule-regels met deze modules:

  • odbc
  • snmp
  • pdo
  • odbc pdo
  • mysqli
  • ioncube-lader
  • json
  • imap
  • ldap
  • ncurses

Werkzaamheden: Voeg hier meer informatie toe.

PHP Opcode-cache

Er zijn een aantal opcode-caches die u kunt gebruiken, waaronder APC, eAccelerator en Xcache, de laatste is mijn persoonlijke voorkeur vanwege de stabiliteit.

Download xcache en pak het uit in een map en voer vervolgens de volgende opdrachten uit vanuit de xcache-bronmap:

|__+_|

Open je php.ini-bestand en voeg een nieuwe sectie toe voor xcache. U moet de paden aanpassen als uw php-modules ergens anders worden geladen.

|__+_|

Voeg de volgende sectie toe aan het bestand:

|__+_|

Todo: Moet dit een beetje uitbreiden en linken naar xcache in de referenties.

Back-ups

Er is weinig belangrijker dan het hebben van geautomatiseerde back-ups van uw website. Je kunt misschien snapshot-back-ups krijgen van je hostingprovider, wat ook erg handig is, maar ik heb ook liever geautomatiseerde back-ups.

Geautomatiseerd back-upscript maken

Ik begin meestal met het maken van een /backups-directory, met een /backups/files-directory eronder. U kunt deze paden desgewenst aanpassen.

|__+_|

Maak nu een backup.sh-script in de directory backups:

|__+_|

Voeg het volgende toe aan het bestand en pas zo nodig de paden en het mysqldump-wachtwoord aan:

|__+_|

Het script maakt eerst een datumvariabele zodat alle bestanden dezelfde naam krijgen voor een enkele back-up, dumpt vervolgens de database, tar-up van de webbestanden en gzipt ze. De find-commando's worden gebruikt om bestanden ouder dan 5 dagen te verwijderen, omdat u niet wilt dat uw schijf te weinig ruimte heeft.

Maak het script uitvoerbaar door de volgende opdracht uit te voeren:

|__+_|

Vervolgens moet je het toewijzen om automatisch door cron te worden uitgevoerd. Zorg ervoor dat u een account gebruikt dat toegang heeft tot de back-upmap.

|__+_|

Voeg de volgende regel toe aan de crontab:

|__+_|

U kunt het script van tevoren testen door het uit te voeren terwijl u bent aangemeld bij het gebruikersaccount. (Ik voer de back-ups meestal uit als root)

Synchroniseer back-ups off-site met Rsync

Nu u automatische back-ups van uw server hebt gemaakt, kunt u deze ergens anders synchroniseren met behulp van het hulpprogramma rsync. U wilt dit artikel lezen over het instellen van ssh-sleutels voor automatisch inloggen: Voeg openbare SSH-sleutel toe aan externe server in één enkele opdracht

Je kunt dit testen door dit commando op een linux- of Mac-machine op een andere locatie uit te voeren (ik heb thuis een linux-server, en daar voer ik dit uit)

|__+_|

Dit zal de eerste keer een behoorlijke tijd in beslag nemen, maar aan het einde zou uw lokale computer een kopie van de bestandendirectory in de /offsitebackups/-directory moeten hebben. (Zorg ervoor dat u die map maakt voordat u het script uitvoert)

Je kunt dit plannen door het toe te voegen aan een crontab-regel:

|__+_|

Voeg de volgende regel toe, die na 45 minuten elk uur rsync zal uitvoeren. U zult merken dat we hier het volledige pad naar rsync gebruiken.

|__+_|

Je zou kunnen plannen om het op een ander tijdstip te laten draaien, of slechts één keer per dag. Dat is echt aan jou.

Merk op dat er veel hulpprogramma's zijn waarmee u kunt synchroniseren via ssh of ftp. U hoeft rsync niet te gebruiken.

Veiligheid

Het eerste dat je wilt doen, is ervoor zorgen dat je een normaal gebruikersaccount hebt om te gebruiken via ssh, en ervoor zorgen dat je su kunt gebruiken om over te schakelen naar root. Het is een heel slecht idee om directe login voor root via ssh toe te staan.

Root-aanmelding via SSH uitschakelen

Bewerk het bestand /etc/ssh/sshd_config en zoek naar de volgende regel:

|__+_|

Verander die regel om er als volgt uit te zien:

|__+_|

Zorg ervoor dat je een gewone gebruikersaccount hebt en dat je kunt rooten voordat je deze wijziging aanbrengt, anders kun je jezelf buitensluiten.

SSH-versie 1 uitschakelen

Er is echt geen reden om iets anders te gebruiken dan SSH-versie 2, omdat het veiliger is dan eerdere versies. Bewerk het bestand /etc/ssh/sshd_config en zoek naar de volgende sectie:

|__+_|

Zorg ervoor dat u alleen Protocol 2 gebruikt zoals weergegeven.

Herstart SSH-server

Nu moet u de SSH-server opnieuw opstarten om dit van kracht te laten worden.

|__+_|

Controleren op open poorten

U kunt de volgende opdracht gebruiken om te zien op welke poorten de server luistert:

|__+_|

Er zou echt niets anders moeten luisteren dan poorten 22, 80 en mogelijk 8443 voor plesk.

Een firewall instellen

Hoofdartikel: Iptables gebruiken op Linux‎

U kunt optioneel een iptables-firewall instellen om meer verbindingen te blokkeren. Ik blokkeer bijvoorbeeld meestal de toegang tot andere poorten dan vanaf mijn werknetwerk. Als u een dynamisch IP-adres heeft, wilt u die optie vermijden.

Als je alle stappen in deze handleiding tot nu toe al hebt gevolgd, is het waarschijnlijk niet nodig om ook een firewall aan de mix toe te voegen, maar het is goed om je opties te begrijpen.

Zie ook

  • Iptables gebruiken op Linux

Referenties

  • Uw DV-server optimaliseren (mediatemple.net)
  • XCache

Meer verhalen

Zoeken op internet vanuit het menu Start in Windows 7

De nieuwe zoekfunctie in Windows 7 is sterk verbeterd voor het navigeren op uw pc. Maar hoe netjes zou het zijn om op internet te zoeken vanuit het Startmenu? Hier laten we je zien hoe je dat doet.

Prullenbak toevoegen aan mijn computer in Windows 7 of Vista

Heb je ooit de Prullenbak willen toevoegen aan je Mijn Computer-scherm? Ja, het is waarschijnlijk niet het meest voorkomende verzoek, maar hier is hoe je het toch doet met een eenvoudige registerhack.

Decodeer en kopieer dvd's naar uw harde schijf zonder te rippen

Heb je ooit back-ups van je dvd's willen maken, maar wilde je niet knoeien met verwarrende dvd-ripsoftware? Vandaag zullen we kijken naar een doodeenvoudige methode om dvd's on-the-fly te decoderen met DVD43, zodat u ze gemakkelijk naar uw harde schijf kunt kopiëren.

Installeer WordPress handmatig op uw website met behulp van CPanel Wizards

Wil je WordPress direct op je eigen site installeren? We hebben besproken hoe u WordPress kunt gebruiken voor uw persoonlijke blog of website, dus hier leest u hoe u de WordPress-software handmatig op uw eigen site kunt installeren.

De functie Bibliotheken in- of uitschakelen in Windows 7

Als u gewoon niet kunt wennen aan de nieuwe functie Bibliotheken in Windows 7, kunt u deze eenvoudig uitschakelen met een registerhack, hoewel we u aanraden meer te weten te komen over de voordelen in plaats van deze uit te schakelen.

Android uitvoeren op uw Windows Mobile Phone

Geïnteresseerd in Android, maar denk je dat je een nieuwe telefoon moet kopen om het uit te proberen? Uw Windows Mobile-telefoon heeft mogelijk al de mogelijkheid om Android uit te voeren. Vandaag laten we je zien hoe en welk type telefoon je nodig hebt.

Excel-bestanden exporteren of opslaan met scheidingstekens (of andere) in plaats van komma's

Als je met een of ander vreselijk bedrijfssysteem werkt dat in de middeleeuwen met pensioen had moeten gaan, had je misschien een bestand uit Excel moeten maken met een aantal vreemde scheidingstekens anders dan komma's of door tabs gescheiden om in het systeem te importeren. Hier is de truc om het te doen.

De tijdsduur wijzigen wanneer gebruikers hun inlogwachtwoord moeten wijzigen

Als u de beheerder bent van een gedeelde computer of een paar computers op kantoor, wilt u waarschijnlijk dat de gebruikers hun wachtwoord regelmatig wijzigen voor een betere beveiliging. Hier leest u hoe u dit doet in Windows 7 en XP.

Beginner Geek: onthoud alles wat u online ziet met Evernote voor Chrome

Heb je ooit een geweldig artikel, afbeelding of download op een website ontdekt, om later te vergeten waar het was? Hier leest u hoe u Evernote kunt gebruiken om interessante dingen op internet bij te houden met de nieuwe Evernote-extensie voor Chrome.

Vraag de lezers: welke antivirus gebruikt u? [Opiniepeiling]

Elke dag verschijnen er nieuwe virussen met als enig doel uw persoonlijke gegevens en computersystemen in gevaar te brengen. Deze week willen we weten welke antivirussoftware jij gebruikt.