Cara Install & Konfigurasi NGINX di Ubuntu 2022


Nginx adalah salah satu server web yang paling banyak digunakan di dunia. Ini telah menjadi tulang punggung untuk beberapa situs web terbesar di dunia, termasuk Netflix, WordPress.org, dan banyak lagi. Bahkan, kami bahkan menggunakan Nginx untuk menjalankan situs web kami sendiri.
Nginx telah membuktikan dirinya sebagai salah satu server web tercepat dan paling ringan. Kinerja ini sebagian berkat pendekatan berbasis peristiwa asinkron mereka untuk menangani permintaan. Ini berbeda dari perilaku lama Apache yang menggunakan utas untuk menangani permintaan.
Selain bertindak sebagai server web, ia juga dapat berfungsi sebagai proxy terbalik, penyeimbang beban, proxy surat, atau bahkan cache HTTP. Namun, kami hanya akan menyentuh penggunaan Nginx sebagai server web.
Dalam panduan ini, kami akan menunjukkan kepada Anda cara mengatur Nginx di server Ubuntu Anda. Anda juga akan melihat cara mengonfigurasi blok server Nginx untuk situs web Anda.
Karena Nginx tersedia sebagai bagian dari repositori paket Ubuntu, tutorial ini harus bekerja di hampir semua versi Ubuntu, termasuk Ubuntu 20.04 dan Ubuntu 18.04.
Cara Install Nginx di Ubuntu
Menginstal Nginx di Ubuntu adalah proses yang mudah, berkat tersedia melalui repositori paket Ubuntu.
Ini berarti kita dapat menggunakan apt manajer paket untuk menginstal Nginx dengan satu perintah. Tentu saja, satu-satunya kelemahan dari hal ini adalah bahwa versi Ubuntu yang lebih lama berpotensi menggunakan versi Ubuntu yang sudah ketinggalan zaman.
1. Sebelum kita menginstal sebuah paket menggunakan apt, kita harus memperbarui indeks paket.
Jika Anda tidak memperbarui indeks paket, apt dapat mengunduh versi lama atau mencoba mengunduh dari mirror yang saat ini tidak tersedia.
Lakukan pembaruan indeks paket lokal Anda dengan menjalankan perintah di bawah ini pada perangkat Ubuntu Anda.
sudo apt update
2. Setelah pembaruan selesai, Anda dapat menginstal Nginx ke Ubuntu dengan aman.
Menginstal Nginx semudah menjalankan perintah berikut di sistem Anda.
sudo apt install nginx
3. Setelah proses instalasi selesai, Ubuntu akan secara otomatis memulai server web Nginx.
Jika Anda pergi dan mengunjungi alamat IP server Anda, Anda akan disambut dengan halaman web default Nginx. Ini menunjukkan kepada Anda bahwa Nginx sekarang berhasil berjalan di sistem Ubuntu Anda.
Jika Anda tidak dapat mengakses instalasi Ubuntu Nginx Anda, maka kemungkinan Anda telah menyiapkan firewall pada perangkat yang memblokir koneksi.
Faktanya, jika Anda tidak memiliki firewall yang dipasang di server Ubuntu Anda, itu pasti sesuatu yang harus Anda perhatikan. Ini adalah salah satu cara terbaik untuk membantu mengamankan perangkat Anda dari serangan luar.
Mengizinkan Nginx Melalui Firewall Ubuntu
Ubuntu hadir dengan firewall inbuilt yang disebut UFW. UFW adalah firewall yang sangat sederhana untuk dikonfigurasi dan sesuatu yang harus Anda manfaatkan untuk membantu mengamankan perangkat Ubuntu Anda.
Di bagian ini, kami akan menyentuh tentang cara mengizinkan Nginx melalui UFW sehingga Anda dapat mengaksesnya di luar server Anda.
Jika Anda belum pernah menggunakan UFW sebelumnya, pastikan untuk membaca panduan kami tentang mengonfigurasi aturan firewall untuk UFW .
1. Salah satu manfaat menggunakan UFW adalah aplikasi dapat mendaftarkan profil mereka sendiri untuk UFW.
Profil ini menyediakan daftar port dan protokol yang dibutuhkan aplikasi untuk beroperasi.
Nginx, khususnya, memberi kami tiga profil berbeda yang dapat kami gunakan untuk memasukkannya ke daftar putih dengan mudah di UFW.
- Nginx Full: Menggunakan profil ini akan memungkinkan akses melalui port 80 dan port 443 . Profil ini setara dengan menggunakan kedua port berikut. Biasanya Anda hanya boleh mengaktifkan apa yang Anda rencanakan untuk digunakan.
- Nginx HTTP: Profil HTTP Nginx memungkinkan akses hanya melalui port HTTP standar. Port default untuk koneksi HTTP adalah port 80 . HTTP digunakan untuk lalu lintas web yang tidak terenkripsi.
- Nginx HTTPS: Profil terakhir memungkinkan Anda memasukkan port HTTPS default ke daftar putih dengan mudah. Port ini adalah 443 dan digunakan untuk menangani lalu lintas web terenkripsi ke Nginx.
Dalam kebanyakan kasus, Anda akhirnya ingin mengaktifkan port HTTP dan HTTPS, bahkan jika Anda hanya ingin menggunakan lalu lintas web terenkripsi.
Alasan untuk ini adalah Anda akan menulis file Nginx Anda untuk mengarahkan siapa saja yang mencapai titik HTTP untuk situs web Anda ke HTTPS.
2. Karena panduan ini hanya akan menyentuh pada pembuatan blok Nginx paling dasar, Anda hanya perlu mengaktifkan dukungan HTTP.
Anda dapat mengizinkan akses HTTP melalui UFW dengan menggunakan ” ufw allow” diikuti dengan nama profil, ” Nginx HTTP”.
sudo ufw allow "Nginx HTTP"
3.Anda dapat memverifikasi bahwa port HTTP Nginx sekarang telah diizinkan di perangkat Ubuntu Anda dengan menggunakan perintah berikut.
sudo ufw status
Dari daftar yang dihasilkan oleh perintah ini, Anda sekarang akan melihat ” Nginx Http”, yang menunjukkan bahwa port 80 sekarang terbuka di perangkat Ubuntu Anda.
Menyiapkan Blok Server Nginx Pertama Anda
Nginx menggunakan apa yang disebut blok server untuk membantu menentukan detail konfigurasi untuk masing-masing host.
Dengan menggunakan blok server ini, Anda dapat dengan mudah meng-host beberapa situs web di satu server dan mempertahankan kemampuan untuk mengonfigurasi setiap situs ini persis seperti yang seharusnya.
Bagian ini akan menunjukkan kepada Anda cara menulis blok Nginx Anda sendiri untuk nama domain tertentu. Nginx menggunakan nama domain untuk memisahkan satu blok server dari yang lain.
Membuat Direktori untuk Konten Web Anda
Sebelum memulai, Anda perlu menyiapkan direktori untuk menyimpan semua konten yang ingin Anda sajikan melalui server web Nginx.
1.Jika Anda belum memiliki nama domain, Anda bisa mendapatkannya dengan harga yang relatif murah dari penyedia seperti Namecheap . Setelah Anda memiliki nama domain, Anda perlu mengonfigurasi nama domain agar mengarah ke alamat IP server Ubuntu Anda. Anda dapat menggunakan CNAME atau Nama A
2.Dengan nama domain di tangan, mari kita buat direktori untuk menyimpan semua file yang akan kita layani.
Saat menginstal Nginx di Ubuntu, itu akan secara otomatis menyajikan file dari direktori /var/www/html/. Tentu saja, menggunakan ini bukan yang terbaik saat menangani banyak situs web, jadi sebagai gantinya, kami akan menggunakan struktur yang sedikit berbeda.
Kami masih akan menggunakan /var/www/direktori “ ” tetapi akan membuat sub direktori untuk blok server baru kami.
Setiap direktori baru akan menggunakan “ DOMAIN_NAME” sebagai root. Dengan demikian, semua konten situs web tersebut disimpan di dalam htmlsubdirektori “ ”.
Anda dapat menggunakan perintah berikut pada perangkat Ubuntu Anda untuk membuat direktori ini. Kami menggunakan -ptag “ ” sehingga akan membuat semua folder induk yang diperlukan.
sudo mkdir -p /var/www/DOMAIN_NAME/html
Pastikan bahwa ketika Anda menggunakan perintah ini, Anda mengganti “ DOMAIN_NAME” dengan nama domain yang Anda gunakan. Ini akan memudahkan untuk mengidentifikasi file apa yang termasuk dalam folder ini.
Misalnya, jika kami mengatur ini untuk situs web kami, kami akan berakhir dengan folder seperti di bawah ini.
/var/www/pimylifeup.com/html
Membuat file HTML pertama Anda
Sekarang kita telah membuat folder untuk menyimpan semua konten web kita, mari kita buat sedikit contoh file HTML untuk Nginx untuk disajikan.
1.Kami akan menggunakan editor teks nano untuk membuat file ini karena menurut kami ini adalah salah satu yang paling mudah digunakan.
Dengan memanggil file ini ” index.html”, Nginx akan secara otomatis menyajikan ini ketika seseorang masuk ke server Anda melalui nama domain Anda.
sudo nano /var/www/DOMAIN_NAME/html/index.html
Pastikan Anda mengganti “ DOMAIN_NAME” dengan nama domain yang sama dengan yang Anda gunakan saat membuat direktori.
2.Sekarang Anda harus berada di dalam editor teks, kami dapat menulis beberapa HTML dasar yang akan membantu memberi tahu kami ketika kami telah mengonfigurasi blok server kami dengan benar.
3.Setelah memasukkan HTML, Anda dapat menyimpan file dengan menekan CTRL+ X, lalu Y, diikuti dengan ENTERtombol.
Membuat Blok Server untuk Nginx
Sekarang kita akhirnya sampai pada bagian yang penting, yaitu membuat blok server Nginx. Seperti yang telah kami singgung secara singkat sebelumnya, blok ini memungkinkan kami untuk mengonfigurasi Nginx untuk situs web kami.
1.Mari kita mulai dengan membuat file konfigurasi yang akan kita simpan di blok server Nginx kita. Kami akan memberi nama file konfigurasi ini setelah nama domain yang kami atur.
Untuk Nginx, Anda harus melakukan konfigurasi situs web ini di dalam /etc/nginx/sites-availablefolder “ ”.
sudo nano /etc/nginx/sites-available/DOMAIN_NAME
2.Di dalam file ini, Anda harus memasukkan baris berikut.
server {
listen 80;
listen [::]:80 ipv6only=on;
server_name DOMAIN_NAME;
index index.html index.htm;
root /var/www/DOMAIN_NAME/html;
location / {
try_files $uri $uri/ =404;
}
}
Baris-baris ini mengatur blok server Nginx dasar yang tersedia melalui port 80 (http) pada IPv4 dan IPv6.
Kami menggunakan variabel server_name “ ” untuk menentukan nama domain apa yang harus dikaitkan Nginx dengan blok ini. Ketika Nginx menerima nama domain yang ditentukan, itu akan merutekannya melalui file konfigurasi ini.
Bagian penting berikutnya adalah variabel root “ ”. Variabel ini memungkinkan kita untuk menentukan dari mana kita ingin Nginx menyajikan file. Dalam kasus kami, ini akan diatur ke direktori yang kami buat sebelumnya dalam panduan ini.
Bagian penting terakhir dari file ini adalah blok location “ ”. Dengan blok ini, kami memberi tahu Nginx untuk menggunakan permintaan untuk melihat apakah ada file yang cocok di dalam direktori kami. Jika file ada, itu akan melayaninya. Jika tidak, itu akan merespons dengan kesalahan 404.
3. Setelah selesai, Anda dapat menyimpan dan keluar dengan menekan CTRL+ X, lalu Y, diikuti dengan tombol ENTER.
4.Sebelum Nginx mengetahui konfigurasi baru kita, kita perlu membuat symlink ke file di /etc/nginx/sites-enabled/direktori “ ”.
Membuat tautan simbolik dan tidak hanya menyimpan konfigurasi di dalam folder ini memungkinkan kita untuk menonaktifkan konfigurasi tanpa menghapus atau memindahkan konfigurasi itu sendiri.
Kami dapat membuat tautan ini dengan menjalankan perintah berikut di perangkat Ubuntu Anda.
sudo ln -s /etc/nginx/sites-available/DOMAIN_NAME /etc/nginx/sites-enabled/
Menggunakan ” -s” dengan perintah ln, kami menyuruhnya untuk membuat tautan simbolik.
Tautan simbolis dapat dianggap sebagai jalan pintas ke blok server Nginx kami. Jadi, jika kami menghapus tautan ini, kami tidak akan menghapus file yang sebenarnya.
5.Setelah Anda membuat perubahan apa pun pada konfigurasi Nginx, Anda harus selalu melakukan tes. Tes ini akan membantu Anda mengetahui apakah Anda telah membuat kesalahan di suatu tempat dan menghentikan Anda membuat server web offline.
Anda bisa meminta Nginx untuk menguji konfigurasinya dengan menggunakan perintah berikut.
sudo nginx -t
Di bawah ini adalah pesan yang akan Anda lihat jika Anda telah mengonfigurasi blok server Nginx baru Anda dengan benar.
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
6.Langkah terakhir kami adalah me-restart layanan Nginx yang berjalan di perangkat Ubuntu kami.
Dengan me-restart Nginx, kami memastikan bahwa itu akan terbaca di blok server yang baru saja kami buat.
sudo systemctl restart nginx
7.Jika semuanya berjalan dengan benar, Anda sekarang dapat mengakses situs web Anda melalui nama domain yang Anda tentukan
Jika Anda menavigasi ke nama domain Anda, Anda akan disambut dengan layar seperti yang kami miliki di bawah ini.
Your Nginx Block For DOMAIN_NAME is Setup!
Pastikan bahwa ketika Anda menavigasi ke nama domain Anda, Anda menggunakan protokol HTTP seperti, “ “. Menyiapkan HTTPS memerlukan beberapa langkah tambahan yang akan kita bahas di panduan lain.http://DOMAIN_NAME
File dan Direktori Penting untuk Nginx
Pada titik ini, Anda sekarang harus memiliki ide dasar tentang cara menginstal dan mengatur situs web yang sangat mendasar menggunakan Nginx di perangkat Ubuntu Anda.
Untuk menggunakan Nginx dengan lebih baik di sistem Ubuntu Anda, Anda harus mengingat beberapa direktori dan file. Direktori ini sangat penting untuk mengkonfigurasi dan menjalankan server web secara maksimal.
- /etc/nginx/: Folder ini adalah tempat Nginx menyimpan semua file konfigurasinya secara default. Anda dapat memodifikasi file yang terletak di dalam direktori ini untuk mengubah perilaku server web Anda.
- /etc/nginx/nginx.conf: File ini adalah titik masuk utama untuk Nginx. Server web akan mulai membaca semua pengaturan Anda dari titik ini. File seperti blok server situs web Anda biasanya disertakan dari file ini.
- /etc/nginx/conf.d/: Setiap file yang disimpan ke dalam direktori ini akan dimasukkan sebagai bagian dari konfigurasi default Nginx. Anda dapat menggunakan direktori ini untuk mengubah perilaku Nginx tanpa harus mengubah file konfigurasi inti.
- /etc/nginx/sites-available/: Direktori ini adalah tempat Anda harus menyimpan blok server Nginx Anda. Meskipun file-file ini tidak akan dimuat oleh Nginx secara otomatis, Anda dapat menganggapnya sebagai semacam area pementasan. Setelah blok server Anda siap, Anda perlu membuat tautan simbolis dari file ini ke /etc/nginx/sites-enabled/direktori “ ”.
- /etc/nginx/sites-enabled/: Ini adalah salah satu direktori penting terakhir untuk Nginx mengenai konfigurasinya. Setiap blok server yang disimpan di sini akan disertakan saat server web di-restart. Sebagai aturan umum, Anda harus menyimpan file konfigurasi Anda di /etc/nginx/sites-available/direktori “ ” dan membuat tautan simbolis ke dalam direktori ini. Anda dapat dengan mudah menonaktifkan situs web dengan menghapus tautan simbolik dan bukan file konfigurasi yang sebenarnya.
- /var/log/nginx/: Direktori ini adalah tempat default Anda akan menemukan semua file log untuk Nginx di Ubuntu. Dimungkinkan untuk mengubah lokasi file log ini di dalam blok server. Anda bahkan dapat memilih nama khusus sehingga log dipisahkan untuk setiap situs web yang Anda jalankan.
- /var/log/nginx/error.log: Jika Anda mengalami kesalahan dengan instalasi Ubuntu Nginx Anda, ini adalah tempat pertama yang harus Anda periksa. Kesalahan yang terjadi akan dicatat ke file ini. Ini akan mencakup kesalahan Nginx dan PHP.
- /var/log/nginx/access.log: Ketika pengguna dikirimkan konten dari server web Nginx Anda, itu akan membuat entri dalam file ini. Secara default, setiap entri dalam log ini akan memberi tahu Anda tentang jalur yang coba diakses pengguna, alamat IP mereka, dan banyak informasi lainnya. Dimungkinkan untuk memodifikasi apa yang dicatat baik di konfigurasi Nginx utama dan di dalam blok server.
Mengontrol Layanan Nginx di Ubuntu
Hal terakhir yang akan kita sentuh adalah bagaimana mengontrol layanan Nginx pada sistem Ubuntu Anda.
Mengetahui cara mengelola layanan dapat membantu, terutama ketika Anda ingin membuat situs web Anda offline karena suatu alasan atau perlu memulai ulang untuk menghapus konfigurasi.
Mengontrol layanan Nginx sangat sederhana karena kami dapat menggunakan systemctl.
Memulai Server Web Nginx
Untuk memulai server web Nginx, Anda perlu menjalankan perintah berikut di perangkat Ubuntu Anda.
sudo systemctl start nginx
Jika layanan sudah berjalan, perintah ini tidak akan melakukan apa pun.
Menghentikan Nginx
Menghentikan Nginx di Ubuntu semudah memulainya. Yang perlu kita lakukan adalah mereferensikan perintah stop dan nginxnama layanan.
sudo systemctl stop nginx
Seperti saat memulai Nginx, jika Nginx telah dihentikan, maka perintah ini tidak akan melakukan apa pun.
Memulai ulang Layanan Nginx
Memulai ulang Nginx dapat berguna saat mengalami masalah atau membuat perubahan konfigurasi yang tidak berpengaruh pada pemuatan ulang.
sudo systemctl restart nginx
Proses ini secara kasar setara dengan menghentikan layanan lalu segera memulainya kembali.
Membuat Nginx Reload Konfigurasinya
Nginx dapat memuat ulang file konfigurasinya tanpa harus dimatikan sepenuhnya. Memaksa memuat ulang daripada memulai ulang memungkinkan server web mempertahankan koneksinya saat ini.
sudo systemctl reload nginx
Pastikan untuk menguji file Nginx Anda menggunakan -topsi. Jika konfigurasi yang tidak valid dimuat selama proses reload, Nginx akan offline.
Menonaktifkan Server Web Nginx di Ubuntu
Ketika Anda menginstal Nginx di sistem Ubuntu Anda, itu akan secara otomatis dikonfigurasi untuk memulai saat boot. Jika Anda lebih suka ini tidak terjadi, Anda dapat menggunakan systemctl untuk menonaktifkan layanan.
sudo systemctl disable nginx
Dengan layanan Nginx dinonaktifkan, masih mungkin untuk memulai dan menghentikannya secara manual. Satu-satunya perbedaan adalah bahwa itu tidak akan dimulai dan dikelola secara otomatis oleh manajer layanan sistem.
Mengaktifkan Layanan Nginx
Jika Anda telah menonaktifkan server web Nginx, Anda dapat mengaktifkannya kembali dengan perintah sederhana berikut.
sudo systemctl reload nginx
Setelah Anda mengaktifkan layanan Nginx, itu akan secara otomatis memulai ketika server Ubuntu Anda boot. Selain itu, jika layanan Nginx mati karena alasan apa pun, layanan akan mencoba memulai ulang.
Kesimpulan
Mudah-mudahan, sekarang, Anda akan mengerti bagaimana Anda dapat menginstal dan mengkonfigurasi server web Nginx di perangkat Ubuntu Anda. Kami menyentuh beberapa subjek di seluruh panduan ini, dimulai dengan menginstal server web. Anda juga harus tahu bagaimana Anda dapat membuat dan mengatur blok server Nginx Anda sendiri.
Blok server adalah komponen penting Nginx dan membantu memisahkan beberapa situs web. Itu juga dapat digunakan untuk mengonfigurasi Nginx secara berbeda untuk setiap situs Anda.
Jika Anda memiliki masalah dalam menjalankan dan menjalankan Nginx di perangkat Ubuntu Anda, silakan tinggalkan komentar di bawah. Pastikan untuk membaca beberapa tutorial Ubuntu kami yang lain , seperti mengonfigurasi alamat IP statis atau menggunakan upgrade tanpa pengawasan .