Configurare partajare NFS pe Debian
NFS este un sistem de fișiere bazat pe rețea care permite computerelor să acceseze fișiere într-o rețea de calculatoare. Acest ghid explică modul în care puteți expune folderele peste NF
Nginx este un software de server web open-source proiectat cu o mare concordanță în minte, care poate fi utilizat ca server HTTP / HTTPS, server proxy invers, server proxy mail, echilibrator de software, terminator TLS, server de memorie în cache și multe altele!
Este o piesă software foarte modulară. Chiar și unele părți aparent „încorporate” ale software-ului, cum ar fi GZIP sau SSL, sunt de fapt create ca module care pot fi activate și dezactivate în timpul perioadei de construire.
Are module core (native) și module terțe (externe) create de comunitate. Momentan, există peste o sută de module terțe pe care le putem utiliza.
Scris în C, este o piesă software rapidă și ușoară.
Instalarea Nginx din codul sursă este relativ ușoară - descărcați cea mai recentă versiune a codului sursă Nginx, configurați, construiți și instalați-l.
Va trebui să alegeți dacă descărcați linia principală sau o versiune stabilă, dar construirea acestora este aceeași.
În acest ghid, vom compila o versiune principală a Nginx pe Debian 10 (buster). Vom folosi toate modulele disponibile în versiunea open source a Nginx.
Probabil vă întrebați de ce ar compila Nginx dintr-o sursă atunci când puteți utiliza pachete pregătite. Iată câteva motive pentru care poate doriți să compilați software special:
Nginx Open Source este disponibil în două versiuni:
Nginx are două tipuri de module pe care le puteți utiliza: module de bază și module terțe.
Dezvoltatorii Nginx de bază construiesc module de bază și fac parte din software-ul în sine.
Comunitatea creează module terțe și le puteți utiliza pentru a extinde funcționalitatea. Există o mulțime de module utile pentru terți.
Module statice există în Nginx încă de la prima versiune. Modulele dinamice au fost introduse cu Nginx 1.9.11+ în februarie 2016.
Cu modulele statice, un set de module care constituie un binar Nginx este fixat în timpul compilării de ./configure
script. Utilizarea modulelor statice --with-foo_bar_module
sau --add-module=PATH
sintaxa.
Pentru a compila un modul core (standard) la fel de dinamic adăugăm =dynamic
, de exemplu --with-http_image_filter_module=dynamic
.
Pentru a compila un modul terț ca dinamic, folosim --add-dynamic-module=/path/to/module
sintaxa, apoi le încărcăm folosind load_module
directiva în contextul global al nginx.conf
fișierului.
În comparație cu un alt software UNIX / Linux, Nginx este destul de ușor și nu are multe dependențe de bibliotecă. Configurația implicită de compilare depinde de doar 3 biblioteci care trebuie instalate: OpenSSL / LibreSSL / BoringSSL, Zlib și PCRE.
NOTĂ : Nginx poate fi, de asemenea, compilat cu LibreSSL și BoringSSL criptografie în loc de OpenSSL.
Verificați versiunea Debian.
lsb_release -ds
# Debian GNU/Linux 10 (buster)
Creați un utilizator obișnuit cu sudo
acces.
adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
NOTĂ : Înlocuiți johndoe
cu numele de utilizator .
Comutați la un utilizator nou.
su - johndoe
Setați fusul orar.
sudo dpkg-reconfigure tzdata
Actualizați software-ul sistemului dvs. de operare.
sudo apt update && sudo apt upgrade -y
Instalați pachetele necesare.
sudo apt install -y software-properties-common ufw
Nginx este un program scris în C, așa că mai întâi va trebui să instalați un instrument de compilare. Instalați build-essential
, git
și tree
.
sudo apt install -y build-essential git tree
Descărcați cea mai recentă versiune principală a codului sursă Nginx și despachetați arhiva codului sursă. Codul sursă Nginx este distribuit ca arhivă comprimată, ca majoritatea software-ului Unix și Linux.
wget https://nginx.org/download/nginx-1.17.2.tar.gz && tar zxvf nginx-1.17.2.tar.gz
Descărcați codul sursă al dependențelor Nginx obligatorii și extrageți-l.
# 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
Instalați dependențe opționale Nginx.
sudo apt install -y perl libperl-dev libgd3 libgd-dev libgeoip1 libgeoip-dev geoip-bin libxml2 libxml2-dev libxslt1.1 libxslt1-dev
Curățați toate .tar.gz
fișierele. Nu mai avem nevoie de ele.
rm -rf *.tar.gz
Introduceți directorul sursă Nginx.
cd ~/nginx-1.17.2
Pentru o listă bună a directorilor și fișierelor care compun codul sursă Nginx tree
.
tree -L 2 .
Copiați pagina manuală în /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
Pentru ajutor, puteți vedea o listă completă de opțiuni actualizate pentru compilare Nginx, executând următoarele.
./configure --help
# To see want core modules can be built as dynamic run:
./configure --help | grep -F =dynamic
Configurați, compilați și instalați 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
După compilare, navigați la ~
directorul dvs. de acasă ( ).
cd ~
Faceți legătura de legătură /usr/lib/nginx/modules
cu /etc/nginx/modules
. Acesta este un loc standard pentru modulele Nginx.
sudo ln -s /usr/lib/nginx/modules /etc/nginx/modules
Tipăriți versiunea Nginx, versiunea compilatorului și configurați parametrii scriptului.
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 . . .
# . . .
# . . .
Creați un grup de sistem Nginx și un utilizator.
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
Verificați sintaxa Nginx și erorile potențiale.
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
Creați un fișier de unitate de sistem Nginx.
sudo vim /etc/systemd/system/nginx.service
Populați /etc/systemd/system/nginx.service
fișierul cu următorul conținut.
[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
Activați Nginx pentru a porni la pornire și porniți Nginx imediat.
sudo systemctl enable nginx.service
sudo systemctl start nginx.service
Verificați dacă Nginx va iniția automat după repornire.
sudo systemctl is-enabled nginx.service
# enabled
Verificați starea.
sudo systemctl status nginx.service
NOTĂ : Puteți verifica dacă Nginx rulează accesând domeniul sau adresa IP a site-ului dvs. într-un browser web. Veți vedea pagina de bun venit Nginx. Acesta este un indicator că Nginx funcționează pe VPS.
Creați un profil de aplicație UFW Nginx.
sudo vim /etc/ufw/applications.d/nginx
Copiați / inserați următorul conținut în /etc/ufw/applications.d/nginx
fișier.
[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
Validați că profilurile de aplicații UFW sunt create și recunoscute.
sudo ufw app list
# Available applications:
# Nginx Full
# Nginx HTTP
# Nginx HTTPS
# OpenSSH
În mod implicit, Nginx generează .default
fișiere de rezervă în /etc/nginx
. Ștergeți .default
fișierele din /etc/nginx
director.
sudo rm /etc/nginx/*.default
Plasați evidențierea de sintaxă a configurației Nginx pentru editorul Vim ~/.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/
NOTĂ : Făcând pasul de mai sus, veți obține o sintaxă frumoasă evidențiată la editarea fișierelor de configurare Nginx în editorul Vim.
Crearea conf.d
, snippets
, sites-available
și sites-enabled
directoare în /etc/nginx
.
sudo mkdir /etc/nginx/{conf.d,snippets,sites-available,sites-enabled}
Modificați permisiunile și proprietatea de grup a fișierelor de jurnal Nginx.
sudo chmod 640 /var/log/nginx/*
sudo chown nginx:adm /var/log/nginx/access.log /var/log/nginx/error.log
Creați o configurație de rotație a jurnalului pentru Nginx.
sudo vim /etc/logrotate.d/nginx
Populați fișierul cu următorul text, apoi salvați și ieșiți.
/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
}
Eliminați toate fișierele descărcate din directorul principal.
cd ~
rm -rf nginx-1.17.2/ openssl-1.1.1c/ pcre-8.43/ zlib-1.2.11/
Asta e. Acum, aveți instalată cea mai recentă versiune de Nginx. Este compilat static cu unele biblioteci importante, cum ar fi OpenSSL. Adesea, versiunea OpenSSL furnizată de sistem este depășită. Utilizând această metodă de instalare cu o versiune mai nouă a OpenSSL, puteți profita de cifre moderne precum CHACHA20_POLY1305
și protocoale precum TLS 1.3, care sunt disponibile în OpenSSL 1.1.1
. Mai mult, compilând propriul dvs. binar, puteți adapta ce funcționalitate vă va oferi Nginx, care este mult mai flexibil decât instalarea unui binar pre-construit.
NFS este un sistem de fișiere bazat pe rețea care permite computerelor să acceseze fișiere într-o rețea de calculatoare. Acest ghid explică modul în care puteți expune folderele peste NF
Introducere MySQL are o caracteristică excelentă cunoscută sub numele de vizualizări. Vizualizările sunt interogări stocate. Gândiți-vă la ele ca la un alias pentru o întrebare altfel lungă. În acest ghid,
Folosind un sistem diferit? Thelia este un instrument open source pentru crearea de site-uri web pentru e-business și gestionarea conținutului online scris în PHP. Codul sursă Thelia i
Acest articol vă va învăța cum să configurați o închisoare chroot pe Debian. Presupun că utilizați Debian 7.x. Dacă executați Debian 6 sau 8, acest lucru poate funcționa, bine
Introducere Un mod ușor de a configura un server VPN pe Debian este cu PiVPN. PiVPN este un instalator și un pachet pentru OpenVPN. Creează comenzi simple pentru tine
EasyEngine (ee) este un instrument Python care vă permite să gestionați ușor și automat site-urile Wordpress de pe Nginx. Folosind EasyEngine, nu va trebui să dați
Folosind un sistem diferit? BlogoText CMS este un sistem simplu și ușor, gratuit și liber de gestionare a conținutului de conținut (CMS) și un motor de blog minimalist
Folosind un sistem diferit? InvoicePlane este o aplicație gratuită și deschisă de facturare a sursei. Codul sursă al acestuia poate fi găsit în acest depozit Github. Acest ghid
Folosind un sistem diferit? Fundalul CMS 1.8.0 este un sistem de management al conținutului (CMS), simplu și flexibil, mobil, prietenos și gratuit, care ne permite
Folosind un sistem diferit? BookStack este o platformă simplă, self-gazdată, ușor de utilizat pentru organizarea și stocarea informațiilor. BookStack este complet gratuit și deschis
Folosind un sistem diferit? Pagekit 1.0 CMS este un sistem frumos de gestionare a conținutului (CMS), modular, extensibil și ușor, gratuit și deschis, cu
Introducere Sistemele Linux sunt livrate cu instrumente de monitorizare în mod implicit, cum ar fi top, df și du care ajută la monitorizarea proceselor și a spațiului pe disc. De multe ori însă, acestea sunt
Munin este un instrument de monitorizare pentru a analiza procesele și resursele din mașina dvs. și prezintă informațiile în grafice printr-o interfață web. Utilizați următoarea
Folosind un sistem diferit? TLS 1.3 este o versiune a protocolului Transport Layer Security (TLS) care a fost publicat în 2018 ca standard propus în RFC 8446
Folosind un sistem diferit? Flarum este un software gratuit și open source de generație viitoare care face discuția online distractivă. Este simplu, rapid și gratuit
Folosind un sistem diferit? Redaxscript 3.2 CMS este un sistem de gestionare a conținutului (CMS) modern și ultra ușor, gratuit și deschis, cu rachetă
Introducere În acest tutorial, vom acoperi procesul de adăugare a întregului interval / subrețea IP la un server Linux care rulează CentOS, Debian sau Ubuntu. Procesul
În acest ghid, vom stabili un Counter Strike: Server de joc sursă pe Debian 7. Aceste comenzi au fost testate pe Debian 7, dar ar trebui să funcționeze o
PBX In A Flash 5 (PIAF5) este un sistem de operare bazat pe Debian 8, care transformă Vultr VPS-ul dvs. într-un PBX complet. Acesta posedă următoarele caracteristici și multe altele.
Folosind un sistem diferit? Dolibarr este un plan de resurse pentru întreprinderi open source (ERP) și managementul relațiilor cu clienții (CRM) pentru companii. Dolibarr
O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1
Mulți dintre voi cunoașteți Switch care va fi lansat în martie 2017 și noile sale funcții. Pentru cei care nu știu, am pregătit o listă de funcții care fac din „Switch” un „gadget obligatoriu”.
Aștepți ca giganții tehnologiei să-și îndeplinească promisiunile? vezi ce a ramas nelivrat.
Citiți blogul pentru a cunoaște diferitele straturi din Arhitectura Big Data și funcționalitățile acestora în cel mai simplu mod.
Citiți asta pentru a afla cum devine populară inteligența artificială în rândul companiilor la scară mică și cum crește probabilitățile de a le face să crească și de a le oferi concurenților avantaje.
CAPTCHA a devenit destul de dificil de rezolvat pentru utilizatori în ultimii ani. Va fi capabil să rămână eficient în detectarea spam-ului și a botului în viitor?
Pe măsură ce Știința Evoluează într-un ritm rapid, preluând multe dintre eforturile noastre, crește și riscurile de a ne supune unei Singularități inexplicabile. Citiți, ce ar putea însemna singularitatea pentru noi.
Ce este telemedicina, îngrijirea medicală la distanță și impactul acesteia asupra generației viitoare? Este un loc bun sau nu în situația de pandemie? Citiți blogul pentru a găsi o vedere!
Poate ați auzit că hackerii câștigă mulți bani, dar v-ați întrebat vreodată cum câștigă acești bani? sa discutam.
Recent, Apple a lansat macOS Catalina 10.15.4 o actualizare suplimentară pentru a remedia problemele, dar se pare că actualizarea provoacă mai multe probleme care duc la blocarea mașinilor Mac. Citiți acest articol pentru a afla mai multe