Otu esi etinye Nginx Web Server na Ubuntu 20.04


Nginx bụ ihe mepere emepe, sava weebụ na-arụ ọrụ dị elu nke na-enye iwu oke oke ahịa na gburugburu mmepụta. Ọ bụ sava weebụ dị fechaa na nke siri ike nke a na-ejikarị na-anabata weebụsaịtị webụsaịtị dị elu.

Gụọ njikọ: Otu esi etinye sava weebụ Apache na Ubuntu 20.04

N'ime ntuziaka a, ị ga-amụta ka esi etinye sava weebụ Nginx na ịhazi Nginx ihe nkesa ngọngọ (virtual hosts) na Ubuntu 20.04 LTS.

Iji malite, hụ na ị nwere ihe atụ nke Ubuntu 20.04 LTS nwere ohere SSH yana onye ọrụ Sudo nwere ikike mgbọrọgwụ. Na mgbakwunye, a na-atụ aro njikọ ịntanetị kwụsiri ike ka ịwụnye ngwugwu Nginx.

Wụnye Nginx na Ubuntu 20.04

1. Tupu ịwụnye Nginx, melite ndepụta ngwugwu ihe nkesa gị.

$ sudo apt update

2. Mgbe ahụ wụnye Nginx site na-agba ọsọ iwu:

$ sudo apt install nginx

Mgbe kpaliri ịga n'ihu, pịa Y na ahụigodo wee pịa ENTER. A ga-eme nrụnye ahụ n'ime obere sekọnd ole na ole.

3. Na Nginx arụnyere nke ọma, ị nwere ike ịmalite ma nyochaa ya site na-agba ọsọ:

$ sudo systemctl start nginx
$ sudo systemctl status nginx

Ihe mmepụta dị n'elu na-egosi n'ụzọ doro anya na Nginx na-agba ọsọ.

4. Ka ịlele ụdị Nginx, gbaa ọsọ:

$ sudo dpkg -l nginx

Nsonaazụ na-egosi na anyị na-agba ọsọ Nginx 1.17.10 nke bụ ụdị kachasị ọhụrụ n'oge idebe akụkọ a.

Mepee ọdụ ụgbọ mmiri Nginx na UFW Firewall

Ugbu a ị tinyela Nginx ma na-agba ọsọ dịka a tụrụ anya ya, a chọrọ mgbanwe ole na ole maka ịnweta Nginx site na ihe nchọgharị weebụ. Ọ bụrụ na ị na-agba ọkụ ọkụ UFW, ị ga-ahapụ profaịlụ ngwa Nginx.

Enwere profaịlụ Nginx 3 jikọtara na ufw firewall.

  1. Nginx zuru ezu – Nke a na-emepe ma ọdụ ụgbọ mmiri 80 & 443 (Maka SSL/TLS izo ya ezo).
  2. Nginx HTTP – Nke a mepere naanị ọdụ ụgbọ mmiri 80 (Maka okporo ụzọ webụ ezoro ezo).
  3. Nginx HTTPS – Ọ na-emepe naanị ọdụ ụgbọ mmiri 443 (Maka SSL/TLS izo ya ezo).

5. Malite site n'ịkwado firewall na Ubuntu 20.04.

$ sudo ufw enable

6. Maka ugbu a, ebe ọ bụ na anyị anọghị na ihe nkesa ezoro ezo, anyị ga-ekwe ka profaịlụ Nginx HTTP ga-ekwe ka okporo ụzọ na ọdụ ụgbọ mmiri 80.

$ sudo ufw allow 'Nginx HTTP'

7. Mgbe ahụ, bugharịa firewall ka mgbanwe ahụ dịgide.

$ sudo ufw reload

8. Ugbu a lelee ọnọdụ nke firewall iji nyochaa profaịlụ ndị anabatara.

$ sudo ufw status

Na-anwale Nginx na Ubuntu 20.04

Nginx na-agba ọsọ na ihe nchọgharị ahụ dịka ị ga-atụ anya ya na sava weebụ ọ bụla yana ụzọ kacha mma iji nwalee ma ọ na-agba ọsọ dị ka a tụrụ anya ya bụ iziga arịrịọ site na ihe nchọgharị.

9. Ya mere, gaa na ihe nchọgharị gị wee chọgharịa adreesị IP ma ọ bụ aha ngalaba nke ihe nkesa ahụ. Iji lelee IP nke ihe nkesa gị, mee iwu ifconfig:

$ ifconfig

10. Ọ bụrụ na ị nọ na ihe nkesa igwe ojii, gbaa iwu curl n'okpuru iji weghachite IP ọha nke ihe nkesa.

$ curl ifconfig.me

11. Na mpaghara URL ihe nchọgharị gị, tinye adreesị IP ma ọ bụ aha ngalaba nke ihe nkesa gị wee kụọ ENTER.

http://server-IP or domain-name

Ị ga-enweta ibe nnabata Nginx ndabara dị ka egosiri.

Jikwaa Usoro Nginx na Ubuntu 20.04

12. Iji kwụsị sava weebụ Nginx, mee naanị:

$ sudo systemctl stop nginx

13. Ka iweta sava weebụ ọzọ mee:

$ sudo systemctl start nginx

14. Ka ịmalite Nginx na-akpaghị aka na buut ma ọ bụ malitegharịa ọsọ:

$ sudo systemctl enable nginx

15. Ọ bụrụ na ịchọrọ ịmalitegharị sava weebụ karịsịa mgbe ịmechara mgbanwe na faịlụ nhazi, na-agba ọsọ:

$ sudo systemctl restart nginx

16. N'aka nke ọzọ, ị nwere ike ibugharị ka ịzere idobe njikọ dị ka egosiri.

$ sudo systemctl reload nginx

Na-ahazi Nginx Server Block na Ubuntu 20.04

Ọ bụrụ na ị na-eme atụmatụ ịnabata ihe karịrị otu saịtị na sava gị, mgbe ahụ ịtọlite nginx Server ngọngọ na-abịa akwadoro nke ukwuu. Ihe nkesa nkesa ahụ bụ ihe ndị nnabata Apache nke mebere.

Site na ndabara, Nginx na-ebufe ihe nkesa nke ndabara nke edobere ka ọ bụrụ ọdịnaya webụ n'ụzọ /var/www/html.

Anyị ga-emepụta ngọngọ Nginx dị iche iji jee ozi ọdịnaya ngalaba anyị. Maka ntuziaka a, anyị ga-eji ngalaba crazytechgeek.info.
Maka ikpe gị, hụ na ị jiri aha ngalaba nke gị dochie nke a.

17. Iji mepụta faịlụ ngọngọ nkesa, Nke mbụ, mepụta ndekọ maka ngalaba gị dị ka egosiri.

$ sudo mkdir -p /var/www/crazytechgeek.info/html

18. Ọzọ, kenye onye nwe ya na ndekọ ọhụrụ site na iji $USER variable.

$ sudo chown -R $USER:$USER /var/www/crazytechgeek.info/html

19. Gbaa mbọ hụ na ị na-ekenye ikike ndekọ aha ya mere na-enye onye nwe ya ohere ịnweta ikike niile (gụọ, dee na mebie) na inye ndị ọzọ ohere naanị ịgụ na mebie ikike.

$ sudo chmod -R 755 /var/www/crazytechgeek.info

20. N'ime ngalaba ndekọ aha, mepụta index.html faịlụ nke ga-enwe ọdịnaya weebụ nke ngalaba.

$ sudo vim /var/www/crazytechgeek.info/html/index.html

Tapawa ọdịnaya dị n'okpuru na faịlụ nlele nlele.

<html>
    <head>
        <title>Welcome to your_domain!</title>
    </head>
    <body>
        <h1>Bravo! Your server block is working as expected!</h1>
    </body>
</html>

Chekwaa mgbanwe ndị ahụ wee pụọ na faịlụ ahụ.

21. Maka Nginx webserver iji jeere ọdịnaya ị gbakwunyere, ịkwesịrị ịmepụta ngọngọ nkesa na ntuziaka kwesịrị ekwesị. N'okwu a, anyị mepụtara ngọngọ sava ọhụrụ na:

$ sudo vim /etc/nginx/sites-available/crazytechgeek.info

Tapawa nhazi egosiri.

server {
        listen 80;
        listen [::]:80;

        root /var/www/crazytechgeek.info/html;
        index index.html index.htm index.nginx-debian.html;

        server_name crazytechgeek.info  www.crazytechgeek.info;

        location / {
                try_files $uri $uri/ =404;
        }
}

Chekwa ma pụọ.

22. Ugbu a mee ka ihe nkesa ahụ gbochie faịlụ site na ijikọta ya na saịtị-enyere aka na ndekọ nke Nginx nkesa na-agụ na mmalite.

$ sudo ln -s /etc/nginx/sites-available/crazytechgeek.info /etc/nginx/sites-enabled/

23. Maka mgbanwe ndị a ga-eme, malitegharịa sava weebụ Nginx.

$ sudo systemctl restart nginx

24. Naanị ka ijide n'aka na nhazi niile dị n'usoro, mee iwu:

$ nginx -t

Ọ bụrụ na nhazi niile dị n'usoro, ị ga-enweta nsonaazụ egosiri n'okpuru:

25. Sava weebụ Nginx kwesịrị ije ozi ọdịnaya ngalaba gị ugbu a. Ọzọ, gaa na ihe nchọgharị gị wee chọgharịa na ngalaba ihe nkesa gị.

http://domain-name

A ga-eje ozi ọdịnaya gị n'ime ndekọ aha ngalaba gị dịka egosiri.

Faịlụ nhazi Nginx dị mkpa

Tupu anyị achịkọta, ọ dị mkpa ka anyị nyochaa ụfọdụ faịlụ nhazi dị mkpa metụtara Nginx.

  • /etc/nginx/nginx.conf: Nke a bụ faịlụ nhazi bụ isi. Ị nwere ike gbanwee ntọala iji mezuo ihe nkesa gị.
  • /etc/nginx/sites-dị: Nke a bụ ndekọ na-echekwa ihe nkesa ngọngọ nhazi. Nginx na-eji naanị ngọngọ nkesa ma ọ bụrụ na ejikọtara ya na ndekọ saịtị nyere aka.
  • /etc/nginx/sites-enabled: Akwụkwọ ndekọ aha nwere ihe nkesa Nginx ọ bụla agbanyerelarị.

Enwere faịlụ ndekọ abụọ bụ isi nke ị nwere ike iji dozie ihe nkesa weebụ Nginx gị:

  • /var/log/nginx/access.log: Nke a na-edekọ arịrịọ niile emere na sava weebụ.
  • /var/log/nginx/error.log: Nke a bụ faịlụ ndekọ njehie na ọ na-edekọ mperi niile Nginx zutere.

Anyị eruola ngwụcha nkuzi a. Anyị egosila otu ị nwere ike isi tinye Nginx na Ubuntu 20.04 yana otu ị nwere ike isi melite ihe nkesa Nginx iji jee ozi ọdịnaya ngalaba gị. A nabatara nzaghachi gị.