I-set Up ang Nginx Server Blocks (Virtual Hosts) sa CentOS/RHEL 8


Ang Nginx server block mao ang katumbas sa usa ka Apache virtual host ug nagpaposible alang kanimo nga mag-host og labaw sa usa ka domain o website sa imong server.

Niini nga artikulo, mahibal-an nimo kung giunsa ang pag-set up sa Nginx server blocks (virtual host) sa CentOS 8 ug RHEL 8 Linux.

  • Usa ka A nga rekord para sa imong domain. Sa yano nga mga termino, ang usa ka A nga mga rekord nagtumong sa usa ka pagsulod sa DNS diin ang ngalan sa domain gipunting sa Public IP sa server, sa kini nga kaso ang Nginx web server. Sa tibuok niining giya , among gamiton ang domain name crazytechgeek.info.
  • Usa ka LEMP Stack nga na-install sa CentOS 8 o RHEL 8 nga pananglitan.
  • Usa ka login user nga adunay mga pribilehiyo sa Sudo.

Magsugod na ta!

Lakang 1: Paghimo og Nginx Document Root Directory

Diha-diha dayon, kinahanglang maghimo ka ug custom nga web root directory para sa domain nga gusto nimong i-host. Alang sa among kaso, maghimo kami og direktoryo sama sa gipakita gamit ang mkdir -p nga kapilian aron mahimo ang tanan nga kinahanglan nga mga direktoryo sa ginikanan:

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

Pagkahuman i-assign ang mga permiso sa direktoryo gamit ang $USER environment variable. Sa imong pagbuhat sa ingon, siguroha nga ikaw naka-log in isip usa ka regular nga tiggamit ug dili ang gamut nga tiggamit.

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

Sunod, itudlo ang husto nga mga pagtugot sa direktoryo nga balik-balik sama sa gipakita:

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

Lakang 2: Paghimo og Sample nga Panid para sa Domain

Sunod, maghimo kita ug index.html file sulod sa custom nga web root directory nga i-serve sa domain sa higayon nga mabuhat na ang hangyo.

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

Sa sulod sa file, idikit ang mosunod nga sample content.

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

Pag-save ug paggawas sa configuration file.

Lakang 3: Paghimo og Nginx Server Block sa CentOS

Alang sa Nginx web server nga magsilbi sa sulod sa index.html file nga among gibuhat sa lakang 2, kinahanglan namong maghimo ug server block file nga adunay angay nga mga direktiba. Busa, maghimo kita og bag-ong server block sa:

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

Sunod, idikit ang configuration nga makita 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;

}

Kung nahuman ka, i-save ang mga pagbag-o ug paggawas sa file sa pag-configure. Aron makumpirma nga ang tanan nga mga pag-configure sa Nginx maayo ug wala’y sayup, ipatuman ang mando:

$ sudo nginx -t

Ang output sa ubos kinahanglan usa ka kumpirmasyon nga maayo ka nga moadto!

Sa katapusan, i-restart ang imong Nginx web server ug kumpirmahi nga kini nagdagan sama sa gipaabut:

$ sudo systemctl restart nginx
$ sudo systemctl status nginx

Lakang 4: Pagsulay sa Nginx Server Block sa CentOS

Nahuman na ang tanan sa mga pag-configure. Ang nahabilin nga bahin mao ang pagkumpirma kung ang among block sa server nagsilbi nga sulud sa direktoryo sa ugat sa web nga gipasabut sa sayo pa sa index.html file.

Aron mahimo kini, ablihi lang ang imong browser ug adto sa domain sa imong server sama sa gipakita:

http://domain-name

Ingon sa naobserbahan, ang among sulud giserbisyuhan sa block sa server, usa ka tin-aw nga timailhan nga maayo ang tanan.

Lakang 5: I-enable ang HTTPS sa Domain nga Na-host sa Nginx

Mahimo nimong hunahunaon ang pag-encrypt sa imong domain gamit ang Lets Encrypt SSL aron makadugang usa ka layer sa proteksyon ug luwas nga trapiko padulong ug gikan sa webserver.

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

Aron makumpirma nga ang imong domain husto nga na-configure sa HTTPS, bisitaha ang https://yourwebsite.com/ sa imong browser ug pangitaa ang lock icon sa URL bar.

Malampuson namong na-set up ang Nginx server block sa CentOS 8 ug RHEL 8. Mahimo nimong balikon ang parehas alang sa daghang mga domain gamit ang parehas nga pamaagi.