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
Nginx is een open-source webserversoftware die is ontworpen met het oog op hoge gelijktijdigheid en die kan worden gebruikt als een HTTP / HTTPS-server, reverse proxy-server, mail proxy-server, software load balancer, TLS-terminator, caching-server en meer!
Het is een enorm modulair stuk software. Zelfs enkele van de schijnbaar "ingebouwde" delen van de software, zoals GZIP of SSL, worden in feite gemaakt als modules die tijdens de bouwtijd kunnen worden in- en uitgeschakeld.
Het heeft kernmodules (native) en modules van derden (externe modules) die door de community zijn gemaakt. Op dit moment zijn er meer dan honderd modules van derden die we kunnen gebruiken.
Geschreven in C, het is een snel en lichtgewicht stuk software.
Nginx installeren vanuit broncode is relatief eenvoudig - download de nieuwste versie van Nginx broncode, configureer, bouw en installeer deze.
Je moet kiezen of je de hoofdlijn of een stabiele versie wilt downloaden, maar ze bouwen is hetzelfde.
In deze gids zullen we een hoofdlijnversie van Nginx op Debian 10 (buster) samenstellen. We zullen alle beschikbare modules gebruiken in de open-source versie van Nginx.
U vraagt waarschijnlijk waarom u Nginx vanuit een bron zou compileren als u voorbereide pakketten kunt gebruiken. Hier zijn enkele redenen waarom u misschien specifieke software zelf wilt compileren:
Nginx Open Source is beschikbaar in twee versies:
Nginx heeft twee soorten modules die u kunt gebruiken: kernmodules en modules van derden.
De belangrijkste Nginx-ontwikkelaars bouwen kernmodules en maken deel uit van de software zelf.
De community bouwt modules van derden en u kunt deze gebruiken om de functionaliteit uit te breiden. Er zijn veel nuttige modules van derden.
Statische modules bestaan in Nginx vanaf de allereerste versie. Dynamische modules zijn in februari 2016 geïntroduceerd met Nginx 1.9.11+.
Met statische modules wordt een set modules die een Nginx-binair bestand vormen tijdens het compileren door het ./configure
script gefixeerd . Statische modules gebruiken --with-foo_bar_module
of --add-module=PATH
syntaxis.
Om een core (standaard) module als dynamisch te compileren voegen we =dynamic
bijvoorbeeld toe --with-http_image_filter_module=dynamic
.
Om een module van derden als dynamisch te compileren, gebruiken we --add-dynamic-module=/path/to/module
syntaxis en laden we ze door de load_module
richtlijn te gebruiken in de globale context van het nginx.conf
bestand.
In vergelijking met sommige andere UNIX / Linux-software is Nginx vrij licht van gewicht en heeft het niet veel bibliotheekafhankelijkheden. De standaard buildconfiguratie is afhankelijk van slechts 3 te installeren bibliotheken: OpenSSL / LibreSSL / BoringSSL, Zlib en PCRE.
1.0.2
- 1.1.1
of LibreSSL- bibliotheek of BoringSSL- bibliotheek1.1.3
-1.2.11
4.4
-8.43
OPMERKING : Nginx kan ook worden samengesteld tegen LibreSSL- en BoringSSL-cryptobibliotheken in plaats van OpenSSL.
Controleer de Debian-versie.
lsb_release -ds
# Debian GNU/Linux 10 (buster)
Creëer een gewone gebruiker met sudo
toegang.
adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
OPMERKING : vervang johndoe
door uw gebruikersnaam .
Schakel over naar een nieuwe gebruiker.
su - johndoe
Stel de tijdzone in.
sudo dpkg-reconfigure tzdata
Update de software van uw besturingssysteem.
sudo apt update && sudo apt upgrade -y
Installeer de benodigde pakketten.
sudo apt install -y software-properties-common ufw
Nginx is een programma geschreven in C, dus je moet eerst een compileertool installeren. Installeren build-essential
, git
en tree
.
sudo apt install -y build-essential git tree
Download de nieuwste hoofdversie van de Nginx-broncode en pak het broncode-archief uit. Nginx-broncode wordt gedistribueerd als een gecomprimeerd archief, zoals de meeste Unix- en Linux-software.
wget https://nginx.org/download/nginx-1.17.2.tar.gz && tar zxvf nginx-1.17.2.tar.gz
Download de verplichte broncode van de Nginx-afhankelijkheden en pak deze uit.
# PCRE version 8.43
wget https://ftp.pcre.org/pub/pcre/pcre-8.43.tar.gz && tar xzvf pcre-8.43.tar.gz
# zlib version 1.2.11
wget https://www.zlib.net/zlib-1.2.11.tar.gz && tar xzvf zlib-1.2.11.tar.gz
# OpenSSL version 1.1.1c
wget https://www.openssl.org/source/openssl-1.1.1c.tar.gz && tar xzvf openssl-1.1.1c.tar.gz
Installeer optionele Nginx-afhankelijkheden.
sudo apt install -y perl libperl-dev libgd3 libgd-dev libgeoip1 libgeoip-dev geoip-bin libxml2 libxml2-dev libxslt1.1 libxslt1-dev
Ruim alle .tar.gz
bestanden op. We hebben ze niet meer nodig.
rm -rf *.tar.gz
Voer de Nginx-bronmap in.
cd ~/nginx-1.17.2
Maak voor een goede meting een lijst van mappen en bestanden waaruit Nginx-broncode bestaat tree
.
tree -L 2 .
Kopieer de man-pagina naar /usr/share/man/man8/
.
sudo cp ~/nginx-1.17.2/man/nginx.8 /usr/share/man/man8
sudo gzip /usr/share/man/man8/nginx.8
ls /usr/share/man/man8/ | grep nginx.8.gz
# Check that man page for Nginx is working
man nginx
Voor hulp kunt u een volledige lijst met up-to-date Nginx-compileeropties bekijken door het volgende uit te voeren.
./configure --help
# To see want core modules can be built as dynamic run:
./configure --help | grep -F =dynamic
Configureer, compileer en installeer Nginx.
./configure --prefix=/etc/nginx \
--sbin-path=/usr/sbin/nginx \
--modules-path=/usr/lib/nginx/modules \
--conf-path=/etc/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--pid-path=/var/run/nginx.pid \
--lock-path=/var/run/nginx.lock \
--user=nginx \
--group=nginx \
--build=Debian \
--builddir=nginx-1.17.2 \
--with-select_module \
--with-poll_module \
--with-threads \
--with-file-aio \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_realip_module \
--with-http_addition_module \
--with-http_xslt_module=dynamic \
--with-http_image_filter_module=dynamic \
--with-http_geoip_module=dynamic \
--with-http_sub_module \
--with-http_dav_module \
--with-http_flv_module \
--with-http_mp4_module \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_auth_request_module \
--with-http_random_index_module \
--with-http_secure_link_module \
--with-http_degradation_module \
--with-http_slice_module \
--with-http_stub_status_module \
--with-http_perl_module=dynamic \
--with-perl_modules_path=/usr/share/perl/5.26.1 \
--with-perl=/usr/bin/perl \
--http-log-path=/var/log/nginx/access.log \
--http-client-body-temp-path=/var/cache/nginx/client_temp \
--http-proxy-temp-path=/var/cache/nginx/proxy_temp \
--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \
--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \
--http-scgi-temp-path=/var/cache/nginx/scgi_temp \
--with-mail=dynamic \
--with-mail_ssl_module \
--with-stream=dynamic \
--with-stream_ssl_module \
--with-stream_realip_module \
--with-stream_geoip_module=dynamic \
--with-stream_ssl_preread_module \
--with-compat \
--with-pcre=../pcre-8.43 \
--with-pcre-jit \
--with-zlib=../zlib-1.2.11 \
--with-openssl=../openssl-1.1.1c \
--with-openssl-opt=no-nextprotoneg \
--with-debug
make
sudo make install
Navigeer na de compilatie naar uw home ( ~
) directory.
cd ~
Symlink /usr/lib/nginx/modules
naar /etc/nginx/modules
. Dit is een standaardplaats voor Nginx-modules.
sudo ln -s /usr/lib/nginx/modules /etc/nginx/modules
Druk de Nginx-versie en compilerversie af en configureer scriptparameters.
sudo nginx -V
# nginx version: nginx/1.17.2 (Debian)
# built by gcc 8.3.0 (Debian 8.3.0-6)
# built with OpenSSL 1.1.1c 28 May 2019
# TLS SNI support enabled
# configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/nginx/modules . . .
# . . .
# . . .
Maak een Nginx-systeemgroep en gebruiker.
sudo adduser --system --home /nonexistent --shell /bin/false --no-create-home --disabled-login --disabled-password --gecos "nginx user" --group nginx
# Check that user and group are created
sudo tail -n 1 /etc/passwd /etc/group /etc/shadow
Controleer de syntaxis van Nginx en mogelijke fouten.
sudo nginx -t
# Will throw this error -> nginx: [emerg] mkdir() "/var/cache/nginx/client_temp" failed (2: No such file or directory)
# Create NGINX cache directories and set proper permissions
sudo mkdir -p /var/cache/nginx/client_temp /var/cache/nginx/fastcgi_temp /var/cache/nginx/proxy_temp /var/cache/nginx/scgi_temp /var/cache/nginx/uwsgi_temp
sudo chmod 700 /var/cache/nginx/*
sudo chown nginx:root /var/cache/nginx/*
# Re-check syntax and potential errors.
sudo nginx -t
Maak een Nginx systemd unit-bestand.
sudo vim /etc/systemd/system/nginx.service
Vul het /etc/systemd/system/nginx.service
bestand met de volgende inhoud.
[Unit]
Description=nginx - high performance web server
Documentation=https://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/var/run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t -c /etc/nginx/nginx.conf
ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID
[Install]
WantedBy=multi-user.target
Schakel Nginx in om te starten bij het opstarten en start Nginx onmiddellijk.
sudo systemctl enable nginx.service
sudo systemctl start nginx.service
Controleer of Nginx automatisch start na een herstart.
sudo systemctl is-enabled nginx.service
# enabled
Controleer de status.
sudo systemctl status nginx.service
OPMERKING : U kunt controleren of Nginx actief is door in een webbrowser naar het domein of IP-adres van uw site te gaan. U ziet de welkomstpagina van Nginx. Dat is een indicatie dat Nginx actief is op je VPS.
Maak een UFW Nginx-toepassingsprofiel.
sudo vim /etc/ufw/applications.d/nginx
Kopieer en plak de volgende inhoud in het /etc/ufw/applications.d/nginx
bestand.
[Nginx HTTP]
title=Web Server (Nginx, HTTP)
description=Small, but very powerful and efficient web server
ports=80/tcp
[Nginx HTTPS]
title=Web Server (Nginx, HTTPS)
description=Small, but very powerful and efficient web server
ports=443/tcp
[Nginx Full]
title=Web Server (Nginx, HTTP + HTTPS)
description=Small, but very powerful and efficient web server
ports=80,443/tcp
Controleer of UFW-toepassingsprofielen zijn gemaakt en herkend.
sudo ufw app list
# Available applications:
# Nginx Full
# Nginx HTTP
# Nginx HTTPS
# OpenSSH
Nginx genereert standaard back- .default
upbestanden in /etc/nginx
. Verwijder .default
bestanden uit de /etc/nginx
directory.
sudo rm /etc/nginx/*.default
Plaats syntaxisaccentuering van Nginx-configuratie voor Vim-editor in ~/.vim
.
# For regular non-root user
mkdir ~/.vim/
cp -r ~/nginx-1.17.2/contrib/vim/* ~/.vim/
# For root user
sudo mkdir /root/.vim/
sudo cp -r ~/nginx-1.17.2/contrib/vim/* /root/.vim/
OPMERKING : door de bovenstaande stap uit te voeren, krijgt u een mooie syntaxisaccentuering bij het bewerken van Nginx-configuratiebestanden in de Vim-editor.
Maak conf.d
, snippets
, sites-available
en sites-enabled
mappen /etc/nginx
.
sudo mkdir /etc/nginx/{conf.d,snippets,sites-available,sites-enabled}
Wijzig de rechten en groepseigendom van Nginx-logbestanden.
sudo chmod 640 /var/log/nginx/*
sudo chown nginx:adm /var/log/nginx/access.log /var/log/nginx/error.log
Maak een log rotatieconfiguratie voor Nginx.
sudo vim /etc/logrotate.d/nginx
Vul het bestand in met de volgende tekst, sla op en sluit af.
/var/log/nginx/*.log {
daily
missingok
rotate 52
compress
delaycompress
notifempty
create 640 nginx adm
sharedscripts
postrotate
if [ -f /var/run/nginx.pid ]; then
kill -USR1 `cat /var/run/nginx.pid`
fi
endscript
}
Verwijder alle gedownloade bestanden uit de homedirectory.
cd ~
rm -rf nginx-1.17.2/ openssl-1.1.1c/ pcre-8.43/ zlib-1.2.11/
Dat is het. Nu heb je de nieuwste versie van Nginx geïnstalleerd. Het is statisch samengesteld tegen enkele belangrijke bibliotheken zoals OpenSSL. Vaak is de door het systeem geleverde versie van OpenSSL verouderd. Door deze installatiemethode te gebruiken met een nieuwere versie van OpenSSL, kunt u profiteren van moderne coderingen zoals CHACHA20_POLY1305
en protocollen zoals TLS 1.3 die beschikbaar zijn in OpenSSL 1.1.1
. Bovendien kunt u door uw eigen binaire bestand samen te stellen, aanpassen welke functionaliteit uw Nginx zal bieden, wat veel flexibeler is dan het installeren van een vooraf gebouwd binair bestand.
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
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 is een door Google ontwikkelde programmeertaal. Dankzij zijn veelzijdigheid, eenvoud en betrouwbaarheid is Golang uitgegroeid tot een van de meest bevolkte
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
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
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
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
Gebruikt u een ander systeem? Brotli is een nieuwe compressiemethode met een betere compressieverhouding dan Gzip. De broncode wordt openbaar gehost op Github. Thi
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
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 is een platformonafhankelijke programmeertaal / virtuele machine. In deze tutorial installeren we de OpenJDK-implementatie van Java 8 op een Debian
Wat je nodig hebt Een Vultr VPS met minimaal 1 GB RAM. SSH-toegang (met root- / beheerdersrechten). Stap 1: BungeeCord installeren Eerste dingen eerst
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
Gebruikt u een ander systeem? Matomo (voorheen Piwik) is een open source analyseplatform, een open alternatief voor Google Analytics. Matomo source wordt gehost o
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
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 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
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
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
Gebruikt u een ander systeem? Ghost is een open source blogplatform dat sinds zijn populariteit aan populariteit wint onder ontwikkelaars en gewone gebruikers
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, 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.
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+
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.
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
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
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
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.