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 daripadatapak-tersedia
kepadadidayakan 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.