GNU/Linux >> Belajar Linux >  >> Ubuntu

Instal Nginx dan konfigurasikan Virtual host di Ubuntu 20.04

Dalam panduan ini, kita akan mengeksplorasi cara menggunakan nginx di Ubuntu 20.04, yaitu Menginstal nginx dan mengkonfigurasi nginx untuk melayani situs virtual.

Menginstal Nginx

perbarui indeks paket lokal kami sehingga kami memiliki akses ke daftar paket terbaru

sudo apt update

Instal nginx

sudo apt install nginx

Perbarui firewall

Daftar aplikasi ufw yang tersedia:

sudo ufw app list

Contoh keluaran:

Available applications:
  Nginx Full
  Nginx HTTP
  Nginx HTTPS
  OpenSSH

Profil Nginx yang terdaftar:

  • Nginx Full – Baik http – 80 dan https – 443
  • Nginx HTTP – hanya lalu lintas http 80
  • Nginx HTTPS – Hanya lalu lintas https 443 – Lalu lintas terenkripsi TLS/SSL

Aktifkan profil yang Anda inginkan – baik http dan https dalam kasus kami:

sudo ufw allow 'Nginx Full'

Verifikasi perubahan

sudo ufw status

Perintah di atas akan menampilkan lalu lintas mana yang diizinkan.

Mengonfigurasi nginx

Periksa versi yang diinstal

sudo apt list --installed | grep nginx

Periksa layanan systemd

sudo systemctl status nginx

Anda akan melihat output ini menunjukkan bahwa nginx sedang berjalan

● nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2021-07-30 14:07:33 UTC; 2min 42s ago
       Docs: man:nginx(8)
   Main PID: 4684 (nginx)
      Tasks: 5 (limit: 9257)
     CGroup: /system.slice/nginx.service
             ├─4684 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
             ├─4685 nginx: worker process
             ├─4686 nginx: worker process
             ├─4687 nginx: worker process
             └─4688 nginx: worker process

Jul 30 14:07:33 frhb64566ds systemd[1]: Starting A high performance web server and a reverse proxy server...
Jul 30 14:07:33 frhb64566ds systemd[1]: Started A high performance web server and a reverse proxy server.

Untuk memastikan bahwa layanan nginx selalu berjalan bahkan setelah reboot, gunakan perintah systemnd ini untuk mengaktifkan:

sudo systemctl enable nginx

Anda dapat menggunakan perintah systemd lain ini untuk mengelola nginx:

# To start the service
sudo systemctl start nginx

# To restart the service
sudo systemctl restart nginx

# To reload the service config
sudo systemctl reload nginx

# To stop the service config
sudo systemctl restart nginx

# To disable the service config
sudo systemctl restart nginx

Untuk mengonfirmasi bahwa nginx benar-benar berjalan dan dapat dijangkau, gunakan perintah ini:

curl http://server_ip/

di mana server_ip adalah ip server Anda. Jika karena alasan apa pun Anda tidak mengetahui ip publik server Anda, gunakan ini untuk memeriksa:

curl -4 icanhazip.com

Kemudian:

curl http://178.170.10.54/

Anda harus mendapatkan halaman nginx default.

Menyajikan nginx halaman statis sederhana

Mari kita lihat contoh untuk menyajikan halaman statis dengan nginx. Halaman statis adalah html dan css yang tidak memerlukan rendering sisi server. Kita akan menggunakan contoh domain your.domain.com dalam kasus kami.

Langkah-langkah:

  1. Buat direktori untuk menyimpan konten statis kami (kami akan menggunakan /var/www/your.domain.com )

    sudo mkdir -p /var/www/your.domain.com
  2. Pastikan direktori yang dibuat dapat diakses oleh pengguna saat ini

    sudo chown -R ${USER}:${USER} /var/www/your.domain.com
    sudo chmod -R 755 /var/www/your.domain.com
  3. Tambahkan file contoh ke direktori (/var/www/your.domain.com/index.html )

    cat > /var/www/your.domain.com/index.html <<EOF
    <html>
    <head>
        <title>Hola from your.domain.com!</title>
    </head>
    <body>
        <h1>Hey!</h1>
        <p>Our site <i>your.domain.com</i> is working as expected.</p>
    </body>
    </html>
    EOF
  4. Buat konfigurasi nginx di direktori /etc/nginx/conf.d di mana nginx mencari konfigurasi untuk disertakan saat melayani. Kami akan membuat file /etc/nginx/conf.d/your.domain.com.conf dengan konten yang dibutuhkan.

Gunakan perintah ini:

cat > /etc/nginx/conf.d/your.domain.com.conf <<EOF
server {
    listen 80;
    server_name your.domain.com;

    root /var/www/your.domain.com;
    index index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }
}
EOF
  1. Uji untuk memastikan bahwa tidak ada kesalahan sintaks di salah satu file nginx

    sudo nginx -t
  2. Jika tidak ada kesalahan, mulai ulang nginx untuk memuat ulang konfigurasi

    sudo systemctl restart nginx
  3. Untuk memastikan bahwa domain Anda dapat mencapai server, edit konfigurasi DNS Anda untuk memastikan bahwa catatan A situs your.domain.com Anda menunjuk ke IP server.

Situs Anda sekarang harus aktif dan berjalan. Konfirmasikan dengan mengunjungi http://domain.anda.com

File dan Direktori Nginx Penting di Nginx

  • /var/www/html :Ini adalah direktori konten web. Ini berisi konten halaman default dalam file index.nginx-debian.html . Halaman itu dirender ketika tidak ada host server spesifik yang ditentukan.

  • /etc/nginx :Ini berisi semua file konfigurasi nginx.

  • /etc/nginx/nginx.conf :Ini adalah file konfigurasi nginx global utama

  • /etc/nginx/sites-available/ :Direktori tempat blok server per situs dapat disimpan. Nginx tidak akan menggunakan file konfigurasi yang ditemukan di direktori ini kecuali file tersebut ditautkan ke sites-enabled direktori. Biasanya, semua konfigurasi blok server dilakukan di direktori ini, dan kemudian diaktifkan dengan menautkan ke direktori lain.

  • /etc/nginx/sites-enabled/ :Direktori tempat penyimpanan blok server per situs yang diaktifkan. Biasanya, ini dibuat dengan menautkan ke file konfigurasi yang ditemukan di direktori yang tersedia di situs.

  • /etc/nginx/snippets :Direktori ini berisi fragmen konfigurasi yang dapat dimasukkan di tempat lain dalam konfigurasi Nginx. Segmen konfigurasi yang berpotensi berulang adalah kandidat yang baik untuk pemfaktoran ulang menjadi cuplikan.

  • /var/log/nginx/access.log :Setiap permintaan ke server web Anda dicatat dalam file log ini kecuali jika Nginx dikonfigurasi untuk melakukan sebaliknya.

  • /var/log/nginx/error.log :Setiap kesalahan Nginx akan dicatat di log ini.


Ubuntu
  1. Cara Menginstal dan Mengkonfigurasi Nginx di CentOS 8

  2. Cara Menginstal dan Mengkonfigurasi Nginx di Ubuntu 20.04

  3. Bagaimana Cara Menginstal dan Mengonfigurasi Varnish di Ubuntu 20.04?

  1. Cara Menginstal Nginx di Ubuntu 16.04

  2. Cara Menginstal dan Mengonfigurasi GitLab di Ubuntu 18.04

  3. Cara Menginstal dan Mengonfigurasi Nagios di Ubuntu 18.04

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

  2. Instal dan Konfigurasikan Kolab Groupware di Ubuntu 16.04 LTS

  3. Instal dan Konfigurasikan Pico CMS di Ubuntu 16.04 LTS