Nginx

Cara Menginstal Nginx dan Konfigurasi di CentOS 8

Cara Menginstal Nginx dan Konfigurasi di CentOS 8
Nginx adalah server web yang cepat dan ringan. File konfigurasi Nginx sangat sederhana dan mudah digunakan. Ini adalah alternatif yang bagus untuk server web Apache.  Pada artikel ini, saya akan menunjukkan cara menginstal dan mengkonfigurasi server web Nginx di CentOS 8. Jadi, mari kita mulai.

Menginstal Nginx:

Nginx tersedia di repositori paket resmi CentOS 8. Jadi, sangat mudah untuk menginstal.

Pertama, perbarui cache repositori paket DNF sebagai berikut:

$ sudo dnf makecache

Sekarang, instal Nginx dengan perintah berikut:

$ sudo dnf instal nginx

Untuk mengonfirmasi penginstalan, tekan kamu lalu tekan .

Nginx harus diinstal.

Mengelola Layanan nginx:

Secara default, nginx pelayanan harus tidak aktif (tidak berjalan) dan dengan disabilitas (tidak akan otomatis mulai saat boot).

$ sudo systemctl status nginx

Anda dapat memulai nginx layanan sebagai berikut:

$ sudo systemctl mulai nginx

nginx pelayanan harus berlari.

$ sudo systemctl status nginx

Sekarang, tambahkan nginx layanan untuk startup sistem sebagai berikut:

$ sudo systemctl aktifkan nginx

Mengonfigurasi Firewall:

Anda harus mengkonfigurasi firewall untuk mengizinkan akses ke port HTTP 80 dan port HTTPS 443 untuk mengakses server web Nginx dari komputer lain di jaringan.

Anda dapat mengizinkan akses ke port HTTP dan HTTPS dengan perintah berikut:

$ sudo firewall-cmd --add-service=http,https --permanent

Sekarang, agar perubahan diterapkan, jalankan perintah berikut:

$ sudo firewall-cmd --reload

Menguji Server Web:

Anda harus mengetahui alamat IP atau nama domain server web Nginx untuk mengaksesnya.

Anda dapat menemukan alamat IP server web Nginx Anda dengan perintah berikut:

$ ip a

Dalam kasus saya, alamat IP-nya adalah 192.168.20.175. Ini akan berbeda untukmu. Jadi, pastikan untuk menggantinya dengan milikmu mulai sekarang.

Sekarang, kunjungi http://192.168.20.175 dari browser web Anda. Anda akan melihat halaman berikut. Itu berarti server web Nginx berfungsi.

File Konfigurasi nginx:

File konfigurasi server web Nginx ada di /etc/nginx/ direktori.

$pohon /etc/nginx

/etc/nginx/nginx.konf adalah file konfigurasi Nginx utama.

Direktori root web default dari server web Nginx adalah /usr/share/nginx/html/. Jadi, di sinilah Anda harus menyimpan file situs web Anda.

Menyiapkan Server Web Dasar:

Di bagian ini, saya akan menunjukkan cara menyiapkan server web Nginx dasar.

Pertama, ambil cadangan file konfigurasi Nginx asli dengan perintah berikut:

$ sudo mv -v /etc/nginx/nginx.conf /etc/nginx/nginx.konf.asli

Sekarang, buat file konfigurasi Nginx baru sebagai berikut:

$ sudo nano /etc/nginx/nginx.konf

Sekarang, ketik baris berikut di /etc/nginx/nginx.konf file dan simpan file.

pengguna nginx nginx;
pekerja_proses otomatis;
error_log /var/log/nginx/error.catatan;
pid /run/nginx.pid;
 
acara
pekerja_koneksi 1024;

 
http
sertakan            /etc/nginx/mime.jenis;
default_type        application/octet-stream;
 
server
dengarkan          80;
nama_server     contoh.com www.contoh.com;
root            /usr/share/nginx/html;
indeks           indeks.html;
access_log      /var/log/nginx/access.catatan;

Sini, pengguna opsi digunakan untuk mengatur pengguna dan grup Nginx run ke nginx masing-masing.

Itu catatan eror opsi digunakan untuk mengatur jalur file log kesalahan ke /var/log/nginx/kesalahan.catatan. Di sinilah kesalahan yang terkait dengan server Nginx akan disimpan.

Konfigurasi server Nginx utama didefinisikan dalam server bagian di dalam http bagian. Anda dapat menentukan lebih dari satu server bagian di dalam http bagian jika diperlukan.

Dalam server bagian,

mendengarkan opsi digunakan untuk mengonfigurasi Nginx untuk mendengarkan port 80 (port HTTP) untuk permintaan web.

nama server opsi digunakan untuk menetapkan satu atau lebih nama domain untuk server web Nginx. Jika pengaturan DNS Anda benar, Anda dapat mengakses server web Nginx menggunakan nama domain ini.

akses_log digunakan untuk mengatur jalur file log akses ke /var/log/nginx/akses.catatan. Ketika seseorang mencoba mengakses server web Nginx, informasi akses (mis.e. Alamat IP, URL, kode status HTTP) akan dicatat ke file ini.

Itu lokasi opsi digunakan untuk mengatur direktori root dari server web Nginx.

Di sini, akar direktori adalah /usr/share/nginx/html/.

Di sinilah semua file situs web harus disimpan. Itu indeks set pilihan indeks.html sebagai file default untuk ditayangkan jika tidak ada file tertentu yang diminta. Misalnya, jika Anda mengunjungi http://192.168.20.175/file saya.html , maka Nginx Anda akan kembali file saya.html mengajukan. Tapi, jika Anda mengunjungi http://192.168.20.175/, maka Nginx akan mengirimkan indeks kepada Anda.html karena tidak ada file tertentu yang diminta.

Sekarang, hapus semua file dari /usr/share/nginx/html/ direktori (root web) sebagai berikut:

$ sudo rm -rfv /usr/share/nginx/html/*

Sekarang, buat yang baru indeks.html file di /usr/share/nginx/html/ direktori sebagai berikut:

Sekarang, ketik baris berikut di indeks.html file dan simpan file.

Halo Dunia


© 2020 LinuxHint.com

Sekarang, mulai ulang nginx layanan sebagai berikut:

$ sudo systemctl restart nginx

Sekarang, kunjungi http://192.168.20.175 dari browser web Anda dan Anda akan melihat halaman berikut. Selamat! Anda telah menyiapkan server web Nginx pertama Anda.

Mengonfigurasi Halaman Kesalahan:

Anda dapat mengonfigurasi halaman kesalahan di Nginx. Misalnya, jika halaman/file/direktori tidak tersedia, kode status HTTP 404 akan dikembalikan ke browser. Anda dapat mengatur halaman kesalahan HTML khusus untuk kode status HTTP 404 yang akan dikembalikan ke browser.

Untuk melakukan itu, tambahkan baris berikut di server bagian dari nginx.konf mengajukan.

server

error_page 404/404.html;

Sekarang, buat file 404.html di root web Nginx /usr/share/nginx/html/ sebagai berikut:

$ sudo nano /usr/share/nginx/html/404.html

Sekarang, ketik baris berikut di 404.html dan simpan filenya.

kesalahan 404


halaman tidak ditemukan


© 2020 LinuxHint.com

Sekarang, mulai ulang nginx layanan sebagai berikut:

$ sudo systemctl restart nginx

Sekarang, coba akses jalur yang tidak ada (http://192.168.20.175/no halaman.html) dan Anda akan melihat halaman kesalahan berikut:.

jika 404.html file berada di jalur sistem file yang berbeda (katakanlah /usr/share/nginx/html/errors/ direktori), Anda dapat memetakan URL /404.html untuk itu sebagai berikut:

server

error_page 404/404.html;
lokasi /404.html
root            /usr/share/nginx/html/errors;


Sekarang, buat direktori baru  /usr/share/nginx/html/errors/ sebagai berikut:

$ sudo mkdir /usr/share/nginx/html/errors

Sekarang, buat file baru 404.html di  direktori /usr/share/nginx/html/errors/ sebagai berikut:

$ sudo nano /usr/share/nginx/html/errors/404.html

Sekarang, ketik baris berikut di 404.html file dan simpan file.

HALAMAN TIDAK DITEMUKAN


PULANG KE RUMAH

Sekarang, mulai ulang nginx layanan sebagai berikut:

$ sudo systemctl restart nginx

Sekarang, coba akses jalur yang tidak ada (http://192.168.20.175/no halaman.html) dan Anda akan melihat halaman kesalahan yang diperbarui.

Dengan cara yang sama, Anda dapat mengatur halaman kesalahan untuk kode status HTTP lainnya.

Anda juga dapat mengatur halaman kesalahan yang sama untuk beberapa kode status HTTP. Misalnya, untuk mengatur halaman kesalahan yang sama /404.html untuk kode status HTTP 403 dan 404, tulis error_page pilihan sebagai berikut:

error_page    403 404    /404.html;

Mengonfigurasi Log:

Di Nginx, catatan eror dan akses_log opsi digunakan untuk mencatat pesan kesalahan dan mengakses informasi.

Format dari catatan eror dan akses_log pilihan adalah:

error_log /path/ke/error/log/file [opsional:nama-log-kustom];
access_log /path/to/access/log/file [opsional:nama-log-kustom];

Anda dapat menentukan log kesalahan Anda sendiri dan mengakses format log jika Anda mau.

Untuk melakukannya, gunakan log_format pilihan di http bagian untuk menentukan format log kustom Anda sebagai berikut.

http

log_format simple      '[$time_iso8601] $request_method $request_uri '
'[$status] ($request_time) -> $bytes_sent byte';

server

access_log /var/log/nginx/access.log sederhana;


Di sini, nama format lognya adalah sederhana. Beberapa variabel nginx digunakan untuk menentukan format log kustom. Kunjungi Manual Variabel Tertanam Nginx untuk mempelajari semua variabel Nginx.

Format log kustom harus diapit dalam tanda kutip tunggal. Format log dapat didefinisikan dalam satu baris atau dalam beberapa baris. Saya telah menunjukkan cara mendefinisikan format log dalam beberapa baris di artikel ini. Anda tidak akan mengalami masalah dengan format log satu baris, percayalah!

Setelah format log sederhana didefinisikan, akses_log opsi digunakan untuk memberi tahu Nginx untuk menggunakannya sebagai log akses.

Dengan cara yang sama, Anda dapat mengatur format log kesalahan khusus menggunakan catatan eror pilihan.

Saya hanya mengonfigurasi format log khusus untuk log akses di artikel ini.

Sekarang, mulai ulang nginx layanan sebagai berikut:

$ sudo systemctl restart nginx

Sekarang, Anda dapat memantau file log akses sebagai berikut:

$ sudo tail -f /var/log/nginx/access.catatan

Anda juga dapat memantau file log kesalahan sebagai berikut:

$ sudo tail -f /var/log/nginx/error.catatan

Jika mau, Anda dapat memantau log akses dan file log kesalahan secara bersamaan sebagai berikut:

$ sudo tail -f /var/log/nginx/error,access.catatan

Seperti yang Anda lihat, format log akses baru sedang digunakan.

Menolak Akses ke Jalur Tertentu:

Anda dapat menggunakan ekspresi reguler untuk mencocokkan jalur URI tertentu dan menolak aksesnya di Nginx.

Katakanlah, situs web Anda dikelola oleh Git, dan Anda ingin menolak akses ke .git/ direktori di root web Anda.

Untuk melakukannya, ketik baris berikut di in server bagian dari /etc/nging/nginx.konf mengajukan:

server

lokasi ~ \.git
menyangkal semua;


Seperti yang Anda lihat, akses ke jalur apa pun yang berisi .git ditolak.

Mengonfigurasi Kompresi:

Anda dapat mengompres konten web sebelum mengirimnya ke browser menggunakan gzip untuk menghemat penggunaan bandwidth server web Nginx.

Saya memiliki beberapa gambar JPEG di /usr/share/nginx/html/images/ direktori.

Saya dapat mengakses gambar-gambar ini menggunakan jalur URI /gambar-gambar.

Untuk mengaktifkan kompresi gzip hanya untuk gambar JPEG di jalur URI /gambar-gambar, ketik baris berikut di server bagian dari /etc/nginx/nginx.konf mengajukan.

server

lokasi /gambar
gzip aktif;
gzip_comp_level 9;
gzip_min_length 100000;
gzip_types gambar/jpeg;


Sini, gzip_comp_level digunakan untuk mengatur tingkat kompresi. Ini bisa berupa angka apa saja dari 1 hingga 9. Semakin tinggi levelnya, semakin kecil file yang dikompresi.

File hanya akan dikompresi jika ukuran file di atas gzip_min_length. Saya telah mengaturnya menjadi sekitar 100 KB dalam contoh ini. Jadi, file JPEG yang lebih kecil dari 100 KB tidak akan dikompresi gzip.

Itu  gzip_types digunakan untuk mengatur jenis mime dari file yang akan dikompres.

Anda dapat menemukan tipe mime dari ekstensi file sebagai berikut:

$ grep jpg /etc/nginx/mime.jenis

Seperti yang Anda lihat, untuk .jpg atau .jpeg ekstensi file, tipe mime adalah gambar/jpeg.

Anda dapat mengatur satu atau lebih jenis pantomim menggunakan gzip_types pilihan.

Jika Anda ingin mengatur beberapa jenis pantomim, pastikan untuk memisahkannya dengan spasi sebagai berikut:

"
gzip_types gambar/gambar jpeg/gambar png/gif;

Sekarang, mulai ulang nginx layanan sebagai berikut:

$ sudo systemctl restart nginx

Seperti yang Anda lihat, Nginx mengirimkan file gambar terkompresi gzip ke browser saat diminta.

Seperti yang Anda lihat pada tangkapan layar di bawah, file terkompresi gzip lebih kecil dari file aslinya.

$ sudo tail -f /var/log/nginx/access.catatan

Mengaktifkan HTTPS:

Anda dapat mengaktifkan SSL di Nginx dengan sangat mudah. Di bagian ini, saya akan menunjukkan kepada Anda cara mengatur sertifikat SSL yang ditandatangani sendiri di Nginx.

Pertama, navigasikan ke /etc/ssl/ direktori sebagai berikut:

$cd /etc/ssl

Sekarang, buat kunci SSL server.kunci dan sertifikat server.crt dengan perintah berikut:

$ sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout
server.server kunci-keluar.crt

CATATAN: Anda harus memiliki opensl dipasang agar ini berfungsi. Jika perintah openssl tidak tersedia, instal opensl dengan perintah berikut:

$ sudo dnf install openssl  -y

Sekarang, ketikkan kode negara 2 huruf Anda (i.e. AS untuk AS, Inggris untuk Inggris, RU untuk Rusia, CN untuk China) dan tekan .

Sekarang, ketik nama Negara Bagian/Provinsi Anda dan tekan .

Sekarang, ketik nama Kota Anda dan tekan .

Sekarang, ketik nama Perusahaan Anda dan tekan .

Sekarang, ketikkan nama unit organisasi perusahaan Anda yang akan menggunakan sertifikat ini dan tekan .

Sekarang, ketikkan nama domain yang sepenuhnya memenuhi syarat (FQDN) dari server web Nginx Anda dan tekan . Sertifikat SSL hanya akan valid jika server web Nginx diakses menggunakan nama domain ini.

Sekarang, ketik alamat email Anda dan tekan .

Sertifikat SSL Anda harus sudah siap.

Sertifikat dan kunci SSL harus dibuat di /etc/ssl/ direktori.

$ ls -lh

Sekarang, buka file konfigurasi Nginx /etc/nginx/nginx.konf dan ubah mendengarkan pelabuhan ke 443 dan ketik baris berikut di server bagian.

server

ssl aktif;
ssl_certificate /etc/ssl/server.crt;
ssl_certificate_key /etc/ssl/server.kunci;

Sekarang, mulai ulang nginx layanan sebagai berikut:

$ sudo systemctl restart nginx

Dalam kehidupan nyata, Anda akan memiliki pengaturan DNS yang benar. Tetapi untuk tujuan pengujian, saya telah mengonfigurasi nama domain berbasis file lokal di komputer yang saya gunakan untuk mengakses server web Nginx dari.

Jika Anda ingin mengikuti, buka /etc/hosts berkas sebagai berikut:

$ sudo nano /etc/hosts

Kemudian, tambahkan baris berikut ke /etc/hosts mengajukan.

192.168.20.175 www.contoh.com

Sekarang, coba kunjungi https://www.contoh.com dan Anda akan melihat halaman berikut. Kamu akan lihat Koneksi Anda tidak aman pesan karena ini adalah sertifikat yang ditandatangani sendiri. Ini bagus untuk tujuan pengujian saja.

Dalam kehidupan nyata, Anda akan membeli sertifikat SSL dari Otoritas Sertifikat (CA) dan menggunakannya. Jadi, Anda tidak akan melihat jenis pesan ini.

Seperti yang Anda lihat, Nginx menyajikan halaman web melalui HTTPS. Jadi, SSL berfungsi.

Informasi SSL dari www.contoh.com.

Mengarahkan Permintaan HTTP ke HTTPS:

Jika seseorang mengunjungi situs web Anda melalui protokol HTTP (http://www.contoh.com atau http://192.168.20.175) alih-alih HTTPS (https://www.contoh.com), Anda tidak ingin menolak permintaan HTTP. Jika Anda melakukan itu, Anda akan kehilangan pengunjung. Yang benar-benar harus Anda lakukan adalah mengarahkan ulang pengguna ke situs berkemampuan SSL. Ini sangat sederhana untuk dilakukan.

Pertama, buka file konfigurasi Nginx /etc/nginx/nginx.konf dan buat yang baru server bagian di dalam http bagian sebagai berikut:

http

server
mendengarkan 80;
nama_server www.contoh.com;
kembali 301 https://www.contoh.com$request_uri;


Ini finalnya /etc/nginx/nginx.konf mengajukan:

pengguna nginx nginx;
pekerja_proses otomatis;
error_log /var/log/nginx/error.catatan;
pid /run/nginx.pid;
acara
pekerja_koneksi 1024;

http
sertakan            /etc/nginx/mime.jenis;
default_type        application/octet-stream;
log_format simple   '[$time_iso8601] $request_method $request_uri '
'[$status] ($request_time) -> $bytes_sent byte';
 
server
mendengarkan 80;
nama_server www.contoh.com;
kembali 301 https://www.contoh.com$request_uri;

server
dengarkan          443;
nama_server     www.contoh.com;
ssl aktif;
ssl_certificate /etc/ssl/server.crt;
ssl_certificate_key /etc/ssl/server.kunci;
access_log      /var/log/nginx/access.log sederhana;
lokasi /
root            /usr/share/nginx/html;
indeks           indeks.html;

lokasi /gambar
gzip aktif;
gzip_comp_level 9;
gzip_min_length 100000;
gzip_types gambar/jpeg;

error_page 404/404.html;
lokasi /404.html
root            /usr/share/nginx/html/errors;

lokasi ~ \.git
menyangkal semua;


Sekarang, mulai ulang nginx layanan sebagai berikut:

$ sudo systemctl restart nginx

Sekarang, jika Anda mencoba mengakses http://192.168.20.175 atau http://www.contoh.com, Anda akan diarahkan ke https://www.contoh.com.

Jadi, begitulah cara Anda menginstal dan mengkonfigurasi server web Nginx di CentOS 8. Terima kasih telah membaca artikel ini.

Cara Menginstal League Of Legends di Ubuntu 14.04
Jika Anda adalah penggemar League of Legends, maka ini adalah kesempatan bagi Anda untuk menguji coba League of Legends. Perhatikan bahwa LOL didukung...
Instal Game Strategi OpenRA terbaru di Ubuntu Linux
OpenRA adalah mesin game Strategi Waktu Nyata Libre/Gratis yang membuat ulang game Westwood awal seperti Command & Conquer klasik: Red Alert. Mod yang...
Instal Dolphin Emulator terbaru untuk Gamecube & Wii di Linux
Dolphin Emulator memungkinkan Anda memainkan game Gamecube & Wii pilihan Anda di Komputer Pribadi (PC) Linux. Menjadi emulator game sumber terbuka da...