Keepalived test


NGINX-ni o'rnatish va sozlash



Yüklə 13,79 Mb.
səhifə123/125
tarix21.08.2023
ölçüsü13,79 Mb.
#140060
1   ...   117   118   119   120   121   122   123   124   125
abdurakhmonov

NGINX-ni o'rnatish va sozlash


Apache sizning serveringizda veb-kontentni joylashtirish imkonini beradigan yagona texnologiya emas. NGINX ham xuddi shu maqsadga xizmat qiladi va juda tez mashhurlikka erishmoqda. Apache hozirda eng keng tarqalgan variant bo'lsa-da, hech bo'lmaganda NGINX bilan tanish bo'lish va uning asoslarini o'rganish yaxshi fikr. NGINX-ning o'zi ham proksi-serverdir, lekin veb-kontentga ham xizmat ko'rsatishga qodir, shuning uchun u Apache bilan raqobatlashadi. Veb-kontentga xizmat ko'rsatish bu bo'limda uni yoritishga qaratilgan.
Buni amalga oshirishdan oldin, birinchi navbatda, bitta veb-serverda ishlaydigan faqat bitta veb-server xizmatiga ega bo'lishingiz mumkinligini eslatib o'tmoqchiman. Agar siz hozirgacha kuzatib borgan bo'lsangiz, hozirda sizda Apache veb-server mavjud. Agar siz NGINX-ni ham o'rnatgan bo'lsangiz, u tinglamoqchi bo'lgan portlar ( 80 va/yoki 443 ) allaqachon ishlatilayotganligi sababli u ishga tushmaydi. Ikkalasini ham bitta serverda ishga tushirishingiz mumkin, ammo bu kitobning doirasidan tashqarida. Ideal holda, siz bir yoki boshqasini ishlatishni xohlaysiz. Shuning uchun, ushbu bo'limni davom ettirish uchun siz Apache-ni o'chirishni yoki NGINX-ni sinab ko'rish uchun alohida veb-serverni o'rnatishni xohlaysiz. Men ikkinchisini tavsiya qilaman, chunki keyinchalik ushbu bobda biz Nextcloud xostingini ko'rib chiqamiz va buning uchun Apache-dan foydalanamiz. Agar siz hozir Apache-ni olib tashlasangiz, ushbu bo'limga amal qilish uchun uni qayta qo'shishingiz kerak bo'ladi. Nazariy jihatdan, nginx ni ishga tushirishdan oldin faqat apache2 jarayonini to'xtatishingiz kerak bo'ladi, biroq bir xil serverni baham ko'radigan ikkita manba juda ko'p o'zgaruvchilarga ega va ziddiyatli bo'lishi mumkin.
NGINX bilan ishlashni boshlash uchun uni oʻrnatish kifoya:
sudo apt install nginx
Xuddi Apache-da bo'lgani kabi, agar biz brauzerda serverimizning IP-manzilini kiritsak, bizga namuna sahifasi taqdim etiladi, ammo bu safar Apache bilan jo'natiladigan versiya o'rniga NGINX versiyasi. Bu, albatta, taqqoslaganda zerikarli ko'rinadi, lekin u ishlaydi:

Nginx uchun standart konfiguratsiya fayllari /etc/nginx katalogida saqlanadi. Davom eting va konfiguratsiya qanday taqdim etilishi haqida umumiy tasavvurga ega bo'lish uchun ushbu fayllarni ko'rib chiqing. Apachega o'xshab, sizda ham xuddi shu maqsadga xizmat qiluvchi saytlar va saytlar mavjud katalog mavjud.
Xuddi Apache-da bo'lgani kabi, saytlar mavjud katalogida yoqish mumkin bo'lgan saytlar uchun konfiguratsiya fayllari joylashgan bo'lsa, saytlar yoqilgan katalog yoqilgan saytlar uchun konfiguratsiya fayllarini saqlaydi. Apache-dan farqli o'laroq, bizda ushbu saytlarni yoqish uchun maxsus buyruqlar yo'q. Biz ularni qo'lda bog'lashimiz kerak. NGINX konfiguratsiya fayllarini hali ko'rib chiqmagan bo'lsak ham, biz quyidagi konfiguratsiya faylini yaratdik deb faraz qilaylik:
/etc/nginx/sites-available/acmesales.com
/etc/nginx/sites-enabled katalogida saqlashimiz kerak:
sudo ln -s /etc/nginx/sites-available/acmesales.com /etc/nginx/sitesenabled/acmesales.com
Keyin nginx ni qayta yuklashimiz mumkin:
sudo systemctl reload nginx
Hozircha, default nomli sayt konfiguratsiya fayli /etc/nginx/ sites-available da mavjud va unga ramziy havola allaqachon /etc/nginx/sitesenabled da mavjud. Agar biz faqat bitta saytni joylashtirishni istasak, /var/www/html katalogida (Apache bilan bir xil) joylashgan NGINX xizmat ko'rsatadigan standart tarkibni saytimiz tarkibiga almashtirishimiz kerak. Sahifani yangilagandan so'ng, borishga tayyormiz.
Agar biz bir serverdan bir nechta saytlarga xizmat ko'rsatishni istasak, standart fayl qo'shimcha virtual xostlar yaratish uchun ajoyib boshlanish nuqtasidir. Biz uni yangi nomga nusxalashdan boshlashimiz mumkin:
sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/ acmesales.com

Shubhasiz, acmesales.com - bu misol, shuning uchun buni xohlaganingizcha nomlang.

Endi biz ushbu faylni tahrirlashimiz va uni qo'shimcha kontentga xizmat qilish uchun o'zgartirishimiz mumkin. Birinchidan, faqat bitta saytni standart sayt deb atash mumkin. NGINX-dagi standart sayt, agar boshqa saytlarning hech biri so'rovga mos kelmasa, javob beradigan saytdir. Shuning uchun biz default_server ning ikkala hodisasini yangi nusxalangan konfiguratsiyamizdan olib tashlamoqchimiz. Ushbu qatorlarni toping:
listen 80 default_server; listen [::]:80 default_server;
Ularni shunday o'zgartiring:
listen 80; listen [::]:80;
yangi saytimiz nomiga murojaat qilish uchun server_name opsiyasini sozlashimiz kerak. Ushbu qatorni qo'shing:
server_name acmesales.com www.acmesales.com;
Endi biz hujjat rootini yangi saytimiz uchun fayllarni saqlaydigan katalogga o'zgartirishimiz kerak. Ushbu qatorni toping:
root /var/www/html;
Va buni quyidagicha o'zgartiring:
root /var/www/acmesales.com;
Yakuniy fayl shu nuqtada quyidagicha ko'rinishi kerak:
server { listen 80; listen [::]:80; root /var/www/acmesales.com; index index.html index.htm index.nginx-debian.html; server_name acmesales.com www.acmesales.com; location / { try_files $uri $uri/ =404; }
}
Ehtimol, NGINX konfiguratsiya fayllari uchun konfiguratsiya formati Apache-ga qaraganda oddiyroq ekanligini ko'rishingiz mumkin. Men buni to'g'ri deb bilaman va men NGINX bilan sozlagan saytlar konfiguratsiya fayllarida odatda Apachega qaraganda kamroq satrlarga ega ekanligini payqadim.
Shu nuqtada, /var/www/acmesales.com saytida kerakli tarkibga ega ekanligingizni va to'g'ri konfiguratsiya fayliga ega ekanligingizni hisobga olsak, nginx ni qayta yuklaganingizdan so'ng, yangi sayt javob berishi kerak. Lekin TLS haqida nima deyish mumkin? Qaysi yechimdan foydalanishimizdan qatʼi nazar, har doim veb-saytlarimiz xavfsizligini taʼminlashni tavsiya qilaman. NGINX yordamida biz bu xususiyatni osongina qo'shishimiz mumkin. Sertifikat fayllari Apache yoki NGINX-dan foydalanishimizdan qat'i nazar, bir xil. Agar siz hali sertifikat fayllaringizni yaratmagan bo'lsangiz, biz buni amalga oshirgan ushbu bobdagi bo'limga qayting. Agar sizda allaqachon sertifikat fayllari mavjud deb hisoblasak, konfiguratsiyaga qo'shimcha o'zgartirishlar kiritishimiz kifoya.
Birinchidan, biz birinchi ikkita qatorni standart port 80 o'rniga TLS bilan 443 portni tinglash uchun o'zgartiramiz:
listen 443 ssl; listen [::]:443 ssl;
joylashuv bo'limidan oldin quyidagi ikkita qatorni qo'shamiz:
ssl_certificate /etc/certs/cert.pem; ssl_certificate_key /etc/certs/cert.key; ssl_session_timeout 5m;
sertifikat fayllari yo'llari va nomlarini serveringizda chaqirgan narsangizga mos kelishiga moslashtirishingiz kerak bo'ladi. Ushbu nuqtada butun fayl quyidagiga o'xshash bo'lishi kerak:
server { listen 443 ssl; listen [::]:443 ssl; root /var/www/html; index index.html index.htm index.nginx-debian.html; server_name acmesales.com www.acmesales.com; ssl_certificate /etc/certs/cert.pem; ssl_certificate_key /etc/certs/cert.key; ssl_session_timeout 5m; location / { try_files $uri $uri/ =404; }
}
HTTPS-dan foydalanish o'rniga 80- port orqali saytimizga kirishlari mumkin. Biz NGINX ga bu odamlarni saytimizning xavfsiz versiyasiga avtomatik ravishda yo‘naltirishini aytishimiz mumkin. Buning uchun biz standart konfiguratsiya faylini ( /etc/ nginx/sites-available/default ) tahrirlashimiz va ikkita tinglash direktivasidan keyin quyidagi qatorni qo'shishimiz mumkin:
return 301 https://$host$request_uri;
Endi istalgan vaqtda foydalanuvchi saytimizning HTTP versiyasiga tashrif buyurganida, ular avtomatik ravishda xavfsiz HTTPS versiyasiga yo‘naltiriladi.
Endi biz Apache va NGINX bilan veb-kontentga xizmat ko‘rsatishni ko‘rib chiqdik, keling, bir oz vaqt ajrataylik, keepalived ni muhokama qilaylik, bu bizga ham yuqori imkoniyatlarga erishishga yordam beradi.

Yüklə 13,79 Mb.

Dostları ilə paylaş:
1   ...   117   118   119   120   121   122   123   124   125




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin