ວິທີການຕັ້ງຄ່າ Server Nginx (Virtual Hosts) ໃນ CentOS 8


ບລັອກຂອງເຄື່ອງແມ່ຂ່າຍ Nginx ແມ່ນທຽບເທົ່າຂອງໂຮດເຊີ virtual Apache ແລະເຮັດໃຫ້ທ່ານສາມາດເປັນເຈົ້າພາບຫຼາຍກວ່າ ໜຶ່ງ ໂດເມນຫລືເວບໄຊທ໌ໃນ server ຂອງທ່ານ.

ໃນບົດຂຽນນີ້, ທ່ານຈະໄດ້ຮຽນຮູ້ວິທີການຕັ້ງຄ່າທ່ອນໄມ້ເຊີເວີ້ Nginx (virtual hosts) ໃນ CentOS 8 ແລະ RHEL 8 Linux.

  • ບັນທຶກລະຫັດ ສຳ ລັບໂດເມນຂອງທ່ານ. ໃນ ຄຳ ສັບທີ່ງ່າຍດາຍ, ບັນທຶກ <ລະຫັດລະຫັດ A ໝາຍ ເຖິງການປ້ອນຂໍ້ມູນ DNS ເຊິ່ງຊື່ໂດເມນຖືກຊີ້ໄປທີ່ IP ຂອງສາທາລະນະຂອງເຊີຟເວີ, ໃນກໍລະນີນີ້ເຄື່ອງແມ່ຂ່າຍເວັບໄຊຕ໌ Nginx. ຕະຫຼອດ ຄຳ ແນະ ນຳ ນີ້, ພວກເຮົາຈະໃຊ້ຊື່ໂດເມນ crazytechgeek.info .
  • ເຄື່ອງແມ່ຂ່າຍ Nginx ຫຼື LEMP Stack ຕິດຕັ້ງໃສ່ CentOS 8 ຫຼື RHEL 8 ຕົວຢ່າງ.
  • ຜູ້ໃຊ້ເຂົ້າສູ່ລະບົບທີ່ມີສິດທິ Sudo.

ເລີ່ມຕົ້ນແລ້ວ!

ຂັ້ນຕອນທີ 1: ສ້າງໄດເລກະທໍລີຮາກເອກະສານ Nginx

ທັນທີ, ທ່ານຈໍາເປັນຕ້ອງສ້າງໄດເລກະທໍລີຮາກເວັບທີ່ກໍາຫນົດເອງສໍາລັບໂດເມນທີ່ທ່ານຕ້ອງການທີ່ຈະເປັນເຈົ້າພາບ. ສຳ ລັບກໍລະນີຂອງພວກເຮົາ, ພວກເຮົາຈະສ້າງໄດເລກະທໍລີດັ່ງທີ່ສະແດງໂດຍໃຊ້ຕົວເລືອກ mkdir -p ເພື່ອສ້າງບັນດາປື້ມຄູ່ມືທີ່ ຈຳ ເປັນ:

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

ຫລັງຈາກນັ້ນມອບ ໝາຍ ການອະນຸຍາດ ສຳ ລັບການ ນຳ ໃຊ້ໂດຍໃຊ້ຕົວປ່ຽນສະພາບແວດລ້ອມ $ USER . ເມື່ອທ່ານເຮັດແນວນັ້ນ, ຮັບປະກັນວ່າທ່ານເຂົ້າສູ່ລະບົບເປັນຜູ້ໃຊ້ປົກກະຕິແລະບໍ່ແມ່ນຜູ້ໃຊ້ຮາກ.

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

ຕໍ່ໄປ, ກຳ ນົດການອະນຸຍາດ ສຳ ລັບເສັ້ນທາງທີ່ຖືກຕ້ອງຄືນ ໃໝ່ ຕາມທີ່ສະແດງ:

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

ຂັ້ນຕອນທີ 2: ສ້າງຫນ້າຕົວຢ່າງ ສຳ ລັບໂດເມນ

ຕໍ່ໄປ, ພວກເຮົາຈະສ້າງເອກະສານ index.html ພາຍໃນໄດເລກະທໍລີຮາກເວັບທີ່ຈະໄດ້ຮັບການບໍລິການຈາກໂດເມນເມື່ອມີການຮ້ອງຂໍ.

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

ພາຍໃນເອກະສານ, ວາງເນື້ອໃນຕົວຢ່າງຕໍ່ໄປນີ້.

<html>
    <head>
        <title>Welcome to your_domain!</title>
    </head>
    <body>
  <h1>Awesome! Your Nginx server block is working!</h1>
    </body>
</html>

ບັນທຶກແລະອອກຈາກເອກະສານການຕັ້ງຄ່າ.

ຂັ້ນຕອນທີ 3: ສ້າງບລັອກເຊີເວີ Nginx ໃນ CentOS

ສຳ ລັບເຄື່ອງແມ່ຂ່າຍເວັບໄຊຕ໌ Nginx ໃຫ້ບໍລິການເນື້ອຫາຢູ່ໃນແຟ້ມ index.html ທີ່ພວກເຮົາສ້າງຂື້ນໃນຂັ້ນຕອນທີ 2, ພວກເຮົາຕ້ອງສ້າງເອກະສານ block server ໂດຍມີທິດທາງທີ່ ເໝາະ ສົມ. ດັ່ງນັ້ນ, ພວກເຮົາຈະຕ້ອງສ້າງ block server ໃໝ່ ທີ່:

$ sudo vim /etc/nginx/conf.d/crazytechgeek.info.conf

ຕໍ່ໄປ, ວາງການຕັ້ງຄ່າທີ່ປາກົດຢູ່ດ້ານລຸ່ມ.

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;
        }

		
    access_log /var/log/nginx/crazytechgeek.info.access.log;
    error_log /var/log/nginx/crazytechgeek.info.error.log;

}

ເມື່ອທ່ານເຮັດແລ້ວ, ບັນທຶກການປ່ຽນແປງແລະອອກຈາກເອກະສານການຕັ້ງຄ່າ. ເພື່ອຢືນຢັນວ່າການຕັ້ງຄ່າ Nginx ທັງ ໝົດ ແມ່ນສຽງແລະຜິດພາດ, ໃຫ້ປະຕິບັດ ຄຳ ສັ່ງດັ່ງນີ້:

$ sudo nginx -t

ຜົນໄດ້ຮັບຂ້າງລຸ່ມນີ້ຄວນຈະເປັນການຢັ້ງຢືນວ່າທ່ານດີທີ່ຈະໄປ!

ສຸດທ້າຍ, ເລີ່ມຕົ້ນ ໃໝ່ ເຊີບເວີ Nginx ຂອງທ່ານແລະຢືນຢັນວ່າມັນເຮັດວຽກໄດ້ຕາມຄາດ ໝາຍ:

$ sudo systemctl restart nginx
$ sudo systemctl status Nginx

ຂັ້ນຕອນທີ 4: ການທົດສອບບລັອກເຊີເວີ Nginx ໃນ CentOS

ພວກເຮົາທຸກຄົນເຮັດໄດ້ດ້ວຍການຕັ້ງຄ່າ. ສ່ວນທີ່ຍັງເຫຼືອແມ່ນການຢືນຢັນຖ້າບລັອກເຊີຟເວີຂອງພວກເຮົາ ກຳ ລັງຮັບໃຊ້ເນື້ອຫາຢູ່ໃນລະບົບຮາກເວັບທີ່ ກຳ ນົດໄວ້ກ່ອນ ໜ້າ ນີ້ໃນແຟ້ມເອກະສານ index.html .

ເພື່ອເຮັດສິ່ງນີ້, ພຽງແຕ່ເປີດໂປແກຼມທ່ອງເວັບຂອງທ່ານແລະເຂົ້າໄປທີ່ໂດເມນຂອງເຊີບເວີຂອງທ່ານດັ່ງທີ່ສະແດງ:

http://domain-name

ດັ່ງທີ່ໄດ້ສັງເກດເຫັນ, ເນື້ອຫາຂອງພວກເຮົາ ກຳ ລັງໄດ້ຮັບການບໍລິການຈາກບລັອກເຊີເວີ້, ເຊິ່ງເປັນການສະແດງໃຫ້ເຫັນຢ່າງຈະແຈ້ງວ່າທຸກຢ່າງ ດຳ ເນີນໄປດ້ວຍດີ.

ຂັ້ນຕອນທີ 5: ເປີດໃຊ້ HTTPS ໃນໂດເມນທີ່ໂຮດຢູ່ Nginx

ທ່ານອາດຈະພິຈາລະນາເຂົ້າລະຫັດໂດເມນຂອງທ່ານໂດຍໃຊ້ Lets Encrypt SSL ເພື່ອເພີ່ມການປົກປ້ອງແລະການຈະລາຈອນທີ່ປອດໄພໃຫ້ກັບແລະຈາກເວັບ.

$ sudo dnf install certbot python3-certbot-nginx
$ sudo certbot --nginx

ເພື່ອຢືນຢັນວ່າໂດເມນຂອງທ່ານຖືກຕັ້ງຄ່າຢ່າງຖືກຕ້ອງໃນ HTTPS, ເຂົ້າໄປທີ່ https://yourwebsite.com/ ໃນ browser ຂອງທ່ານແລະຊອກຫາໄອຄອນລັອກໃນແຖບ URL.

ພວກເຮົາໄດ້ປະສົບຜົນ ສຳ ເລັດການຕັ້ງຄ່າບລັອກເຊີເວີ້ Nginx ໃນ CentOS 8 ແລະ RHEL 8. ທ່ານສາມາດເຮັດຊ້ ຳ ໄດ້ອີກຫລາຍໂດເມນໂດຍໃຊ້ຂັ້ນຕອນດຽວກັນ