Nginx

Cara Memasang Nginx dan Mengkonfigurasi pada CentOS 8

Cara Memasang Nginx dan Mengkonfigurasi pada CentOS 8
Nginx adalah pelayan web yang pantas dan ringan. Fail konfigurasi Nginx sangat mudah dan senang digunakan. Ini adalah alternatif yang bagus untuk pelayan web Apache.  Dalam artikel ini, saya akan menunjukkan kepada anda cara memasang dan mengkonfigurasi pelayan web Nginx di CentOS 8. Oleh itu, mari kita mulakan.

Memasang Nginx:

Nginx boleh didapati di repositori pakej rasmi CentOS 8. Oleh itu, sangat mudah dipasang.

Pertama, kemas kini cache repositori pakej DNF seperti berikut:

$ sudo dnf makecache

Sekarang, pasang Nginx dengan arahan berikut:

$ sudo dnf pasang nginx

Untuk mengesahkan pemasangan, tekan Y dan kemudian tekan .

Nginx harus dipasang.

Menguruskan Perkhidmatan nginx:

Secara lalai, nginx perkhidmatan semestinya tidak aktif (tidak berjalan) dan kurang upaya (tidak akan dimulakan secara automatik semasa boot).

$ sudo systemctl status nginx

Anda boleh memulakan nginx perkhidmatan seperti berikut:

$ sudo systemctl mulakan nginx

nginx perkhidmatan semestinya berlari.

$ sudo systemctl status nginx

Sekarang, tambah nginx perkhidmatan untuk permulaan sistem seperti berikut:

$ sudo systemctl mengaktifkan nginx

Mengkonfigurasi Firewall:

Anda mesti mengkonfigurasi firewall untuk membenarkan akses ke port HTTP 80 dan port HTTPS 443 untuk mengakses pelayan web Nginx dari komputer lain di rangkaian.

Anda boleh membenarkan akses ke port HTTP dan HTTPS dengan arahan berikut:

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

Sekarang, agar perubahan berlaku, jalankan arahan berikut:

$ sudo firewall-cmd --muat semula

Menguji Pelayan Web:

Anda mesti mengetahui alamat IP atau nama domain pelayan web Nginx untuk mengaksesnya.

Anda boleh mendapatkan alamat IP pelayan web Nginx anda dengan arahan berikut:

$ ip a

Dalam kes saya, alamat IP adalah 192.168.20.175. Ia akan berbeza bagi anda. Oleh itu, pastikan untuk menggantinya dengan milik anda mulai sekarang.

Sekarang, lawati http: // 192.168.20.175 dari penyemak imbas web anda. Anda mesti melihat halaman berikut. Ini bermaksud pelayan web Nginx berfungsi.

Fail konfigurasi nginx:

Fail konfigurasi pelayan web Nginx ada di / dll / nginx / direktori.

$ pokok / etc / nginx

/ etc / nginx / nginx.pengesahan adalah fail konfigurasi Nginx utama.

Direktori root web lalai pelayan web Nginx adalah / usr / kongsi / nginx / html /. Jadi, di sinilah anda harus menyimpan fail laman web anda.

Menyiapkan Pelayan Web Asas:

Di bahagian ini, saya akan menunjukkan kepada anda cara menyediakan pelayan web Nginx asas.

Pertama, ambil sandaran fail konfigurasi Nginx yang asli dengan arahan berikut:

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

Sekarang, buat fail konfigurasi Nginx baru seperti berikut:

$ sudo nano / etc / nginx / nginx.pengesahan

Sekarang, ketik baris berikut di / etc / nginx / nginx.pengesahan fail dan simpan fail tersebut.

pengguna nginx nginx;
pekerja_proses automatik;
ralat_log / var / log / nginx / ralat.log;
pid / larian / nginx.pid;
 
acara
pekerja_sambungan 1024;

 
http
sertakan / etc / nginx / mime.jenis;
aplikasi default_type / octet-stream;
 
pelayan
dengar 80;
contoh nama pelayan.com www.contoh.com;
root / usr / share / nginx / html;
indeks indeks.html;
akses_log / var / log / nginx / akses.log;

Di sini, pengguna pilihan digunakan untuk menetapkan pengguna dan kumpulan Nginx run ke nginx masing-masing.

The ralat_log pilihan digunakan untuk menetapkan laluan fail log kesilapan ke / var / log / nginx / ralat.balak. Di sinilah ralat yang berkaitan dengan pelayan Nginx akan disimpan.

Konfigurasi pelayan Nginx utama ditentukan dalam pelayan bahagian di dalam http bahagian. Anda boleh menentukan lebih daripada satu pelayan bahagian di dalam http bahagian sekiranya diperlukan.

Di dalam pelayan bahagian,

dengar pilihan digunakan untuk mengkonfigurasi Nginx untuk mendengarkan port 80 (port HTTP) untuk permintaan web.

nama pelayan pilihan digunakan untuk menetapkan satu atau lebih nama domain untuk pelayan web Nginx. Sekiranya tetapan DNS anda betul, anda boleh mengakses pelayan web Nginx menggunakan nama domain ini.

capaian_log digunakan untuk menetapkan laluan fail log akses ke / var / log / nginx / akses.balak. Apabila seseorang cuba mengakses pelayan web Nginx, maklumat akses (i.e. Alamat IP, URL, kod status HTTP) akan dimasukkan ke fail ini.

The lokasi pilihan digunakan untuk menetapkan direktori root pelayan web Nginx.

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

Di sinilah semua fail laman web harus disimpan. The indeks set pilihan indeks.html sebagai fail lalai untuk disajikan jika tidak ada fail khusus yang diminta. Contohnya, jika anda melayari http: // 192.168.20.175 / myfile.html, maka anda Nginx akan kembali myfile.html fail. Tetapi, jika anda melayari http: // 192.168.20.175 /, maka Nginx akan menghantar indeks kepada anda.fail html kerana tidak ada fail khusus yang diminta.

Sekarang, keluarkan semua fail dari / usr / kongsi / nginx / html / direktori (root web) seperti berikut:

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

Sekarang, buat yang baru indeks.html fail di / usr / kongsi / nginx / html / direktori seperti berikut:

Sekarang, taip baris berikut di indeks.html fail dan simpan fail tersebut.

Hai dunia


© 2020 LinuxHint.com

Sekarang, mulakan semula nginx perkhidmatan seperti berikut:

$ sudo systemctl mulakan semula nginx

Sekarang, lawati http: // 192.168.20.175 dari penyemak imbas web anda dan anda akan melihat halaman berikut. Tahniah! Anda telah menyediakan pelayan web Nginx pertama anda.

Mengkonfigurasi Halaman Ralat:

Anda boleh mengkonfigurasi halaman ralat di Nginx. Sebagai contoh, jika halaman / fail / direktori tidak tersedia, kod status HTTP 404 akan dikembalikan ke penyemak imbas. Anda boleh menetapkan halaman ralat HTML khusus untuk kod status HTTP 404 yang akan dikembalikan ke penyemak imbas.

Untuk melakukannya, tambahkan baris berikut di pelayan bahagian dari nginx.pengesahan fail.

pelayan

ralat_ halaman 404/404.html;

Sekarang, buat fail 404.html dalam root web Nginx / usr / kongsi / nginx / html / seperti berikut:

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

Sekarang, taip baris berikut di 404.html dan simpan failnya.

Ralat 404


Laman tidak dijumpai


© 2020 LinuxHint.com

Sekarang, mulakan semula nginx perkhidmatan seperti berikut:

$ sudo systemctl mulakan semula nginx

Sekarang, cuba akses jalan yang tidak wujud (http: // 192.168.20.175 / nopage.html) dan anda akan melihat halaman ralat berikut.

Sekiranya 404.html fail berada di jalan sistem fail yang berbeza (katakanlah / usr / share / nginx / html / ralat / direktori), anda boleh memetakan URL / 404.html seperti berikut:

pelayan

ralat_ halaman 404/404.html;
lokasi / 404.html
root / usr / share / nginx / html / ralat;


Sekarang, buat direktori baru  / usr / share / nginx / html / ralat / seperti berikut:

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

Sekarang, buat fail baru 404.html dalam direktori / usr / share / nginx / html / ralat / seperti berikut:

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

Sekarang, ketik baris berikut di 404.html fail dan simpan fail tersebut.

LAMAN TIDAK DIJUMPAI


BALIK RUMAH

Sekarang, mulakan semula nginx perkhidmatan seperti berikut:

$ sudo systemctl mulakan semula nginx

Sekarang, cuba akses jalan yang tidak ada (http: // 192.168.20.175 / nopage.html) dan anda akan melihat halaman ralat yang dikemas kini.

Dengan cara yang sama, anda boleh menetapkan halaman ralat untuk kod status HTTP yang lain.

Anda juga boleh menetapkan halaman ralat yang sama untuk beberapa kod status HTTP. Contohnya, untuk menetapkan halaman ralat yang sama / 404.html untuk kod status HTTP 403 dan 404, tuliskan halaman ralat pilihan seperti berikut:

ralat_halaman 403 404/404.html;

Mengkonfigurasi Log:

Di Nginx, the ralat_log dan capaian_log pilihan digunakan untuk mencatat mesej ralat dan mengakses maklumat.

Format ralat_log dan capaian_log pilihan adalah:

error_log / path / to / error / log / file [pilihan: custom-log-name];
access_log / path / to / access / log / file [pilihan: custom-log-name];

Anda boleh menentukan log ralat anda sendiri dan format log akses jika anda mahu.

Untuk melakukannya, gunakan format_ log pilihan di http bahagian untuk menentukan format log tersuai anda seperti berikut.

http

log_format sederhana '[$ time_iso8601] $ request_mode $ request_uri'
'[$ status] ($ request_time) -> $ bytes_sent bait';

pelayan

akses_log / var / log / nginx / akses.log mudah;


Di sini, nama format log adalah sederhana. Beberapa pemboleh ubah nginx digunakan untuk menentukan format log tersuai. Lawati Manual Pemboleh ubah Terbenam Nginx untuk mengetahui tentang semua pemboleh ubah Nginx.

Format log tersuai harus dilampirkan dalam petikan tunggal. Format log dapat ditentukan dalam satu baris atau dalam beberapa baris. Saya telah menunjukkan cara menentukan format log dalam beberapa baris dalam artikel ini. Anda tidak akan menghadapi masalah dengan format log baris tunggal, percayalah!

Setelah format log sederhana ditakrifkan, capaian_log pilihan digunakan untuk memberitahu Nginx menggunakannya sebagai log akses.

Dengan cara yang sama, anda dapat menetapkan format log ralat tersuai menggunakan ralat_log pilihan.

Saya hanya mengkonfigurasi format log tersuai untuk log masuk dalam artikel ini.

Sekarang, mulakan semula nginx perkhidmatan seperti berikut:

$ sudo systemctl mulakan semula nginx

Sekarang, anda boleh memantau fail log akses seperti berikut:

$ sudo tail -f / var / log / nginx / akses.balak

Anda juga dapat memantau fail log ralat seperti berikut:

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

Sekiranya anda mahu, anda dapat memantau log akses dan fail log ralat pada masa yang sama seperti berikut:

$ sudo tail -f / var / log / nginx / ralat, akses.balak

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

Menolak Akses ke Laluan Tertentu:

Anda boleh menggunakan ungkapan biasa untuk mencocokkan jalur URI tertentu dan menolak akses ke Nginx.

Katakanlah, laman web anda diuruskan oleh Git, dan anda mahu menolak akses ke .git / direktori pada root web anda.

Untuk melakukannya, taipkan baris berikut di pelayan bahagian dari / etc / nging / nginx.pengesahan fail:

pelayan

lokasi ~ \.git
menafikan semua;


Seperti yang anda lihat, akses ke mana-mana jalan yang mengandungi .git ditolak.

Mengkonfigurasi Mampatan:

Anda boleh memampatkan kandungan web sebelum menghantarnya ke penyemak imbas menggunakan gzip untuk menjimatkan penggunaan jalur lebar pelayan web Nginx.

Saya mempunyai beberapa gambar JPEG di / usr / kongsi / nginx / html / gambar / direktori.

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

Untuk mengaktifkan pemampatan gzip hanya untuk gambar JPEG di jalur URI / gambar, taip baris berikut di pelayan bahagian dari / etc / nginx / nginx.pengesahan fail.

pelayan

lokasi / gambar
gzip dihidupkan;
gzip_comp_level 9;
gzip_min_length 100000;
gzip_tipe gambar / jpeg;


Di sini, gzip_comp_level digunakan untuk menetapkan tahap pemampatan. Ia boleh berupa nombor 1 hingga 9. Semakin tinggi tahapnya, semakin kecil fail yang dimampatkan.

Fail hanya akan dimampatkan jika ukuran fail di atas gzip_min_length. Saya telah menetapkannya sekitar 100 KB dalam contoh ini. Jadi, fail JPEG yang lebih kecil daripada 100 KB tidak akan dimampatkan gzip.

The  jenis-jenis gzip digunakan untuk menetapkan jenis mime dari fail yang akan dimampatkan.

Anda boleh mendapatkan jenis mime dari sambungan fail seperti berikut:

$ grep jpg / etc / nginx / mime.jenis

Seperti yang anda lihat, untuk .jpg atau .jpeg sambungan fail, jenis mime adalah gambar / jpeg.

Anda boleh menetapkan satu atau lebih jenis mime menggunakan jenis-jenis gzip pilihan.

Sekiranya anda ingin menetapkan beberapa jenis mime, pastikan untuk memisahkannya dengan ruang seperti berikut:

"
gzip_types image / jpeg image / png image / gif;

Sekarang, mulakan semula nginx perkhidmatan seperti berikut:

$ sudo systemctl mulakan semula nginx

Seperti yang anda lihat, Nginx menghantar fail gambar termampat gzip ke penyemak imbas apabila diminta.

Seperti yang anda lihat dalam tangkapan skrin di bawah, fail termampat gzip lebih kecil daripada fail asal.

$ sudo tail -f / var / log / nginx / akses.balak

Mengaktifkan HTTPS:

Anda boleh mengaktifkan SSL di Nginx dengan sangat mudah. Di bahagian ini, saya akan menunjukkan kepada anda cara menetapkan sijil SSL yang ditandatangani sendiri di Nginx.

Pertama, arahkan ke / dll / ssl / direktori seperti berikut:

$ cd / etc / ssl

Sekarang, jana kunci SSL pelayan.kunci dan perakuan pelayan.crt dengan arahan berikut:

$ sudo openssl req -x509 -nodes -days 365 -newkey rsa: 2048 -keyout
pelayan.pelayan key -out.crt

NOTA: Awak mesti ada terbuka dipasang untuk berfungsi. Sekiranya arahan openssl tidak tersedia, pasang terbuka dengan arahan berikut:

$ sudo dnf install openssl -y

Sekarang, taipkan kod negara 2 huruf anda (i.e. AS untuk AS, UK untuk United Kingdom, RU untuk Rusia, CN untuk China) dan tekan .

Sekarang, taipkan nama Negeri / Wilayah anda dan tekan .

Sekarang, taipkan nama Bandar anda dan tekan .

Sekarang, taipkan nama Syarikat anda dan tekan .

Sekarang, taipkan nama unit organisasi syarikat anda yang akan menggunakan sijil ini dan tekan .

Sekarang, taipkan nama domain yang memenuhi syarat (FQDN) pelayan web Nginx anda dan tekan . Sijil SSL akan sah hanya jika pelayan web Nginx diakses menggunakan nama domain ini.

Sekarang, taipkan alamat e-mel anda dan tekan .

Sijil SSL anda mesti siap.

Sijil dan kunci SSL harus dihasilkan di / dll / ssl / direktori.

$ ls -lh

Sekarang, buka fail konfigurasi Nginx / etc / nginx / nginx.pengesahan dan berubah dengar pelabuhan ke 443 dan taipkan baris berikut di pelayan bahagian.

pelayan

ssl pada;
ssl_certificate / etc / ssl / pelayan.crt;
ssl_certificate_key / etc / ssl / pelayan.kunci;

Sekarang, mulakan semula nginx perkhidmatan seperti berikut:

$ sudo systemctl mulakan semula nginx

Dalam kehidupan sebenar, anda akan mempunyai persediaan DNS yang betul. Tetapi untuk tujuan pengujian, saya telah mengkonfigurasi nama domain berdasarkan fail tempatan di komputer yang saya gunakan untuk mengakses pelayan web Nginx dari.

Sekiranya anda ingin mengikuti, buka / dll / tuan rumah fail seperti berikut:

$ sudo nano / etc / host

Kemudian, tambahkan baris berikut ke / dll / tuan rumah fail.

192.168.20.175 www.contoh.com

Sekarang, cuba lawati https: // www.contoh.com dan anda mesti melihat halaman berikut. Awak akan lihat Sambungan anda tidak selamat mesej kerana ia adalah sijil yang ditandatangani sendiri. Ini baik untuk tujuan ujian sahaja.

Dalam kehidupan sebenar, anda akan membeli sijil SSL dari Pihak Berkuasa Sijil (CA) dan menggunakannya. Jadi, anda tidak akan melihat jenis mesej ini.

Seperti yang anda lihat, Nginx melayan laman web melalui HTTPS. Oleh itu, SSL berfungsi.

Maklumat SSL www.contoh.com.

Mengarahkan Permintaan HTTP ke HTTPS:

Sekiranya seseorang mengunjungi laman web anda melalui protokol HTTP (http: // www.contoh.com atau http: // 192.168.20.175) bukannya HTTPS (https: // www.contoh.com), anda tidak mahu menolak permintaan HTTP. Sekiranya anda melakukannya, anda akan kehilangan pelawat. Apa yang sebenarnya harus anda lakukan ialah mengarahkan pengguna ke laman web SSL. Ia sangat mudah dilakukan.

Pertama, buka fail konfigurasi Nginx / etc / nginx / nginx.pengesahan dan buat yang baru pelayan bahagian di dalam http bahagian seperti berikut:

http

pelayan
dengar 80;
pelayan_nama www.contoh.com;
pulangkan 301 https: // www.contoh.com $ request_uri;


Ini adalah yang terakhir / etc / nginx / nginx.pengesahan fail:

pengguna nginx nginx;
pekerja_proses automatik;
ralat_log / var / log / nginx / ralat.log;
pid / larian / nginx.pid;
acara
pekerja_sambungan 1024;

http
sertakan / etc / nginx / mime.jenis;
aplikasi default_type / octet-stream;
log_format sederhana '[$ time_iso8601] $ request_mode $ request_uri'
'[$ status] ($ request_time) -> $ bytes_sent bait';
 
pelayan
dengar 80;
pelayan_nama www.contoh.com;
pulangkan 301 https: // www.contoh.com $ request_uri;

pelayan
dengar 443;
pelayan_nama www.contoh.com;
ssl pada;
ssl_certificate / etc / ssl / pelayan.crt;
ssl_certificate_key / etc / ssl / pelayan.kunci;
akses_log / var / log / nginx / akses.log mudah;
lokasi /
root / usr / share / nginx / html;
indeks indeks.html;

lokasi / gambar
gzip dihidupkan;
gzip_comp_level 9;
gzip_min_length 100000;
gzip_tipe gambar / jpeg;

ralat_ halaman 404/404.html;
lokasi / 404.html
root / usr / share / nginx / html / ralat;

lokasi ~ \.git
menafikan semua;


Sekarang, mulakan semula nginx perkhidmatan seperti berikut:

$ sudo systemctl mulakan semula nginx

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

Jadi, itulah cara anda memasang dan mengkonfigurasi pelayan web Nginx di CentOS 8. Terima kasih kerana membaca artikel ini.

Enjin Permainan Sumber Percuma dan Terbuka untuk Membangunkan Permainan Linux
Artikel ini akan merangkumi senarai enjin permainan sumber percuma dan terbuka yang dapat digunakan untuk mengembangkan permainan 2D dan 3D di Linux. ...
Shadow of the Tomb Raider untuk Tutorial Linux
Shadow of the Tomb Raider adalah penambahan kedua belas untuk siri Tomb Raider - francais permainan aksi-pengembaraan yang dibuat oleh Eidos Montreal....
Cara Meningkatkan FPS di Linux?
FPS bermaksud Bingkai sesaat. Tugas FPS adalah mengukur kadar bingkai dalam pemutaran video atau persembahan permainan. Dengan kata mudah bilangan gam...