Cara Memasang Nginx pada Ubuntu 20.04 LTS

Panduan langkah demi langkah penuh untuk memasang dan menyediakan pelayan web Nginx pada sistem Ubuntu 20.04

Nginx ialah pelayan web proksi terbalik sumber terbuka dan popular yang tersedia pada pelbagai platform. Perisian ini dibangunkan oleh Igor Sysoev sebagai penyelesaian kepada masalah C10K dan pertama kali dikeluarkan pada tahun 2004. Masalah C10K ialah masalah mengendalikan sepuluh ribu pelanggan secara serentak yang agak tidak mudah pada awal tahun 2000-an.

Dalam tutorial ini, kami melihat cara memasang dan menyediakan Nginx pada Ubuntu 20.04 LTS.

Prasyarat

Sistem dengan Ubuntu 20.04 dipasang dan a sudo pengguna. Selain itu, anda tidak perlu mempunyai pelayan web lain seperti Apache yang berjalan pada port 80 atau 443.

Memasang Nginx

Nginx tersedia dalam repositori Ubuntu 20.04 dan apt pengurus pakej boleh digunakan untuk memasangnya. Jadi, untuk memasang Nginx buka terminal menggunakan ctrl+alt+t dan jalankan:

kemas kini sudo apt && sudo apt pasang nginx

Pemasangan akan selesai tidak lama lagi dan daemon Nginx akan bermula di latar belakang secara automatik. Jadi, untuk menyemak status Nginx, jalankan:

sudo systemctl status nginx

Selepas menjalankan arahan di atas anda harus mendapatkan status Nginx sebagai aktif (berjalan) dalam warna hijau seperti yang dilihat di bawah.

Mengkonfigurasi Tembok Api Ubuntu (UFW)

Secara lalai, port keluar HTTP (80) dan HTTPS (443) ditutup pada Ubuntu 20.04. Selain itu, daemon firewall lalai ufw dilumpuhkan kerana semua port ditutup.

Oleh itu, untuk mengakses pelayan Nginx daripada sistem lain, anda perlu mendayakan ufw dan sediakannya dengan betul untuk membenarkan trafik pada port 80 dan 443. Sebelum anda mendayakan ufw, ketahui bahawa jika anda menyediakan Nginx pada pelayan jauh, kemas kini terlebih dahulu ufw peraturan yang dibenarkan ssh dengan berlari:

sudo ufw benarkan ssh

Perintah di atas membenarkan ssh akses ke pelayan jauh, tanpa membenarkan ssh anda akan dikunci daripada pelayan jauh.

Selepas membolehkan ssh akses, anda boleh mendayakan ufw daemon firewall dengan menjalankan:

sudo ufw enable

Sekarang, anda perlu menukar peraturan firewall untuk membenarkan port HTTP dan HTTPS supaya Nginx boleh melayani trafik web. Untuk menukar peraturan, jalankan:

sudo ufw benarkan 'Nginx Full'

Nginx Penuh membenarkan kedua-dua port HTTP dan HTTPS untuk trafik masuk dan keluar dari semua alamat IP.

Selepas itu, sahkan jika peraturan ditambah dengan betul ufw firewall dengan menjalankan arahan:

status sudo ufw

Perintah di atas akan mengeluarkan peraturan yang kami tambahkan ufw daemon firewall.

Menyambung ke Pelayan Nginx

Sekarang kita telah memasang Nginx dan mengkonfigurasi ufw untuk membenarkan trafik web HTTP dan HTTPS masuk, anda seharusnya boleh mengakses pelayan Nginx dengan menggunakan alamat IP pelayan.

Jika anda tidak tahu alamat IP pelayan, gunakan arahan di bawah untuk mendapatkannya dengan mudah.

ip addr tunjukkan eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'

Sebaik sahaja anda mendapat alamat IP, tampalkannya ke dalam penyemak imbas anda dan tekan enter.

//ip-pelayan-anda

Jika semuanya telah dikonfigurasikan dengan betul, anda sepatutnya dapat melihat halaman web ‘Selamat Datang ke nginx!’.

Fail dan Direktori Nginx

Sekarang bahawa kami telah memasang dan menjalankan Nginx pada pelayan anda. Mari kita lihat beberapa fail dan direktori Nginx penting yang perlu anda gunakan untuk mengkonfigurasi tapak web/apl web anda.

Kandungan pelayan web

Anda boleh mengkonfigurasi mana-mana lokasi yang anda mahu menjadi direktori akar anda untuk blok pelayan anda. HTML lalai Nginx secara langsung ialah /var/www/html, di sinilah terletaknya halaman 'selamat datang' yang kami akses sebelum ini.

Lokasi lain yang biasanya digunakan sebagai direktori akar untuk domain termasuk:

  • /rumah//
  • /var/www/html/
  • /opt/

Fail Konfigurasi Nginx

Semua fail konfigurasi Nginx terletak di /etc/nginx direktori. Mari lihat beberapa fail penting yang kita perlukan untuk menyediakan domain asas.

  • /etc/nginx/nginx.conf: Fail ini mengandungi semua konfigurasi yang diperlukan untuk menjalankan Nginx.
  • /etc/nginx/sites-available/: Direktori ini mempunyai semua konfigurasi blok pelayan domain, tetapi pada masa ini tidak didayakan/digunakan dan oleh itu tidak boleh diakses oleh pelanggan.
  • /etc/nginx/sites-enabled/: Direktori ini memegang domain aktif/didayakan pada masa ini yang boleh diakses oleh pelanggan. Untuk mendayakan domain, kami perlu memautkan fail konfigurasi domain daripada tapak-tersedia kepada didayakan tapak direktori.
  • /etc/nginx/snippet/: Dalam direktori ini, kami boleh menyimpan segmen konfigurasi yang berpotensi boleh digunakan semula. Ia menjimatkan banyak masa dalam persekitaran pengeluaran kerana fakta bahawa ia boleh membuat segmen/blok konfigurasi boleh digunakan semula.

Log Pelayan

Nginx mencatatkan peristiwa/aktiviti dan menyimpannya dalam fail log dalam fail /var/log/nginx direktori. Nginx log aktiviti dalam fail ini:

  • /var/log/nginx/access.log: Fail ini merekodkan pelanggan yang telah mengakses pelayan Nginx. Butiran termasuk alamat IP klien, masa dan tarikh, pelayar yang digunakan untuk mengakses pelayan dan OS.
  • /var/log/nginx/error.log: Fail ini merekodkan ralat yang dihadapi oleh pelayan Nginx semasa berjalan.

Jadi, dalam bahagian ini, kami telah melihat secara ringkas beberapa fail dan direktori Nginx penting yang cukup untuk bermula.

Menyediakan Blok Pelayan

Kini setelah kami mempunyai pengetahuan asas tentang fail dan pelayan Nginx, kami bersedia untuk menyediakan blok pelayan kami sendiri. Blok pelayan adalah serupa dengan hos maya Apache.

Kami akan melihat cara membuat blok pelayan dan menunjukkan yang akan kami gunakan example.com sebagai domain dalam proses penciptaan.

💡 Gantikan example.com dengan nama domain anda.

Sebelum kita mula mengkonfigurasi Blok Pelayan, kita perlu mencipta direktori untuk berfungsi sebagai direktori akar untuk kandungan tapak web. Mari kita cipta /var/www/example.com/html direktori untuk menggunakan domain mkdir perintah.

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

The -hlm pilihan akan mencipta semua direktori induk yang diperlukan. Iaitu, ia akan mencipta example.com direktori induk kepada html jika ia tidak wujud.

Tukar pemilikan direktori dengan $USER pembolehubah persekitaran:

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

Seterusnya, buat yang mudah index.html fail yang akan diakses apabila anda melawati domain yang dikonfigurasikan. Ini adalah untuk tujuan penerangan sahaja.

nano /var/www/example.com/html/index.html

Tampalkan kandungan berikut dalam fail yang baru kami buat pada pelayan.

  Selamat datang ke example.com! 

Yo! Contoh.com boleh diakses!

Tekan ctrl+o untuk menulis dan menyimpan index.html fail dan kemudian, tekan ctrl+x untuk keluar nano editor.

Kini akhirnya kita boleh beralih kepada mencipta blok pelayan, supaya Nginx boleh berkhidmat index.html apabila sesetengah pengguna pergi ke example.com. Jadi untuk membuat blok pelayan kita perlu membuat fail konfigurasi bernama example.com dalam tapak-tersedia direktori. Untuk berbuat demikian, kami menggunakan nano dan jalankan:

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

Dan kemudian, sama ada taip atau salin/tampal konfigurasi berikut. Kemudian tekan ctrl+o dan masukkan untuk menulis & menyimpan. Begitu juga, tekan ctrl+x untuk menutup penyunting nano.

pelayan { dengar 80; dengar [::]:80; contoh_nama pelayan.com www.contoh.com; root /var/www/example-domain.com/html; indeks indeks.html; lokasi / { try_files $uri $uri/ =404; } }

Konfigurasi di atas adalah serupa dengan konfigurasi blok pelayan lalai, kami telah menukar akar pernyataan untuk menunjuk ke direktori akar baru kami dan menukar nama pelayan kepada nama domain kami. Sementara lokasi{} kenyataan berfungsi sebagai kenyataan tangkapan ralat jika fail tidak dijumpai dan memaparkan ralat 404 kepada klien.

Seterusnya, kami boleh mendayakan blok pelayan kami supaya Nginx akan berkhidmat example.com laman sesawang. Untuk mendayakan blok pelayan kami, kami perlu mencipta pautan sym bagi example.com fail daripada tapak-tersedia kepada didayakan tapak direktori. Untuk berbuat demikian, jalankan:

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

Pautan akan dibuat dalam didayakan tapak direktori dan sekarang example.com hendaklah didayakan. Kini kami mempunyai dua blok pelayan yang didayakan pada pelayan Nginx kami yang akan bertindak balas terhadap permintaan berdasarkan dengar dan nama_pemutusan arahan disimpan dalam example.com konfigurasi blok pelayan.

Untuk menyemak sama ada semua fail konfigurasi adalah betul dan tiada ralat sintaks, jalankan:

sudo nginx -t

Sekarang, akhirnya mulakan semula Nginx untuk menggunakan perubahan dengan menjalankan arahan berikut:

sudo systemctl mulakan semula nginx

Nginx akan mula melayani blok pelayan anda sekarang, anda boleh pergi ke //nama-domain-anda dan lihat halaman web anda secara langsung.

Nota: Untuk bahagian di atas berfungsi, anda perlu menyediakan domain anda sendiri dan menggantikannya example.com dengan nama domain anda sendiri. Selain itu, anda perlu mengkonfigurasi DNS untuk domain anda untuk menunjuk ke alamat IP pelayan Nginx anda.

Untuk membuat kesimpulan, kami telah melihat cara memasang Nginx, konfigurasi ufw untuk membenarkan akses jauh ke pelayan Nginx, disambungkan ke Nginx dari jauh, membiasakan diri dengan beberapa fail dan direktori asas Nginx dan belajar cara menyediakan blok pelayan.

Untuk mengetahui dan mengetahui lebih lanjut tentang Nginx, anda mungkin ingin melihat wiki Nginx.