Justere en dedikert virtuell webserver

May 22, 2025
Personvern og sikkerhet
UCACHED INNHOLD

Når du får en dedikert virtuell server til å kjøre nettstedet ditt, er sjansen stor for at den er konfigurert for alle, og ikke tilpasset for å maksimere ytelsen for å kjøre et nettsted.

Innhold

[ gjemme seg ]

  • 1 Oversikt
  • 2 Linux-konfigurasjon
    • 2.1 Deaktiver DNS
    • 2.2 Deaktiver SpamAssassin
    • 2.3 Deaktiver xinetd
    • 2.4 Begrens Plesk-minnebruk
    • 2.5 Deaktiver eller slå av Plesk (valgfritt)
  • 3 MySQL-konfigurasjon
    • 3.1 Aktiver spørringsbuffer
    • 3.2 Deaktiver TCP / IP
  • 4 Apache-konfigurasjon
  • 5 PHP-konfigurasjon
    • 5.1 Fjern unødvendige PHP-moduler
    • 5.2 PHP Opcode Cache
  • 6 sikkerhetskopier
    • 6.1 Opprett automatisk sikkerhetskopieringsskript
    • 6.2 Synkroniser sikkerhetskopier utenfor Rsync
  • 7 Sikkerhet
    • 7.1 Deaktiver rotpålogging over SSH
    • 7.2 Deaktiver SSH versjon 1
    • 7.3 Start SSH Server på nytt
    • 7.4 Se etter åpne porter
    • 7.5 Konfigurere en brannmur
  • 8 Se også
  • 9 Referanser

Oversikt

Det er en rekke problemområder der vi vil maksimere ytelsen:

  • Linux-konfigurasjon
    Det er vanligvis tjenester som kjører som ikke trenger å være, og kaster bort minne som kan brukes til flere tilkoblinger.
  • MySQL-konfigurasjon
    Ofte er standardinnstillingene basert på en liten server, vi kan legge til noen få viktige endringer for å øke ytelsen mye.
  • Apache-konfigurasjon
    Som standard installerer de fleste hostingleverandører apache med nesten alle moduler installert. Det er ingen grunn til å laste inn moduler hvis du aldri skal bruke dem.
  • PHP-konfigurasjon
    Standard PHP-konfigurasjonen er tilsvarende oppblåst, det er vanligvis massevis av unødvendige ekstra moduler installert.
  • PHP Opcode Cache
    I stedet for å la PHP kompilere skriptene på nytt hver eneste gang, vil en opcode-cache cache de kompilerte skriptene i minnet for store ytelsesforbedringer.
  • Sikkerhetskopier
    Bør sannsynligvis sette opp noen automatiserte sikkerhetskopier, siden hostingleverandøren ikke kommer til å gjøre det for deg.
  • Sikkerhet
    Visst, Linux er sikker nok som standard, men det er vanligvis noen skarpe sikkerhetsproblemer du kan fikse med noen få raske innstillinger.

Linux-konfigurasjon

Det er ganske mange justeringer du kan gjøre, som vil variere litt avhengig av serveren du bruker. Disse tilpasningene er for en server som kjører CentOS, men de bør fungere for de fleste DV-servere.

Deaktiver DNS

Hvis vertsleverandøren din håndterer DNS for domenet ditt (sannsynlig), kan du deaktivere DNS-tjenesten fra å kjøre.

deaktiver dns
/etc/init.d/navnet stopp
chmod 644 /etc/init.d/navnet

Kommandoen chmod fjerner tillatelsen fra skriptet og forhindrer at den kjører ved oppstart.

Deaktiver SpamAssassin

Hvis du ikke bruker e-postkontoer på selve serveren din, bør du ikke bry deg med å kjøre anti-spam-verktøy. (Du bør også sjekke ut Google Apps, mye bedre e-postløsning)

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

Deaktiver xinetd

Xinetd-prosessen huser en rekke andre prosesser, hvorav ingen er nyttige for en typisk webserver.

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

Begrens Plesk-minnebruk

Hvis du bruker plesk-panelet, kan du tvinge det til å bruke mindre minne ved å legge til en alternativfil.

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

Legg til følgende linjer i filen:

MinSpareServers 1
MaxSpareServers 1
StartServers 1
MaxClients 5

Vær oppmerksom på at dette alternativet er kjent for å fungere på MediaTemple DV-servere, men det har ikke blitt sjekket på noen andre. (Se Referanser )

Deaktiver eller slå av Plesk (valgfritt)

Hvis du bare bruker Plesk en gang i året, er det veldig liten grunn til å la den gå i det hele tatt. Merk at dette trinnet er helt valgfritt og litt mer avansert.

Kjør følgende kommando for å slå av plesk:

/etc/init.d/psa stopp

Du kan deaktivere at den kjører ved oppstart ved å kjøre følgende kommando:

chmod 644 /etc/init.d/psa

Merk at hvis du deaktiverer det, kan du ikke starte det manuelt uten å endre filtillatelsene tilbake (chmod u + x).

MySQL-konfigurasjon

Aktiver spørringsbuffer

Åpne /etc/my.cnf filen og legg til følgende linjer i [mysqld] delen slik:

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

Du kan legge til mer minne i søkebufferen hvis du vil, men ikke bruk for mye.

Deaktiver TCP / IP

Et overraskende antall verter muliggjør tilgang til MySQL på TCP / IP som standard, noe som ikke gir mening for et nettsted. Du kan finne ut om mysql lytter på TCP / IP ved å kjøre følgende kommando:

netstat -an | grep 3306

For å deaktivere, legg til følgende linje i /etc/my.cnf-filen:

hopp over nettverk

Apache-konfigurasjon

Åpne httpd.conf-filen, ofte funnet i /etc/httpd/conf/httpd.conf

Finn linjen som ser slik ut:

Tidsavbrudd 120

Og endre det til dette:

Tidsavbrudd 20

Finn nå seksjonen som inneholder disse linjene, og juster til noe lignende:

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

PHP-konfigurasjon

En av tingene du må huske på når du tilpasser en server på PHP-plattformen, er at hver eneste apache-tråd skal laste opp PHP på et eget sted i minnet. Dette betyr at hvis en ubrukt modul legger til 256k minne til PHP, kaster du bort 10MB minne.

Fjern unødvendige PHP-moduler

Du må finne din php.ini-fil, som vanligvis finnes i /etc/php.ini (Merk at på noen distribusjoner vil det være en /etc/php.d/-katalog med et antall .ini-filer, en for hver modul.

Kommenter eventuelle lastmodullinjer med disse modulene:

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

Todo: Legg til mer informasjon her.

PHP Opcode Cache

Det er en rekke opcode-cacher du kan bruke, inkludert APC, eAccelerator og Xcache, den siste er min personlige preferanse på grunn av stabilitet.

Last ned xcache og trekk den ut i en katalog, og kjør deretter følgende kommandoer fra xcache-kildekatalogen:

phpize
./configure --enable-xcache
gjøre
gjøre installasjon

Åpne php.ini-filen og legg til en ny seksjon for xcache. Du må justere banene hvis php-modulene er lastet fra et annet sted.

vi /etc/php.ini

Legg til følgende avsnitt i filen:

[xcache-common]
zend_extension = /usr/lib/php/modules/xcache.so
[xcache.admin]
xcache.admin.user = "brukernavn"
xcache.admin.pass = "putanmd5hashhere"
[xcache]
; Endre xcache.size for å stille inn størrelsen på opcode-hurtigbufferen
xcache.size = 16M
xcache.shm_scheme = "mmap"
xcache.count = 1
xcache.slots = 8K
xcache.ttl = 0
xcache.gc_interval = 0
; Endre xcache.var_size for å justere størrelsen på variabel 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 = Av
xcache.readonly_protection = På
xcache.mmap_path = "/ tmp / xcache"
xcache.coredump_directory = ""
xcache.cacher = På
xcache.stat = På
xcache.optimizer = Av

Todo: Trenger å utvide dette litt og koble til xcache i referansene.

Sikkerhetskopier

Det er veldig lite viktigere enn å ha automatiserte sikkerhetskopier av nettstedet ditt. Du kan kanskje få sikkerhetskopier av øyeblikksbilder fra vertsleverandøren din, noe som også er veldig nyttig, men jeg foretrekker å ha automatiserte sikkerhetskopier også.

Lag automatisk sikkerhetskopieringsskript

Jeg begynner vanligvis med å lage en / backups-katalog, med en / backup / files-katalog under. Du kan justere disse banene hvis du vil.

mkdir -p / sikkerhetskopier / filer

Opprett nå et backup.sh-skript i sikkerhetskopikatalogen:

vi /backups/backup.sh

Legg til følgende i filen, og juster banene og mysqldump-passordet etter behov:

#! / bin / sh

THEDATE = `dato +% 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

finn / sikkerhetskopier / filer / nettsted * -mtime +5 -exec rm {} \;
finn / sikkerhetskopier / filer / db * -mtime +5 -exec rm {} \;

Skriptet oppretter først en datovariabel slik at alle filene får samme navn for en enkelt sikkerhetskopi, og deretter dumpes databasen, tar opp webfilene og gzips dem. Funnkommandoene brukes til å fjerne filer eldre enn 5 dager, siden du ikke vil at stasjonen din skal gå tom for plass.

Gjør skriptet kjørbart ved å kjøre følgende kommando:

chmod u + x /backups/backup.sh

Deretter må du tilordne den til å kjøre automatisk av cron. Forsikre deg om at du bruker en konto som har tilgang til sikkerhetskopikatalogen.

crontab -e

Legg til følgende linje i crontab:

1       1       *       *       *       /backups/backup.sh

Du kan teste skriptet på forhånd ved å kjøre det mens du er logget på brukerkontoen. (Jeg kjører vanligvis sikkerhetskopiene som root)

Synkroniser sikkerhetskopier utenfor stedet med Rsync

Nå som du har automatiserte sikkerhetskopier av serveren din som kjører, kan du synkronisere dem et annet sted ved å bruke rsync-verktøyet. Du vil lese denne artikkelen om hvordan du konfigurerer ssh-taster for automatisk pålogging: Legg til offentlig SSH-nøkkel til ekstern server i en enkelt kommando

Du kan teste dette ved å kjøre denne kommandoen på en linux- eller Mac-maskin et annet sted (jeg har en linux-server hjemme, det er der jeg kjører dette)

rsync -a [email protected]: / sikkerhetskopier / filer / * / offsitebackups /

Dette vil ta ganske lang tid å kjøre første gang, men til slutt bør din lokale datamaskin ha en kopi av filkatalogen i / offsitebackups / katalogen. (Sørg for å opprette den katalogen før du kjører skriptet)

Du kan planlegge dette ved å legge det til en crontab-linje:

crontab -e

Legg til følgende linje, som vil kjøre rsync hver time ved 45-minutters markering. Du vil merke at vi bruker hele veien for å synkronisere her.

45 * * * * / usr / bin / rsync -a [email protected]: / sikkerhetskopier / filer / * / offsitebackups /

Du kan planlegge at den skal kjøre på et annet tidspunkt, eller bare en gang per dag. Det er virkelig opp til deg.

Merk at det er mange verktøy som lar deg synkronisere via ssh eller ftp. Du trenger ikke å bruke rsync.

Sikkerhet

Det første du vil gjøre er å sørge for at du har en vanlig brukerkonto å bruke gjennom ssh, og sørg for at du kan bruke su til å bytte til root. Det er en veldig dårlig idé å tillate direkte pålogging for root over ssh.

Deaktiver rotpålogging over SSH

Rediger / etc / ssh / sshd_config filen, og se etter følgende linje:

#PermitRootLogin ja

Endre den linjen slik at den ser ut:

PermitRootLogin nr

Forsikre deg om at du har en vanlig brukerkonto og kan su til root før du gjør denne endringen, ellers kan du låse deg ute.

Deaktiver SSH versjon 1

Det er egentlig ingen grunn til å bruke noe annet enn SSH versjon 2, siden den er sikrere enn tidligere versjoner. Rediger / etc / ssh / sshd_config filen, og se etter følgende avsnitt:

#Protokol 2,1
Protokoll 2

Forsikre deg om at du bare bruker protokoll 2 som vist.

Start SSH Server på nytt

Nå må du starte SSH-serveren på nytt for å få denne til å tre i kraft.

/etc/init.d/sshd start på nytt

Se etter åpne porter

Du kan bruke følgende kommando for å se hvilke porter serveren lytter til:

netstat -an | grep LISTEN

Du burde egentlig ikke ha noe å lytte til annet enn porter 22, 80 og muligens 8443 for plesk.

Konfigurer en brannmur

Du kan eventuelt konfigurere en iptables-brannmur for å blokkere flere tilkoblinger. For eksempel blokkerer jeg vanligvis tilgang til andre porter enn fra arbeidsnettverket mitt. Hvis du har en dynamisk IP-adresse, vil du unngå dette alternativet.

Hvis du allerede har fulgt alle trinnene i denne guiden så langt, er det sannsynligvis ikke nødvendig å legge til en brannmur i blandingen, men det er godt å forstå alternativene dine.

Se også

  • Bruke Iptables på Linux

Referanser

.post-innhold .inngangs-bunntekst

Setting Up Virtual Hosts For The Apache Web Server - Tutorial

WHM Dedicated Server Configuration 3

Setting Up A Dedicated Server For A Multiplayer Game In Unity

WHM Bangla Tutorial Dedicated Server Configuration 2

Valheim Dedicated Server Setup | Host A FREE Private Server

How To Deploy A Cloud Dedicated Server With Free InterWorx - Host Unlimited Accounts

Set Up A Simple Web Server At Home In Under 10 Minutes Using Windows And WAMP

How To Setup A Cloud Dedicated Server W/InterWorx & Add Your Website, Name Servers, & Hostname SSL


Personvern og sikkerhet - Mest populære artikler

Slik logger du alle enheter ut av din Slack-konto

Personvern og sikkerhet Dec 4, 2024

Hvis du er bekymret for at noen har tilgang til Slack-kontoen din, eller hvis du vil sørge for at gamle enheter ikke lenger er pålogget, kan du logge hver enhet ut av kontoen din ..


Slik laster du ned videoer fra SkyBell HD

Personvern og sikkerhet Oct 25, 2025

SkyBell HD lagrer alle de siste innspilte videoene dine i skyen i opptil 20 videoer om gangen. Dette kan gå fort hvis dørklokken brukes mye, så her laster du ned videoer fra SkyB..


Slik roter du Android-telefonen din med Magisk (så Android Pay og Netflix fungerer igjen)

Personvern og sikkerhet Sep 15, 2025

Android-brukere har vært roter telefonene sine siden begynnelsen av operativsystemet, men de siste årene har det blitt mye mer komplisert. Mer nylig har en ny metod..


Hvordan vise Facebook-siden din som noen annen

Personvern og sikkerhet May 18, 2025

Facebook-siden kan avsløre mye om deg for alle som besøker. Hvis innleggene dine er offentlige, kan alle se hva du deler. Det er måter å låse ned Facebook-kontoen din, som ..


Hvordan vise (og redigere) Photo EXIF-data på Android

Personvern og sikkerhet Apr 14, 2025

I SLEKT: Hva er EXIF-data, og hvordan kan jeg fjerne dem fra bildene mine? Photo EXIF-data er nyttige for å se relevant inform..


Hvordan passordbeskytte dokumenter og PDF-filer med Microsoft Office

Personvern og sikkerhet May 28, 2025

Microsoft Office lar deg kryptere Office-dokumenter og PDF-filer, slik at ingen selv kan se filen med mindre de har passordet. Moderne versjoner av Office bruker sikre krypt..


Slik setter du inn moderne apper på Windows 8

Personvern og sikkerhet Aug 24, 2025

UCACHED INNHOLD Den gjennomsnittlige Windows 8-brukeren kan bare laste ned apper som Microsoft har godkjent fra Windows Store. Windows 8 tilbyr to måter å sideloade ikke-godkjen..


Hvordan konfigurere Ubuntus innebygde brannmur

Personvern og sikkerhet Jul 10, 2025

Ubuntu inkluderer sin egen brannmur, kjent som ufw - forkortelse for "ukomplisert brannmur." Ufw er en brukervennlig frontend for standard Linux iptables-kommandoer. Du kan til og m..


Kategorier