Giunsa ang Pag-set up sa Nginx Server Blocks (Virtual Hosts) sa Ubuntu 20.04


Usahay, kinahanglan nimo nga mag-host labaw sa usa ka domain o website sa imong Nginx web server. Aron mahitabo kana, usa ka Server Block (Virtual Hosts) kinahanglan nga ma-configure aron ma-encapsulate ang tanan nga configuration sa imong domain. Ang mga bloke sa Nginx server parehas sa Apache virtual host file ug nagsilbi sa parehas nga katuyoan.

Gipakita niini nga hilisgutan kung giunsa ang pag-set up sa block sa server sa Nginx sa Ubuntu 20.04.

  • Usa ka A nga rekord nga gihubit sa imong domain name hosting provider. Ang A record kay DNS record nga nagpunting sa domain name sa Public server IP address. Alang niini nga giya, among gamiton ang domain name crazytechgeek.info alang sa mga katuyoan sa paghulagway.
  • Usa ka LEMP Stack nga na-install sa Ubuntu 20.04 LTS nga pananglitan.
  • Usa ka login user nga adunay mga pribilehiyo sa Sudo.

Sa tanan nga mga kinahanglanon nga nahimamat, atong susihon kung giunsa nimo pag-set up ang Nginx server block sa Ubuntu.

Lakang 1: Paghimo og Nginx Document Root Directory

Para makasugod, maghimo mig bulag nga direktoryo para sa among domain nga maglangkob sa tanang setting nga may kalabotan sa domain.

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

Sunod, i-assign ang pagpanag-iya sa direktoryo gamit ang $USER environment variable. Gihatag niini ang pagpanag-iya sa direktoryo sa kasamtangang naka-log in nga user. Siguruha nga naka-log in ka gamit ang account sa regular nga tiggamit ug dili ingon gamut.

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

Sunod, itudlo ang angay nga mga pagtugot sa direktoryo, nga naghatag sa naka-log-in nga tiggamit sa tanan nga mga katungod (pagbasa, pagsulat ug pag-execute) ug ang grupo ug uban pang mga tiggamit nagbasa ug nagpatuman lamang sa mga pagtugot.

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

Sa hustong pagka-configure sa mga permiso sa direktoryo ug pagpanag-iya, kinahanglan namong maghimo ug sample nga web page para sa domain.

Lakang 2: Paghimo og Sample nga Panid para sa Domain

Niini nga lakang, maghimo kita ug index.html nga payl alang sa mga katuyoan sa pagsulay. Kini nga file magsilbi nga sulud nga ipakita sa web browser kung ang domain gitawag sa browser.

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

Idikit ang mosunod nga HTML nga sulod.

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

Pag-save ug paggawas sa configuration file.

Lakang 3: Paghimo og Nginx Server Block sa Ubuntu

Ang mga bloke sa Nginx server nahimutang sa /etc/nginx/sites-available nga direktoryo. Ang default nga Nginx server block mao ang /etc/nginx/sites-available/default nga nagsilbi sa default HTML file sa /var/www/html/index.nginx-debian.html.

Alang sa among kaso, kinahanglan nga maghimo kami usa ka bloke sa server nga magsilbi sa sulud sa index.html file nga among gibuhat kaniadto.

Busa, paghimo sa server block file nga gipakita.

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

Idikit ang sulod sa ubos:

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;

}

Pag-save ug paggawas sa file.

Lakang 4: I-enable ang Nginx Server Block sa Ubuntu

Aron mahimo ang Nginx server block, kinahanglan nimo nga i-symlink kini sa /etc/nginx/sites-enabled/ directory sama sa gipakita.

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

Niini nga punto, hapit na kami nahuman. Bisan pa, maalamon ang pagkumpirma nga ang tanan nga mga pag-configure naa sa pagkahan-ay. Aron mahimo kini, ipatuman ang mando:

$ sudo nginx -t

Kung gisunod nimo ang among mga lakang sa husto, kinahanglan nimo nga makuha ang output nga gipakita:

Sa katapusan, i-restart ang Nginx alang sa mga pagbag-o nga gihimo sa mga file sa pag-configure aron ma-epekto.

$ sudo systemctl restart Nginx

Dayon kumpirmahi kung ang Nginx nagdagan pinaagi sa pagpadagan sa command nga gipakita:

$ sudo systemctl status Nginx

Lakang 5: Pagsulay sa Nginx Server Block sa Ubuntu

Aron makumpirma kung ang block sa server nagtrabaho sama sa gipaabut ug nagsilbi nga sulud sa /var/www/crazytechgeek.info direktoryo, ablihi ang imong web browser ug i-browse ang domain name sa imong server:

http://domain-name

Kinahanglan ka nga makakuha og sulod nga anaa sa HTML file sa imong server block sama sa gipakita.

Sa kini nga giya, gipakita namon kanimo kung giunsa ang pag-set up sa usa ka block sa server sa Nginx gamit ang usa ka domain sa Ubuntu Linux. Mahimo nimong balikon ang parehas nga mga lakang alang sa lainlaing mga domain ug makab-ot gihapon ang parehas nga mga resulta. Kami nanghinaut nga ang giya makahuluganon.