I-install ang Nginx sa Debian 12

I Install Ang Nginx Sa Debian 12



Sa gabay na ito, ipapakita namin kung paano i-install at i-configure ang Nginx sa Debian 12.

Mga kinakailangan:

Upang maisagawa ang mga hakbang na ipinakita sa gabay na ito, kailangan mo ang mga sumusunod na bahagi:

  • Isang maayos na na-configure na Debian 12 system. Tignan mo kung paano i-install ang Debian sa isang VirtualBox VM .
  • Access sa isang non-root user na may pribilehiyo ng sudo. Matuto ng mas marami tungkol sa pamamahala ng sudo privilege gamit ang /etc/sudoers sa Debian .

Nginx sa Debian

Binuo at pinananatili ng Proyekto ng Debian , si Debian ay isang sikat , libre, at open-source na pamamahagi ng Linux. Kilala ang Debian para sa katatagan, seguridad, at suporta sa komunidad. Ang Debian 12 (codename na 'bookworm') ay ang pinakabagong stable na release. Matuto ng mas marami tungkol sa pag-upgrade mula sa Debian 11 hanggang sa Debian 12 .







Nginx ay isang libre at open-source na web server na kilala sa mataas na performance, scalability, kahusayan ng memory, at seguridad nito. Bukod dito, maaari din itong gumana bilang reverse proxy, load balancer, HTTP cache, atbp.



Sa Debian, ang Nginx ay direktang magagamit mula sa mga opisyal na repos ng package. Gayunpaman, maaaring medyo luma na ito bilang resulta ng Ikot ng paglabas ng package ni Debian . Sa kabutihang palad, nag-aalok ang Nginx ng isang opisyal na Debian repo na may mga pinakabagong release.



Paraan 1: Pag-install ng Nginx mula sa Debian Repo

Una, magbukas ng terminal window at i-update ang APT repo cache:





$ sudo angkop na pag-update

Ang Nginx ay magagamit bilang ang 'nginx' na pakete:



$ apt show nginx

Upang i-install ang Nginx, patakbuhin ang sumusunod na command:

$ sudo apt i-install nginx

Paraan 2: Pag-install ng Nginx mula sa Nginx Repo

Ang pag-configure ng Nginx APT repo ay nagbibigay ng pinakabagong bersyon ng Nginx. Gayunpaman, maaaring sumalungat ito sa iba pang mga package ng Nginx mula sa default na repo.

Pag-install ng mga Prerequisite

Una, i-install ang mga kinakailangang pakete:

$ sudo apt i-install curl gnupg2 ca-certificates lsb-release debian-archive-keyring

Pag-import ng GPG Signing Key

Ang Nginx signing key ay kinakailangan para ma-verify ng APT ang pagiging tunay ng mga na-download na package. Kunin ang signing key:

$ kulot https: // nginx.org / mga susi / nginx_signing.key | gpg --mahal | sudo katangan / usr / ibahagi / lalagyan ng susi / nginx-archive-keyring.gpg > / dev / wala

I-verify kung ang wastong susi ay na-import:

$ gpg --dry-run --tahimik --walang-keyring --angkat --import-opsyon import-show / usr / ibahagi / lalagyan ng susi / nginx-archive-keyring.gpg

Ang output ay dapat mag-print ng 573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62 bilang fingerprint ng key. Kung hindi, alisin ang file mula sa /usr/share/keyrings/nginx-archive-keyring.gpg at i-restart ang proseso.

Pagdaragdag ng Nginx APT Repo

Sa naka-install na signing key, maaari na nating idagdag ang Nginx repo sa APT. Nag-aalok ang Nginx ng dalawang sangay ng paglabas:

matatag : Mas mahusay na compatibility sa mga third-party na module. Nakakatanggap lamang ng mga kritikal na pag-aayos.

pangunahing linya : Maaaring makaapekto ang mga bagong feature sa compatibility ng module. Gayunpaman, nakakatanggap ito ng higit pang mga pag-aayos ng bug, mga patch ng seguridad, at mga kritikal na pag-aayos.

Opisyal na inirerekomenda ng Nginx ang pag-deploy ng mainline branch sa lahat ng kaso. Upang idagdag ang pangunahing sangay ng Nginx, patakbuhin ang sumusunod na command:

$ echo 'deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/mainline/debian `lsb_release -cs` nginx' | sudo katangan / atbp / apt / source.list.d / nginx.list

Kung gusto mo ang Nginx stable branch sa halip, patakbuhin ang sumusunod na command:

$ echo 'deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/debian `lsb_release -cs` nginx' | sudo katangan / atbp / apt / source.list.d / nginx.list

Repo Pinning

Upang pilitin ang APT na gamitin ang Nginx repo kapag nakikitungo sa mga package na nauugnay sa Nginx, pinagana namin ang repo pinning:

$ echo -Ito ay 'Pakete: * \n Pin: pinanggalingan nginx.org \n Pin: release o=nginx \n Pin-Priyoridad: 900 \n ' | sudo katangan / atbp / apt / mga kagustuhan.d / 99nginx

Pag-install ng Nginx

Sa bagong repo na na-configure, i-update ang APT repo cache:

$ sudo angkop na pag-update

Tingnan ang impormasyon ng package ng Nginx:

$ apt show nginx

Panghuli, i-install ang Nginx:

$ sudo apt i-install nginx

Pagsasaayos ng Firewall

Kasama ni Debian ang iptables (netfilter) na firewall na na-preinstall. Para sa kadalian ng paggamit, gayunpaman, inirerekumenda na gamitin ang UFW firewall . Ito ay karaniwang isang mas madaling gamitin na frontend sa netfilter.

Bilang default, hinaharangan ng UFW ang Nginx mula sa pag-access sa network. Upang payagan ang parehong HTTP/HTTPS access, patakbuhin ang sumusunod na command:

$ sudo ugh payagan 80 , 443 / tcp

Kung gusto mo ng HTTP access lang, gamitin ang sumusunod na command sa halip:

$ sudo ugh payagan 80 / tcp

Kung gusto mo ng HTTPS access lang, gamitin ang sumusunod na command sa halip:

$ sudo ugh payagan 443 / tcp

I-verify kung matagumpay na naidagdag ang mga panuntunan:

$ sudo katayuan ng ufw

Pagpapatunay sa Pag-install ng Nginx

Mayroong ilang mga paraan kung saan maaari naming i-verify kung matagumpay ang pag-install ng Nginx. Una, suriin ang katayuan ng serbisyo ng Nginx:

$ sudo systemctl status nginx

Kung hindi ito tumatakbo, simulan ang server:

$ sudo systemctl simulan ang nginx

Ngayon, buksan ang sumusunod na URL sa isang web browser:

$ http: // localhost_or_server_ip /

Dapat kang mapunta sa default na pahina ng welcome ng Nginx.

Pamamahala ng Proseso ng Nginx

Sa pag-install, nagrerehistro ang Nginx ng isang serbisyo sa systemd. Madali naming mapapamahalaan ang mga proseso ng Nginx gamit ang serbisyo.

Katayuan ng Nginx

Ang sumusunod na utos ay nagbabalik ng katayuan ng Nginx:

$ sudo systemctl status nginx

Itigil ang Nginx

Ang sumusunod na utos ay huminto sa Nginx:

$ sudo systemctl itigil ang nginx

Pagsisimula ng Nginx

Kung hindi tumatakbo ang Nginx, gamitin ang sumusunod na command upang simulan ang server:

$ sudo systemctl simulan ang nginx

Nire-reload ang Nginx

Ang Nginx ay hindi nangangailangan ng isang buong pag-restart upang mailapat ang anumang mga pagbabago sa pagsasaayos nito. Sa kasong iyon, maaari naming i-reload ang serbisyo ng Nginx nang hindi bumababa ng anumang koneksyon:

$ sudo systemctl reload nginx

I-restart ang Nginx

Upang i-restart ang Nginx server, patakbuhin ang sumusunod na command:

$ sudo systemctl i-restart ang nginx

I-reload o I-restart ang Nginx

Kung hindi ka sigurado kung ire-reload o i-restart ang Nginx, gamitin ang sumusunod na command:

$ sudo systemctl reload-o-restart nginx

Sa kasong ito, awtomatikong nagpapasya ang systemd sa pinakamahusay na paraan ng pagkilos.

Mga Tip sa Bonus 1: Nginx Blocks

Katulad ng mga virtual na host sa Apache, sinusuportahan din ng Nginx ang maramihang mga host sa isang server.

Narito ang isang dummy configuration na humahawak ng dalawang virtual server ( pinagmulan ):

http {

index index. html ;

server {

server_name www. domain1 . kasama ;

access_log logs / domain1. access . log pangunahing ;

ugat / ay / www / domain1. kasama / htdocs ;

}

server {

server_name www. domain2 . kasama ;

access_log logs / domain2. access . log pangunahing ;

ugat / ay / www / domain2. kasama / htdocs ;

}

}

Ang file ay naglalaman ng maraming mga bloke sa loob ng configuration file, ang bawat isa ay naglalarawan ng iba't ibang mga katangian. Ang pinakamahalagang bloke ay ang mga bloke ng server at lokasyon:

  • server : Inilalarawan nito ang isang virtual na server upang pangasiwaan ang mga kahilingan ng kliyente ng isang partikular na uri. Maaaring magkaroon ng maramihang mga bloke ng server para sa maraming virtual server. Ang mga papasok na koneksyon ay nire-redirect sa iba't ibang mga bloke ng server batay sa hiniling na domain name, IP address, at port.
  • lokasyon : Ito ay isang sub-block sa loob ng server block. Inilalarawan nito kung paano dapat pangasiwaan ng Nginx ang mga papasok na kahilingan ng kliyente para sa iba't ibang mapagkukunan.

Ang mga pagsasaayos na ito ay naka-imbak sa mga file sa /etc/nginx/sites-available . Maaaring mayroong natatanging mga file para sa bawat bloke ng server. Ang mga pagsasaayos ay inilalapat kapag inilagay sa ilalim /etc/nginx/sites-enabled . Sa pangkalahatan, ang mga configuration file mula sa mga site-available ay naka-symlink sa sites-enabled.

Mga Tip sa Bonus 2: Mahahalagang Nginx Files at Direktoryo

Narito ang isang maikling listahan ng mahahalagang file at direktoryo ng Nginx:

  • /etc/nginx : Ang direktoryo ng magulang na nagho-host ng lahat ng mga configuration ng Nginx.
  • /etc/nginx/sites-available : Naglalaman ito ng mga server block file. Hindi ginagamit ang mga configuration file.
  • /etc/nginx/sites-enabled : Nagho-host din ito ng per-site na mga bloke ng server. Sa pangkalahatan, ang mga ito ay mga symlink mula sa mga available na site. Ang Nginx ay aktibong gumagamit ng mga pagsasaayos mula sa direktoryo na ito upang maihatid ang mga kahilingan ng kliyente.
  • /etc/nginx/snippet : Nagho-host ito ng mga fragment ng pagsasaayos na maaaring ipatupad sa ibang lugar.
  • /etc/nginx/ngnix.conf : Ito ang pangunahing configuration file para sa Nginx. Pinangangasiwaan nito ang pandaigdigang pag-uugali ng Nginx.

Konklusyon

Ipinakita namin ang iba't ibang paraan ng pag-install ng Nginx sa Debian. Sa madaling sabi, tinalakay din namin kung paano pamahalaan ang mga proseso ng Nginx gamit ang systemd. Bilang karagdagan, saglit din naming hinawakan ang mga bloke ng Nginx at kung paano mai-configure ang Nginx upang maghatid ng maraming virtual host.

Interesado na matuto pa tungkol sa Nginx? Tingnan ang Sub-category ng Nginx .