GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Mengonfigurasi Blok Server Nginx di Ubuntu 18.04/20.04

Di Nginx, server memblokir digunakan untuk mendefinisikan informasi domain tertentu. Ini membantu untuk meng-host beberapa domain atau situs web. Setiap blok berisi informasi domain tertentu seperti root dokumen, SSL, port, dan lainnya. Blok server Nginx mirip dengan host virtual Apache.

Dalam tutorial ini, kita mempelajari cara mengonfigurasi blok server Nginx di Ubuntu 18.04/20.04 .

Prasyarat

Membutuhkan instance Ubuntu 18.04/20.04. Instance harus sudah menginstal Nginx. Memerlukan pengguna dengan akses sudo.

Langkah 1. Buat Struktur Direktori

Akar dokumen adalah direktori tempat file situs web untuk nama domain disimpan dan disajikan sebagai tanggapan atas permintaan. Kita dapat mengatur root dokumen ke lokasi mana pun yang kita inginkan, tetapi dalam artikel ini, kita akan menggunakan struktur direktori berikut:

/var/www/
├── domain1.com
│   └── images
│   └── index.html
│   └── style.css
├── domain2.net
│   └── images
│   └── index.html
│   └── style.css

Pada dasarnya, kami akan membuat direktori terpisah untuk setiap domain yang ingin kami host di server kami di dalam /var/www direktori.

Mari buat direktori root untuk domain kita:

$ sudo mkdir -p /var/www/domain1.com

Untuk tujuan pengujian, kami akan membuat indeks.html, file style.css, dan direktori gambar di dalam direktori root dokumen domain.

$ cd /var/www/domain1.com/
/var/www/domain1.com$ sudo mkdir images index.html style.css

Buka editor kami dan buat file demo:

/var/www/domain1.com/index.html
<!DOCTYPE html> <html lang="en" dir="ltr">

<head> <meta charset="utf-8">

<title>Welcome to domain1.com</title> <link rel="stylesheet" href="style.css"/>

</head>

<body> <h1 style="color:green;text-align:center;">Success! domain1.com home page!</h1>

</body>

</html>

Di sini kita menjalankan perintah sebagai sudo pengguna dan file serta direktori yang baru dibuat dimiliki oleh root pengguna.

Untuk menghindari masalah izin, kami dapat mengubah kepemilikan direktori root dokumen domain ke pengguna Nginx (www-data) :

$ sudo chown -R www-data: /var/www/domain1.com

kita akan melakukan prosedur yang sama pada domain2.net

Langkah 2. Buat File Blokir Server Nginx untuk Setiap Domain

Sekarang setelah kita memiliki konten yang ingin kita sajikan, kita harus benar-benar membuat blok server yang akan memberi tahu Nginx cara melakukannya.

Secara default, Nginx berisi satu blok server yang disebut dfault yang dapat kita gunakan sebagai template untuk konfigurasi kita sendiri. Kami akan mulai dengan merancang blok server domain pertama kami, yang kemudian akan kami salin untuk domain kedua kami dan membuat modifikasi yang diperlukan.

1) Buat File Blok Server Nginx Pertama

Seperti disebutkan di atas, kami akan membuat file konfigurasi blok server pertama kami dengan menyalin file default:

$ sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/domain1.com

Sekarang, buka file baru yang Anda buat di editor teks Anda dengan hak sudo:

$ sudo nano /etc/nginx/sites-available/domain1.com

Setelah mengedit file, itu akan terlihat seperti ini:

/etc/nginx/sites-available/domain1.com
server { 

listen 80; 

listen [::]:80; 

root /var/www/domain1.com; 

index index.html index.htm index.nginx-debian.html; 

server_name domain1.com www.domain1.com; 

location / 

    { try_files $uri $uri/ =404; 

  } 
}

Itu saja yang kita butuhkan untuk konfigurasi dasar. Simpan dan tutup file untuk keluar dari Ctrl + x .

2) Buat File Blokir Server Nginx Kedua

Sekarang kita memiliki konfigurasi blok server Nginx pertama kita, kita dapat menggunakannya sebagai dasar untuk file kedua kita. Salin untuk membuat file baru:

$ sudo cp /etc/nginx/sites-available/domain1.com /etc/nginx/sites-available/domain2.net

Buka file baru dengan sudo hak istimewa di editor Anda:

$ sudo nano /etc/nginx/sites-available/domain2.net

Sesuaikan arahan root untuk menunjuk ke dokumen domain kedua kami root dan sesuaikan server_name untuk mencocokkan nama domain situs kedua Anda (pastikan untuk menyertakan semua alias).

Ketika Anda selesai, file kami kemungkinan akan terlihat seperti ini:

/etc/nginx/sites-available/domain2.net
server { 

listen 80; 

listen [::]:80; 

root /var/www/domain2.net; 

index index.html index.htm index.nginx-debian.html; 

server_name domain2.net www.domain2.net; 

location / 

{ try_files $uri $uri/ =404; 

  } 
}

Simpan dan tutup file untuk keluar dari Ctrl + x .

Langkah 3. Aktifkan Blok Server Nginx kami dan Mulai Ulang Nginx

Sekarang setelah kita memiliki file blok server, kita perlu mengaktifkannya. Kita dapat melakukannya dengan membuat tautan simbolik dari file-file ini ke sites-enabled direktori tempat Nginx membaca saat startup.

Kita dapat membuat tautan ini dengan mengetik:

$ sudo ln -s /etc/nginx/sites-available/domain1.com /etc/nginx/sites-enabled/
$ sudo ln -s /etc/nginx/sites-available/domain2.net /etc/nginx/sites-enabled/

File-file ini sekarang berada di direktori yang diaktifkan, Kami sekarang memiliki tiga blok server yang diaktifkan:

1. domain1.com:Akan menanggapi permintaan untuk domain1.com dan www.domain1.com
2. domain2.net:Akan menanggapi permintaan untuk domain2.net dan www.domain2.net
3. default:Akan menanggapi setiap permintaan pada port 80 yang tidak cocok dengan dua blok lainnya.

Untuk menghindari kemungkinan masalah memori hash bucket yang dapat timbul dari penambahan nama server tambahan, kami akan melanjutkan dan menyesuaikan satu nilai dalam file /etc/nginx/nginx.conf kami. Buka file sekarang:

$ sudo nano /etc/nginx/nginx.conf

Di dalam file, temukan server_names_hash_bucket_size pengarahan. Hapus # simbol untuk menghapus komentar pada baris:

/etc/nginx/nginx.conf
http { . . . server_names_hash_bucket_size 64; . . . }

Simpan dan tutup file setelah Anda selesai.

Selanjutnya, uji untuk memastikan bahwa tidak ada kesalahan sintaks di salah satu file Nginx kami:

$ sudo nginx -t

Jika tidak ada masalah yang ditemukan, mulai ulang Nginx untuk mengaktifkan perubahan kami:

$ sudo systemctl restart nginx

Nginx sekarang seharusnya melayani kedua nama domain kita.

Langkah 4. Verifikasi dengan Mengakses situs web

Sekarang setelah kita siap, kita harus menguji apakah blok server kita berfungsi dengan benar. Kami dapat melakukannya dengan mengunjungi domain di browser web kami:

http://domain1.com

Anda akan melihat halaman yang terlihat seperti ini:

Jika Anda mengunjungi nama domain kedua, Anda akan melihat situs yang sedikit berbeda:

http://domain2.net

Kesimpulan

Dalam tutorial ini, kita belajar cara mengkonfigurasi blok server Nginx di Ubuntu 18.04/20.04. Menggunakan blok server Nginx, kami telah menyiapkan dua domain untuk melayani permintaan web.


Ubuntu
  1. Cara Mengatur Blok Server Nginx di Ubuntu 18.04

  2. Cara Menginstal Nginx di Ubuntu 20.04

  3. Cara Mengatur Blok Server Nginx di Ubuntu 20.04

  1. Cara Mengkonfigurasi HAProxy di Server Debian 9 / Ubuntu 16.04

  2. Cara Menginstal dan Mengkonfigurasi Nginx di Ubuntu 18.04 / Debian 9

  3. Cara Mengkonfigurasi Server Bacula di Ubuntu 16.04

  1. Cara Mengonfigurasi OSSEC di Ubuntu - Bagian 2

  2. Cara Mengonfigurasi OpenVPN di Ubuntu 16.04

  3. Cara Menginstal dan Mengonfigurasi MRTG di Ubuntu 18.04/20.04