ژ.ب ٥٨٤

دابەزاندن و بەڕێوەبردنی Nginx لەسەر Ubuntu 20.04.


https://webchin.org/v3-images/babet/nginx/nginx.png


NGINX چیە و بۆچی بەکاردێ؟


NGINX وێب سێرڤەرێکە کە لەهەمان کاتدا دەتوانرێ وەک پڕۆکسی پێچەوانە (Reverse Proxy)،  هاوسەنگکەری ترافیک (Load Balancer), پرۆکسی ئیمەڵ و کاشینگی HTTP بەکاربێ. دەتوانرێ لەسەر هەریەک لە سیستەمەکانی Linux, Windows و OSX دابەزێنرێ.
بە کورتی جێگرەوەیەکی Apache یە.

دابەزاندن لەسەر Ubuntu


1- دوای ئەوەی Ubuntu بەسەرکەوتوویی دابەزاند، یەکەم هەنگاو نوێکردنەوەی پاکێجەکانی سیستمەکەو  دابەزاندنی پاکێجی net-tools ، ئەو فرمانە لە تێرمیناڵدا جێبەجێبکە.

sudo apt update

پاشان

sudo apt install net-tools -y

* هەلبەتە ئەگەر وەک root لە تێرمیناڵی پێویست ناکا sudo لە پێش فرمانەکە بنووسی.

2- دواتر بۆ دابەزاندی Nginx ئەو فرمانە جێبەجێبکە

sudo apt install nginx -y

https://webchin.org/v3-images/babet/nginx/install_nginx.png

3- وەشانی ١.١٨ ی Nginx بەسەرکەوتوویی دابەزێندرا، بۆ چاڵاک کردنی ئەو فرمانە جێبەجێبکە.

sudo systemctl start nginx
sudo systemctl status nginx

https://webchin.org/v3-images/babet/nginx/nginx_status.png

4- بۆ کردنەوەی پەڕەی سەرەتای Nginx لە وێبگەڕ پێویست دەکا لە ڕێی IP سێرڤەرەکەوە بیکەینەوە، بۆ زانینی IP سێڕڤەرەکە ئەو فرمانە جێبەجێبكە.

ifconfig

https://webchin.org/v3-images/babet/nginx/ifconfig.png

پاشان بەم شێوەیە دەتوانی لە وێبگەر بیکەیتەوە.

http://server-IP

لە کۆتاییدا شتێکی لەم شێوەیە دەبینی، کە نیشاندەری ئەوەیە بە سەرکەوتووی Nginx دابەزێندراوە
https://webchin.org/v3-images/babet/nginx/server.png


بەڕێوەبردنی NGINX


1. بۆ وەستاندی Nginx, ئەو فرمانە جێبەجێبکە:

sudo systemctl stop nginx

2. بۆ چاڵاککردنی Nginx, ئەو فرمانە جێبەجێبکە:

sudo systemctl start nginx

3. بۆ ڕیستارت کردنی Nginx, ئەو فرمانە جێبەجێبکە:

sudo systemctl restart nginx

4. یاخود تەنیا بۆ دووبارە بانگکردنی ئەو گۆڕانکاریانی کە کراون لە Nginx, ئەو فرمانە جێبەجێبکە:

sudo systemctl reload nginx

5. بۆ هەڵكردنی Nginx لە بووت, ئەو فرمانە جێبەجێبکە:

sudo systemctl enable nginx

زیادکردنی وێبسایتێک بۆ سێرڤەری NGINX


زیادکردنی وێبسایتێک بۆ سێرڤەرەکمان لە ڕێی Nginx ئاسانکاریەکی تەواوی بۆ کراوە،بۆ زیادکردنی هەر وێبسایتێک پێویست دەکا بلۆکێک بۆ Nginx زیادبکەین، بۆ زیادکردنی بلۆکێک پێویست دەکا شوێن ئەم هەنگاوانەی خوارەوە بکەویت.

خۆی خۆکارانە، Nginx بلۆکێکی سەرەتایی لەگەڵە کە لەم شوێنەیە

/var/www/html

دێین بلۆکێکیت نوێی تایبەت بە دۆمەینەکەمان زیاد دەکەین، بۆ ئەو وانیە دۆمەینی myrooh.com بەکاردێنین.

سەرەتا بوخچەیەکی تایبەت بە دۆمەینەکە دروست دەکەین بەم شێوەیە.

sudo mkdir -p /var/www/myrooh.com/html

پاشان خاوەنداریەتی دەدین بەو بوخچەیە بۆ ئەو بەکارهێنەرەی لە ژوورەوەیە بۆ تێرمیناڵ

sudo chown -R $USER:$USER /var/www/myrooh.com/html

دواتر خاوەنیەتی تایبەتتر دەدەین بە بوخچەی سەرەکی دۆمەینەکە تا خاوەنەکە بتوانێ دەسەڵاتی تەواوی هەبێت  (read, write and execute) بۆ بوخچەکە.

sudo chmod -R 755 /var/www/myrooh.com

لە نێو بوخچەکە پەڕەکی index.html دروست دەکەین کە وەک پەڕەی سەرەتا نیشان دەدرێ لە کاتی کردنەوەی دۆمەینەکە

sudo nano /var/www/myrooh.com/html/index.html

پاشان ئەو کۆدە HTML بۆ زیاد بکە

<html dir="rtl">
    <head>
        <meta charset="utf-8" />
        <title>بەخێر بێی بۆ MyRooh</title>
    </head>
    <body>
        <h1>بە سەرکەوتوویی بلۆکێکی تایبەت بۆ سێڕڤەر زیادکرا</h1>
    </body>
</html>

بۆ پاشەکەوتکردن ctl + x دابگرە.

بوخچەی تایبەت بە دۆمەینەکە زیادکرا، پێویست دەکا بلۆکێکی تایبەتی Nginx ی  بۆ زیاد بکەین.
بۆ زیادکردنی  بلۆک ئەو پەڕگەیە زیادەکەین، ئەو فرمانە جێبەجێبکە.

sudo nano /etc/nginx/sites-available/myrooh.com

پاشان کۆدی ڕێکخستنی بۆ زیاد بکە

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

        root /var/www/myrooh.com/html;
        index index.html index.htm index.nginx-debian.html;

        server_name myrooh.com  www.myrooh.com;

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

پاشان پاشەکەوتی بکە.

بۆ چاڵاککردنی بلۆکەکە پێویست دەکا لینکی بکەین بۆ بوخچەی sites-enabled، کە Nginx دەیخوێنێتەوە لە کاتی هەڵبوونی

sudo ln -s /etc/nginx/sites-available/myrooh.com /etc/nginx/sites-enabled/

تا ئەو گۆڕانکاریانەی کردوومانن جێبەجێ ببن پێویست دەکا Nginx ریستارت بکەین

sudo systemctl restart nginx

ئێستا ئەگەر دۆمەینەکەمان لە وێبگەر بکەینەوە پەڕەیەکی وا دەبینین

http://domain-name

https://webchin.org/v3-images/babet/nginx/site.png

تێبینی//
پێویست دەکا دۆمەینکەت A recod ی بۆ IPی سێرڤەرەکە هەبێت تا بتوانی لەگەل سێرڤەرەکە پەوەست ببێ.

وە ئەو ڕێکخستنەی کە تا ئێستا کراوە، تەنیا پشتگیری پەڕگە staticکان دەکا. لە وانەکانی داهاتوو باسی دابەزاندی PHP و MySQL دەکەین بە هاوبەشی لەگەڵ Nginx.

پەڕگەی لۆگی NGINX


دوو پەڕگە هەن بۆ لۆگی NGINX کە بریتین لە access بۆ بینی request کان و error بۆ بینینی هەڵەکانی تایبەت بە NGINX.

/var/log/nginx/access.log
/var/log/nginx/error.log
بۆچوون نووسین ناچالاك كراوه‌ بۆ ئه‌م بابه‌ته‌