Pasang Nginx
Secara lalai, Ubuntu tidak dihantar dengan Nginx. Oleh itu, ia mesti dipasang secara manual dengan arahan berikut.
sudo apt-get kemas kinisudo apt-get install Nginx
Perintah pertama mengemas kini maklumat repositori tempatan, sedangkan perintah kedua memasang Nginx dalam sistem.
Konfigurasikan Firewall
Mengkonfigurasi firewall bergantung pada perisian firewall yang dipasang dalam sistem. Oleh kerana beberapa firewall tersedia di pasaran, tidak mudah untuk mengajar mereka bagaimana mengkonfigurasinya. Oleh itu, panduan ini hanya menunjukkan cara mengkonfigurasi firewall lalai, UFW, alias firewall yang tidak rumit. Firewall lain harus mempunyai konfigurasi yang serupa dengan yang lain.
senarai aplikasi sudo ufwsudo ufw membenarkan 'Nginx HTTPS'
sudo ufw aktifkan
Perintah pertama menyenaraikan profil yang tersedia untuk digunakan di firewall. Perintah kedua menggunakan profil Nginx HTTPS dalam senarai allow (aka Whitelist) firewall, dan perintah ketiga mengaktifkan firewall. Panduan ini kemudian menunjukkan cara menggunakan HTTPS. HTTPS diperlukan pada masa kini kerana ia menjamin sambungan data antara pelanggan dan pelayan. Penyemak imbas seperti Chrome akan secara lalai ke versi HTTPS mana-mana laman web pada masa akan datang; Oleh itu, SSL diaktifkan untuk mana-mana laman web, terutamanya apabila pemilik laman web merancang untuk meningkatkan skor SEO dan keselamatannya.
Konfigurasikan Sistem Fail
Walaupun Nginx menyokong untuk menyajikan kandungan melalui beberapa nama domain, ia dikonfigurasi secara lalai untuk menyajikan kandungan melalui satu domain. Laluan lalai adalah Nginx ialah / var / www / html. Pelbagai domain memerlukan beberapa direktori. Petunjuk berikut menunjukkan cara membuat beberapa direktori untuk menayangkan kandungan melalui pelbagai domain.
- Buat direktori untuk setiap domain dengan perintah berikut. Bendera p diperlukan untuk membuat direktori induk, yang bermaksud apabila www atau direktori lain di alamat tidak ada, ia membuat keseluruhan baris direktori dengan bendera p. sudo mkdir -p / var / www / nucuta.com / html
- Berikan hak milik kepada direktori. Ini memastikan pengguna mempunyai kawalan penuh ke atas direktori. Walau bagaimanapun, di sini pengguna diambil dari pengguna yang sedang log masuk, dan oleh itu penting untuk log masuk ke akaun pengguna yang akan ditugaskan ke direktori. Segmen pertama $ USER adalah untuk pengguna, dan segmen kedua adalah untuk kumpulan yang menjadi milik pengguna. sudo chown -R $ USER: $ USER / var / www / nucuta.com / html
- Tukar kebenaran direktori dengan arahan berikut. Terdapat 3 entiti, dan 3 kebenaran dalam sistem fail Linux. Dalam contoh berikut, digit pertama adalah untuk pengguna, digit kedua adalah untuk kumpulan, dan digit terakhir adalah untuk semua (aka umum). Kebenaran membaca mempunyai nilai 4, izin menulis mempunyai nilai 2, dan izin pelaksanaan mempunyai nilai 1. Nombor-nombor ini dapat ditambahkan bersama-sama untuk mengubah izin entiti, misalnya, 755 bermaksud, PENGGUNA memiliki izin untuk MEMBACA, MENULIS, dan MENGECUALI (4 + 2 + 1 = 7), KUMPULAN memiliki izin untuk MEMBACA, dan MELAKUKAN (4 + 1 = 5), SEMUA mempunyai kebenaran untuk melakukan perkara yang sama. Kebenaran digunakan untuk fail dan direktori dengan peraturan yang berbeza. Peraturan tersebut disenaraikan dalam carta berikut.
- Setelah kebenaran diberikan, buat halaman lalai untuk setiap domain dalam penyemak imbas web semasa domain telanjang dipanggil. Domain telanjang bermaksud domain tanpa sub-domain, contohnya nucuta.com. nano / var / www / nucuta.com / html / indeks.html.
- Tambahkan kod boilerplate berikut dalam setiap fail indeks, dan simpan sebagai indeks.html dalam direktori masing-masing (seperti yang dilihat di atas).
sudo mkdir -p / var / www / nucuta.bersih / html.
sudo chown -R $ USER: $ USER / var / www / nucuta.bersih / html
sudo chmod -R 755 / var / www / nucuta.bersih / html
nano / var / www / nucuta.bersih / html / indeks.html.
Kejayaan!
Konfigurasikan Nginx
Mengkonfigurasi Nginx tidak begitu sukar kerana Nginx secara lalai menyokong pelbagai domain. Walaupun mungkin menggunakan maklumat konfigurasi beberapa domain dalam fail yang sama, disarankan untuk menggunakan beberapa fail untuk setiap maklumat konfigurasi domain. Fail konfigurasi lalai diberi nama "default", dan terletak di / etc / nginx / sites-available / default
- Navigasi ke / etc / nginx / sites-available / default, dan hapus semua maklumat konfigurasi. Gunakan penyunting teks seperti nano atau notepad++ nano / etc / nginx / laman web-tersedia / lalai
- Salin dan tampal konfigurasi berikut, dan simpan. pelayan
- Salin maklumat konfigurasi dalam fail lalai ke fail konfigurasi khusus domain dengan perintah berikut. sudo cp / etc / nginx / sites-available / default / etc / nginx / sites-available / nucuta.com
- Ulangi langkah di atas ke domain lain juga dengan arahan berikut. sudo cp / etc / nginx / sites-available / default / etc / nginx / sites-available / nucuta.bersih
- Buka kedua-dua fail dengan editor teks seperti nano (nano), dan ubah nilai arahan server_name seperti berikut. Di / etc / nginx / sites-available / nucuta.fail com
- Setelah kedua-dua fail dikonfigurasikan, salin ke direktori berikut untuk mengaktifkan fail konfigurasi. Ia membuat pautan simbolik antara fail sebenar dan direktori; oleh itu di masa depan, hanya fail dalam direktori yang tersedia di laman web yang harus diubah untuk membuat perubahan di kedua-dua direktori yang tersedia di laman web dan diaktifkan untuk laman web. sudo ln -s / etc / nginx / sites-available / nucuta.com / etc / nginx / laman web didayakan /
- Teliti fail konfigurasi, buat perubahan lagi, dan gunakan arahan berikut untuk menjadikan perubahan itu berkesan. Perintah pertama memastikan fail konfigurasi bebas dari maklumat konfigurasi yang tidak sah, dan perintah kedua memastikan pelayan dimuat semula atau dimulakan semula dengan betul untuk membuat perubahan berkesan. Gunakan arahan muat semula atau mulakan semula. Muat semula lebih disukai, tetapi mulakan semula boleh digunakan jika muat semula tidak berjaya. systemctl config nginx
dengarkan 80 default_server;
dengar [::]: 80 default_server;
root / var / www / html;
indeks indeks.indeks html.indeks htm.nginx-debian.html;
nama pelayan _;
lokasi /
cuba_files $ uri $ uri / = 404;
nama_pelayan nucuta.com
Di / etc / nginx / sites-available / nucuta.fail bersih
nama_pelayan nucuta.bersih
sudo ln -s / etc / nginx / sites-available / nucuta.net / etc / nginx / laman web didayakan /
systemctl reload nginx atau systemctl restart nginx.
Konfigurasikan Rekod DNS
Mengkonfigurasi tetapan DNS bergantung pada penyedia DNS. Walau bagaimanapun, semua penyedia DNS mempunyai antara muka yang serupa. Secara lalai, pendaftar domain memberikan akses ke rekod DNS. Fasa ini memerlukan alamat IP pelayan tempat pelayan web nginx dihoskan. Mendapatkan alamat IP bergantung sepenuhnya pada platform. Platform seperti Linode, DigitalOcean, Vultr memaparkan IP di papan pemuka. Sekiranya sukar dicari, hubungi sokongan penyedia perkhidmatan masing-masing.
- Dalam tetapan DNS, tambahkan catatan "A", dan gunakan IP pelayan sebagai nilai, nama domain sebagai tuan rumah. Pastikan nama domain yang digunakan di sini sama dengan nama domain yang digunakan dalam fail konfigurasi Nginx. Setelah mengkonfigurasi satu domain, ulangi juga untuk domain lain.
- Biarkan rekod DNS dikemas kini. Biasanya memerlukan masa hingga 24 jam, tetapi biasanya, ia dilakukan dalam beberapa minit.
Dayakan HTTPS
Mengaktifkan HTTPS agak mudah, dan boleh dilakukan secara percuma dengan letencrypt. Letsencrypt adalah pihak berkuasa sijil sumber terbuka yang mengeluarkan sijil SSL percuma kepada webmaster untuk menyulitkan lalu lintas ke laman web mereka.
- Pasang snap-in sistem operasi dengan arahan berikut. Perhatikan bahawa segmen ini akan menggunakan snap daemon untuk memasang semua pakej yang diperlukan dan bukannya apt atau apt-get. Snap adalah pengurusan pakej alternatif, dan alat penyebaran yang dapat digunakan untuk memasang pakej di Ubuntu, dan banyak sistem operasi Linux yang lain. Ini tidak diperlukan untuk dipasang semasa mempunyai Ubuntu 16.04 LTS atau versi lain yang lebih tinggi. Namun, tetap, jalankan arahan terakhir untuk memastikan snap itu terkini. sudo apt kemas kini
- Pasang certbot yang mengkonfigurasi, dan memperbaharui sijil SSL untuk kedua-dua domain. Tanpa certbot sijil SSL mesti dipasang secara manual. Selain itu, pembaharuan juga harus dilakukan secara manual. Ini boleh menjadi masalah kerana sijil letencrypt tamat selepas 3 bulan kemudian. Oleh itu, sijil SSL mesti diperbaharui 3 bulan sekali untuk memastikan laman web ini dapat berfungsi dengan baik seperti yang diharapkan. Gunakan arahan berikut untuk memasang certbot dengan mudah. sudo snap install --classic certbot
- Certbot dipasang di direktori / snap / bin / certbot. Untuk menjalankan fail yang dapat dieksekusi certbot melalui baris perintah tanpa menentukan jalan penuhnya, jalankan perintah berikut. Ini mewujudkan hubungan simbolik antara snap / bin / certbot dan direktori / usr / bin / certbot, sehingga memungkinkan certbot yang dapat dijalankan berjalan pada antara muka baris perintah tanpa menentukan jalan penuh. sudo ln -s / snap / bin / certbot / usr / bin / certbot
- Konfigurasikan contoh Nginx dalam sistem dengan arahan berikut. Terdapat arahan lain yang secara langsung mensasarkan domain tertentu ketika mengkonfigurasi SSL. Perintah ke-2 yang dinyatakan di bawah ini memasang dan mengkonfigurasi sijil SSL untuk nama domain yang ditentukan. sudo certbot -nginx
- Jalankan arahan berikut untuk mensimulasikan proses pembaharuan. Perintah sebenar tanpa bendera -dry-run dijalankan secara automatik kerana certbot mengkonfigurasi cronjob untuk menjalankan perintah secara automatik setelah beberapa waktu kemudian. Ujian kering dijalankan untuk memastikan sijil dapat memperbaharui sijil tanpa halangan. sudo certbot renew --dry-run
sudo apt pasang snapd
inti pemasangan sudo snap; sudo snap refresh core
certbot --nginx -d nucuta.com
Kesimpulannya
Mengkonfigurasi beberapa nama domain dalam pelayan web Nginx cukup mudah kerana menyediakan banyak pilihan untuk memudahkan prosesnya. Certbot memungkinkan untuk memasang sijil SSL untuk beberapa domain untuk pelayan web Nginx. Sebagai sijil SSL, panduan ini menggunakan letsencrypt yang menyediakan sijil SSL secara percuma untuk sebilangan domain. Satu-satunya kelemahan letencrypt adalah jangka hayatnya yang pendek, tetapi certbot memastikan bahawa ia tidak akan menjadi masalah kepada webmaster dengan proses pembaharuan automatiknya.