NGINX, PHP-FPM en MariaDB instellen op Debian 8

Deze gids zal u tonen hoe u een "alternatieve" LAMP-stack op Debian 8 correct installeert en configureert met NGINX, PHP Fast Process Manager en MariaDB.

NGINX

NGINX is een "reverse proxy first, web server second". Het is een populair en groeiend alternatief voor Apache, dat in veel gevallen meer flexibiliteit en betere prestaties biedt. In deze tutorial gebruiken we het als onze webserver.

Start uw favoriete SSH-client en log in op uw server. Voor Windows-gebruikers is "PuTTY" een gratis en lichtgewicht SSH-client. Linux- en Mac-gebruikers kunnen de standaard meegeleverde terminal gebruiken met hun besturingssysteem. Voor deze tutorial gaan we ervan uit dat je als "root" -gebruiker op je server bent ingelogd.

Laten we om te beginnen ervoor zorgen dat alles up-to-date is. Typ het volgende om te controleren op updates en deze vervolgens te installeren.

apt-get update && apt-get upgrade

We zullen onze configuratiebestanden in vim bewerken. Vim is niet standaard geïnstalleerd, dus laten we het installeren!

apt-get install vim

Nu is het tijd om NGINX te installeren. We willen de nieuwste versie van NGINX installeren vanuit de officiële NGINX Debian-repository.

wget http://nginx.org/keys/nginx_signing.key
apt-key add nginx_signing.key
echo 'deb http://nginx.org/packages/debian/ jessie nginx' >> /etc/apt/sources.list
echo 'deb-src http://nginx.org/packages/debian/ jessie nginx' >> /etc/apt/sources.list
apt-get update && apt-get install nginx

Nu moeten we de NGINX-configuratie wat aanpassen. Navigeer naar de configuratiemap.

cd /etc/nginx

Een snelle vim-les

Gebruik de pijltoetsen om door het tekstdocument te navigeren. Om te beginnen met het maken van bewerkingen, drukt u op de knop "invoegen" op uw toetsenbord. Als uw toetsenbord geen invoegknop heeft, drukt u op de "i" -toets. Aan de onderkant van vim zul je merken dat er nu "INSERT" staat. Met de invoegmodus kunt u verwijderen via backspace of nieuwe tekens invoegen door ze te typen.

Laten we onze openstellen nginx.confen rondneuzen:

vi nginx.conf

Laten we de standaardgebruiker wijzigen, het aantal werkprocessen controleren en het toegangslogboek uitschakelen.

De richtlijnen "gebruiker" en "werkerprocessen" staan ​​bovenaan. Probeer de onderstaande waarden:

Merk op dat u "worker_processes" wilt instellen op het aantal CPU-kernen dat beschikbaar is op uw server. In dit voorbeeld hebben we 1, wat de NGINX-standaard is.

user www-data;
worker_processes 1;

We willen ook het toegangslogboek uitschakelen om de I / O-prestaties te verbeteren. Navigeer naar beneden met de pijltjestoetsen tot je "access_log" vindt. Wijzig het als volgt:

access_log off;

En tot slot zullen we de "client_max_body_size" instellen om te corresponderen met enkele wijzigingen die later in PHP worden aangebracht. Laten we de moeite besparen en het nu doen. Voeg net onder "access_log" toe:

client_max_body_size 12m;

Als je klaar bent met bewerken, druk je op "Esc" op je toetsenbord. Vim zegt niet langer "INSERT" onder aan het bestand.

Om onze wijzigingen op te slaan en vim af te sluiten, drukt u op de volgende toetsenreeks:

SHIFT :(colon)
wq
Press "Enter"

De bovenstaande vim kung fu zal je wijzigingen naar schijf schrijven en vim afsluiten, waardoor je weer in de bash-shell terechtkomt.

Nu moeten we een sitespecifieke configuratie maken voor ons voorbeeld! We zullen ook de andere voorbeeldconfiguraties verwijderen. Probeer het volgende:

cd conf.d
rm example_ssl.conf default.conf
vi my_site.conf

We zullen een korte en eenvoudige www.confbasis maken, losjes gebaseerd op de standaard NGINX-configuratie, maar met een paar aanpassingen. Druk op invoegen en u kunt het onderstaande voorbeeld kopiëren / plakken.

Vergeet niet de "root" -richtlijn te wijzigen om naar de root-directory van uw website te verwijzen, en "server_name" om met uw domein te corresponderen.

server {
    listen 80;

    root /path/to/your/website;
    index index.php index.html index.htm;

    server_name mydomainname.com www.mydomainname.com;

    location / {
            try_files $uri $uri/ /index.php;
    }

    location ~ \.php$ {
            try_files $uri =404;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
            fastcgi_pass unix:/var/run/php5-fpm.sock;
    }
}

Nu zijn we klaar met het NGINX-configuratiegedeelte van deze tutorial. We zullen NGINX een beetje opnieuw opstarten, direct nadat we PHP hebben geïnstalleerd.

PHP-FPM

PHP-FPM is de PHP Fast Process Manager. Het is vereist bij het gebruik van NGINX, omdat NGINX, in tegenstelling tot Apache, PHP niet als module uitvoert. Dit werd gedaan om de geheugenvoetafdruk van NGINX te verkleinen. Weet je nog dat deel over NGINX in de eerste plaats een omgekeerde proxy is? Hier komt dat in het spel; PHP-verzoeken die naar NGINX worden verzonden, worden naar PHP-FPM gestuurd om het zware werk te doen.

Laten we PHP-FPM installeren.

apt-get install php5-fpm php5-mysqlnd

Merk op dat, afhankelijk van wat uw PHP-scripts vereisen, u mogelijk andere PHP-modules moet installeren die niet standaard zijn inbegrepen. Populaire zijn php5-gden php5-mcrypt. Je kunt deze installeren met de volgende opdracht.

apt-get install php5-module_name_here

Nu we PHP-FPM hebben geïnstalleerd, willen we een paar snelle bewerkingen uitvoeren om de beveiliging en functionaliteit te verbeteren.

cd /etc/php5/fpm
vi php.ini

Tijd voor nog een snelle vim-les! Het php.inibestand is absoluut enorm. Het zoeken naar een paar kernwaarden duurt de hele dag. Dus omdat we weten wat we zoeken, gaan we zoeken. Typ het volgende:

/upload_max_filesize

Dit is standaard ingesteld op 2 megabytes. Als u gebruikers wilt toestaan ​​bestanden naar uw PHP-applicaties te uploaden die groter zijn dan 2 megabytes, moet u dit wijzigen. 10M is voorlopig waarschijnlijk een veilige gok, maar hogere waarden zijn ook acceptabel. Deze instelling is afhankelijk van de configuraties. Ter wille van de tutorial:

upload_max_filesize = 10M

Nog een flagrante beveiligingsfout. Scroll iets verder naar beneden of zoek. We moeten "allow_url_fopen" op "Off" zetten. Dit voorkomt dat PHP op afstand gehoste PHP-bestanden uitvoert, ook wel bekend als RFI (Remote File Inclusion). Veel servers worden op deze manier gehackt.

allow_url_fopen = Off

En omdat we "upload_max_filesize" hebben gewijzigd, moeten we nu "post_max_size" wijzigen. Deze waarde moet iets groter zijn dan "upload_max_filesize", omdat we rekening moeten houden met de overhead in verband met onze verzoeken die door PHP worden verwerkt.

Laten we nog een keer zoeken met "/ post_max_size".

post_max_size = 12M

Merk op dat u terug moet gaan naar uw NGINX-configuratie en "client_max_body_size" moet bewerken als u besluit om voor grotere waarden dan deze voorbeelden te gaan voor uw PHP-bestandsgroottes.

Dat is het voor nu. Zorg ervoor dat je niet in de bewerkingsmodus bent door op "Esc" te drukken. Sla op en verlaat VIM.

SHIFT :(colon)
wq
Press 'Enter'

De installatie van PHP-FPM is voltooid.

MariaDB

Zelfs in een wereld die voortdurend op weg is naar NoSQL of MongoDB, vinden sommigen van ons het nog steeds gemakkelijker om gewoon bij MySQL te blijven. Dit geldt vooral voor veel webapplicaties. Gelukkig bestaan ​​er nu een aantal "drop-in" vervangingen voor Oracle MySQL. Debian 8 bevat nu de altijd populaire MariaDB. MariaDB is een fork van Oracle MySQL gebaseerd op versie 5.5. MariaDB noemt dit voor alle doeleinden en doeleinden MariaDB 10. Het wordt beschouwd als een VOLLEDIGE vervanging voor Oracle MySQL. Zie het als MySQL in hart en nieren, zonder de Oracle-branding en enkele nieuwe functies.

apt-get install mariadb-server

BELANGRIJK: u moet absoluut, absoluut, een sterk root-wachtwoord kiezen voor MariaDB. Bewaar het ergens veilig. Je moet het twee keer invoeren tijdens de MariaDB-installatie.

Laten we de MariaDB-configuratie een beetje aanpassen. We gaan MariaDB-luisteren uitschakelen via de netwerkinterface. In plaats daarvan houden we, net als bij PHP-FPM eerder, alleen vast aan een UNIX-socket. De meeste PHP-applicaties moeten ondersteuning bieden voor verbinding met de databaseserver via een UNIX-socket in plaats van de lokale loopback-interface.

cd /etc/mysql
vi my.cnf

Zoek naar "bind-adres = 127.0.0.1". Geef commentaar op die regel. Hierboven of eronder voegt u "skip-networking" toe.

#bind-address = 127.0.0.1
skip-networking

We zijn klaar met MariaDB! Uiteindelijk wilt u misschien uw MariaDB-configuratie aanpassen, afhankelijk van of u voornamelijk de MyISAM- of InnoDB-opslagengines gebruikt, maar ook voor het aantal CPU-kernen en RAM dat beschikbaar is voor uw server. De standaardinstellingen zorgen ervoor dat we ondertussen aan de slag kunnen.

Laten we alle services opnieuw starten waarvoor configuratiebestanden zijn gewijzigd in deze zelfstudie.

systemctl restart nginx.service
systemctl restart php5-fpm.service
systemctl restart mysql.service

Dat is alles - we zijn allemaal klaar. Op dit moment heeft u een volledig functionele LNMP (LEMP) -server online!

Deze handleiding diende als algemene vuistregel om met minimale aanpassingen aan de slag te gaan met de bovenstaande services. Lees voor meer informatie de documentatie van de bovenstaande pakketten. Hoewel deze voorbeeldconfiguratie goed zou moeten werken "out of the box", kunnen aanpassingen waarschijnlijk worden gemaakt om beter aan uw behoeften te voldoen.

Aanbevolen gebieden om te onderzoeken:

  • Gebruik en aanpassing van de cache-besturing van NGINX.
  • PHP-FPM "statische", "dynamische" of "ondemand" taakbeheerinstellingen.
  • MariaDB-prestatietuning om het meeste uit uw databaseserver te halen.


Leave a Comment

Stel NFS Share op Debian in

Stel NFS Share op Debian in

NFS is een netwerkgebaseerd bestandssysteem waarmee computers toegang hebben tot bestanden via een computernetwerk. Deze gids legt uit hoe u mappen via NF kunt weergeven

Couch CMS 2.0 installeren op een Debian 9 LAMP VPS

Couch CMS 2.0 installeren op een Debian 9 LAMP VPS

Gebruikt u een ander systeem? Couch CMS is een eenvoudig en flexibel, gratis en open source Content Management Systeem (CMS) waarmee webdesigners kunnen ontwerpen

Golang 1.8.3 installeren op CentOS 7, Ubuntu 16.04 en Debian 9

Golang 1.8.3 installeren op CentOS 7, Ubuntu 16.04 en Debian 9

Golang is een door Google ontwikkelde programmeertaal. Dankzij zijn veelzijdigheid, eenvoud en betrouwbaarheid is Golang uitgegroeid tot een van de meest bevolkte

Quassel instellen op Debian 9

Quassel instellen op Debian 9

IRC is populair bij ontwikkelaars en gebruikers van open source software. Een van de nadelen van IRC is dat wanneer u niet online bent, u importan kunt missen

Sudo gebruiken op Debian, CentOS en FreeBSD

Sudo gebruiken op Debian, CentOS en FreeBSD

Het gebruik van een sudo-gebruiker om toegang te krijgen tot een server en opdrachten uit te voeren op rootniveau is een veel voorkomende praktijk onder Linux en Unix-systeembeheerder. Het gebruik van een sud

Een Chroot opzetten op Debian

Een Chroot opzetten op Debian

Dit artikel leert u hoe u een chroot-gevangenis op Debian instelt. Ik neem aan dat u Debian 7.x gebruikt. Als u Debian 6 of 8 gebruikt, kan dit werken, bu

Hoe PiVPN op Debian te installeren

Hoe PiVPN op Debian te installeren

Inleiding Een gemakkelijke manier om een ​​VPN-server op Debian in te stellen, is met PiVPN. PiVPN is een installatieprogramma en wrapper voor OpenVPN. Het maakt simpele commandos voor je

Brotli bouwen vanuit de bron op Debian 9

Brotli bouwen vanuit de bron op Debian 9

Gebruikt u een ander systeem? Brotli is een nieuwe compressiemethode met een betere compressieverhouding dan Gzip. De broncode wordt openbaar gehost op Github. Thi

Hoe Neos CMS op Debian 9 te installeren

Hoe Neos CMS op Debian 9 te installeren

Gebruikt u een ander systeem? Neos is een Content Application Platform met een CMS en een applicatieframework als kern. Deze gids laat u zien hoe u kunt installeren

Stel Cacti in op Debian Jessie

Stel Cacti in op Debian Jessie

Introductie Cacti is een open source monitoring- en grafische tool die volledig is gebaseerd op RRD Data. Via Cacti kunt u bijna elk type apparaat volgen

Java 8 en DCEVM installeren op Debian 8 (Jessie)

Java 8 en DCEVM installeren op Debian 8 (Jessie)

Java is een platformonafhankelijke programmeertaal / virtuele machine. In deze tutorial installeren we de OpenJDK-implementatie van Java 8 op een Debian

Een netwerk van Minecraft-servers maken met BungeeCord op Debian 8, Debian 9 of CentOS 7

Een netwerk van Minecraft-servers maken met BungeeCord op Debian 8, Debian 9 of CentOS 7

Wat je nodig hebt Een Vultr VPS met minimaal 1 GB RAM. SSH-toegang (met root- / beheerdersrechten). Stap 1: BungeeCord installeren Eerste dingen eerst

Hoe TermRecord op Ubuntu 16.04 en Debian 9 te installeren

Hoe TermRecord op Ubuntu 16.04 en Debian 9 te installeren

Gebruikt u een ander systeem? TermRecord is een eenvoudige open source-tool geschreven in Python, waarmee terminalsessies kunnen worden opgeslagen op een gemakkelijk te delen, zelfvoorzienende site

Matomo Analytics op Debian installeren 9

Matomo Analytics op Debian installeren 9

Gebruikt u een ander systeem? Matomo (voorheen Piwik) is een open source analyseplatform, een open alternatief voor Google Analytics. Matomo source wordt gehost o

Monitor Debian Server Status met Munin

Monitor Debian Server Status met Munin

Munin is een monitoringtool om processen en bronnen in uw machine te onderzoeken en presenteert de informatie in grafieken via een webinterface. Gebruik de followin

Hoe ImpressPages CMS 5.0 op een Debian 9 LAMP VPS te installeren

Hoe ImpressPages CMS 5.0 op een Debian 9 LAMP VPS te installeren

Gebruikt u een ander systeem? ImpressPages CMS 5.0 is een eenvoudig en effectief, gratis en open source, gebruiksvriendelijk, op MVC gebaseerd Content Management Systeem (CMS)

Samba instellen met blokopslag op Debian 9

Samba instellen met blokopslag op Debian 9

Samba is een open source-oplossing waarmee gebruikers snelle en veilige bestands- en printshares kunnen instellen. In dit artikel zal ik bespreken hoe je Samba wit kunt instellen

IP-adresbereik toevoegen aan uw server (CentOS / Ubuntu / Debian)

IP-adresbereik toevoegen aan uw server (CentOS / Ubuntu / Debian)

Inleiding In deze zelfstudie behandelen we het proces van het toevoegen van een volledig IP-bereik / subnet aan een Linux-server met CentOS, Debian of Ubuntu. Het proces

Ansible installeren en configureren op Debian 9 voor gebruik met Windows Server

Ansible installeren en configureren op Debian 9 voor gebruik met Windows Server

Gebruikt u een ander systeem? Ansible is een open source-tool voor het automatiseren van taken. Het beheert de configuratie van uw Linux- en Windows-servers. Het werk

Ghost v0.11 LTS implementeren op Debian 8

Ghost v0.11 LTS implementeren op Debian 8

Gebruikt u een ander systeem? Ghost is een open source blogplatform dat sinds zijn populariteit aan populariteit wint onder ontwikkelaars en gewone gebruikers

Kan AI vechten met toenemend aantal ransomware-aanvallen?

Kan AI vechten met toenemend aantal ransomware-aanvallen?

Ransomware-aanvallen nemen toe, maar kan AI helpen het nieuwste computervirus het hoofd te bieden? Is AI het antwoord? Lees hier weten is AI boezem of vloek

ReactOS: is dit de toekomst van Windows?

ReactOS: is dit de toekomst van Windows?

ReactOS, een open source en gratis besturingssysteem is hier met de nieuwste versie. Kan het voldoen aan de behoeften van moderne Windows-gebruikers en Microsoft uitschakelen? Laten we meer te weten komen over deze oude stijl, maar een nieuwere OS-ervaring.

Blijf verbonden via WhatsApp Desktop-app 24 * 7

Blijf verbonden via WhatsApp Desktop-app 24 * 7

WhatsApp heeft eindelijk de Desktop-app voor Mac- en Windows-gebruikers gelanceerd. Nu heb je eenvoudig toegang tot WhatsApp vanuit Windows of Mac. Beschikbaar voor Windows 8+ en Mac OS 10.9+

Hoe AI procesautomatisering naar een hoger niveau kan tillen?

Hoe AI procesautomatisering naar een hoger niveau kan tillen?

Lees dit om te weten hoe kunstmatige intelligentie populair wordt onder de kleinschalige bedrijven en hoe het de kansen vergroot om ze te laten groeien en hun concurrenten voorsprong te geven.

macOS Catalina 10.15.4 Supplement Update veroorzaakt meer problemen dan het oplost

macOS Catalina 10.15.4 Supplement Update veroorzaakt meer problemen dan het oplost

Onlangs heeft Apple macOS Catalina 10.15.4 uitgebracht, een aanvullende update om problemen op te lossen, maar het lijkt erop dat de update meer problemen veroorzaakt die ertoe leiden dat mac-machines worden gemetseld. Lees dit artikel voor meer informatie

13 Commerciële data-extractietools voor big data

13 Commerciële data-extractietools voor big data

13 Commerciële data-extractietools voor big data

Wat is een logboekbestandssysteem en hoe werkt het?

Wat is een logboekbestandssysteem en hoe werkt het?

Onze computer slaat alle gegevens op een georganiseerde manier op, het zogenaamde Journaling-bestandssysteem. Het is een efficiënte methode waarmee de computer bestanden kan zoeken en weergeven zodra u op zoeken drukt.https://wethegeek.com/?p=94116&preview=true

Technologische singulariteit: een verre toekomst van de menselijke beschaving?

Technologische singulariteit: een verre toekomst van de menselijke beschaving?

Naarmate de wetenschap zich snel ontwikkelt en veel van onze inspanningen overneemt, nemen ook de risico's toe om onszelf te onderwerpen aan een onverklaarbare singulariteit. Lees, wat singulariteit voor ons kan betekenen.

Een inzicht in 26 Big Data-analysetechnieken: deel 1

Een inzicht in 26 Big Data-analysetechnieken: deel 1

Een inzicht in 26 Big Data-analysetechnieken: deel 1

De impact van kunstmatige intelligentie in de gezondheidszorg 2021

De impact van kunstmatige intelligentie in de gezondheidszorg 2021

AI in de zorg heeft de afgelopen decennia grote sprongen gemaakt. De toekomst van AI in de gezondheidszorg groeit dus nog steeds met de dag.