Cara Mengatur Nama Berbasis Nama dan Host Virtual Berbasis IP (Blok Server) dengan Nginx
- 4839
- 149
- Daryl Hermiston DVM
Dalam waktu yang relatif singkat sejak dikembangkan dan disediakan (sedikit lebih dari 10 tahun), Nginx telah mengalami pertumbuhan yang berkelanjutan dan stabil di antara server web karena kinerja tinggi dan penggunaan memori yang rendah.
Nginx berbasis nama dan hosting virtual berbasis IPSejak Nginx adalah perangkat lunak gratis dan open source, telah diadopsi oleh ribuan administrator server web di seluruh dunia, tidak hanya di server Linux dan *nix, tetapi juga di Microsoft Windows.
Jangan lewatkan: Apache berbasis nama dan hosting virtual berbasis IP
Bagi kita yang paling terbiasa Apache, Nginx mungkin memiliki kurva belajar yang agak curam (setidaknya itu kasus saya) tetapi tentu saja terbayar begitu Anda mengatur beberapa situs dan mulai melihat lalu lintas dan statistik penggunaan sumber daya.
Di artikel ini kami akan menjelaskan cara menggunakan Nginx untuk mengatur berbasis nama Dan berbasis IP hosting virtual di Centos/RHEL 7 server dan Debian 8 dan turunannya, dimulai dengan Ubuntu 15.04 dan spin-off.
Skenario pengujian kami untuk artikel ini adalah sebagai berikut:
- Sistem operasi: Debian 8 Jessie Server [IP 192.168.0.25]
- Gerbang: Router [ip 192.168.0.1]
- Server web: Nginx 1.6.2-5
- Domain dummy: www.Tecmintlovesnginx.com dan www.NginxmeanSpower.com.
Menginstal server web nginx
Jika Anda belum melakukannya, silakan instal Nginx sebelum melanjutkan lebih lanjut. Jika Anda membutuhkan bantuan untuk memulai, pencarian cepat untuk Nginx di situs ini akan mengembalikan beberapa artikel tentang topik ini. Klik ikon kaca pembesar di bagian atas halaman ini dan cari kata kunci Nginx. Jika Anda tidak tahu cara mencari artikel di situs ini, jangan khawatir di sini kami telah menambahkan tautan ke artikel nginx, cukup lakukan dan instal sesuai dengan distribusi Linux Anda masing -masing.
- Instal dan kompilasi nginx dari sumber di rhel/centos 7
- Instal Nginx Web Server di Debian 8
- Instal Nginx dengan MariaDB dan PHP/PHP-FPM di Fedora 23
- Instal Nginx Web Server di Ubuntu 15.10 server/desktop
- Direktori Situs Web Lindung Kata Sandi Nginx
Kemudian bersiaplah untuk melanjutkan dengan sisa tutorial ini.
Membuat host virtual berbasis nama di nginx
Seperti yang saya yakin sudah Anda ketahui, virtual host adalah situs web yang dilayani oleh nginx dalam satu vps cloud atau server fisik. Namun, di nginx docs Anda akan menemukan istilah tersebut "Blok server"
Sebaliknya, tetapi pada dasarnya mereka adalah hal yang sama disebut dengan nama yang berbeda.
Langkah pertama untuk mengatur host virtual adalah membuat satu atau lebih blok server (dalam kasus kami kami akan membuat dua, satu untuk setiap domain dummy) di file konfigurasi utama (/etc/nginx/nginx.conf) atau di dalam /etc/nginx/situs yang tersedia.
Meskipun nama file konfigurasi di direktori ini (Situs-tersedia) dapat diatur ke apa pun yang Anda inginkan, itu ide yang baik untuk menggunakan nama domain, dan di samping itu kami memilih untuk menambahkan .conf
ekstensi untuk menunjukkan bahwa ini adalah file konfigurasi.
Blok server ini bisa relatif kompleks, tetapi dalam bentuk dasar mereka terdiri dari konten berikut:
Di dalam /etc/nginx/situs-tersedia/tecmintlovesnginx.com.conf:
server dengarkan 80; server_name tecmintlovesnginx.com www.Tecmintlovesnginx.com; Access_log/var/www/logs/tecmintlovesnginx.mengakses.catatan; ERROR_LOG/VAR/WWW/LOGS/TECMINTLOVESNGINX.kesalahan.kesalahan log; root/var/www/tecmintlovesnginx.com/public_html; Indeks Indeks.Indeks HTML.htm;
Di dalam /etc/nginx/situs-tersedia/nginxmeanspower.com.conf:
server dengarkan 80; server_name nginxmeanspower.com www.NginxmeanSpower.com; access_log/var/www/logs/nginxmeanspower.mengakses.catatan; ERROR_LOG/VAR/WWW/LOGS/NGINXMEANSPOWER.kesalahan.kesalahan log; root/var/www/nginxmeanspower.com/public_html; Indeks Indeks.Indeks HTML.htm;
Anda dapat menggunakan blok di atas untuk mulai mengatur host virtual Anda, atau Anda dapat membuat file dengan kerangka dasar dari /etc/nginx/situs-tersedia/default (Debian) atau /etc/nginx/nginx.conf.bawaan (Centos).
Setelah disalin, ubah izin dan kepemilikan mereka:
# chmod 660/etc/nginx/situs-tersedia/tecmintlovesnginx.com.conf # chmod 660/etc/nginx/situs-tersedia/nginxmeanspower.com.conf
Debian dan Derivatif
# chgrp www-data/etc/nginx/situs-tersedia/tecmintlovesnginx.com.conf # chgrp www-data/etc/nginx/situs-tersedia/nginxmeanspower.com.conf
Centos dan rhel
# chgrp nginx/etc/nginx/situs-tersedia/tecmintlovesnginx.com.conf # chgrp nginx/etc/nginx/situs-tersedia/nginxmeanspower.com.conf
Setelah selesai, Anda harus menghapus file sampel atau mengganti nama menjadi sesuatu yang lain untuk menghindari kebingungan atau konflik.
Harap dicatat bahwa Anda juga perlu membuat direktori untuk log (/var/www/log
) dan berikan pengguna nginx (Nginx atau www-data, Bergantung pada apakah Anda menjalankan Centos atau Debian) membaca dan menulis izin di atasnya:
# mkdir/var/www/logs # chmod -r 660/var/www/logs # chgrp/var/www/logs
Host virtual sekarang harus diaktifkan dengan membuat symlink ke file ini di direktori yang diaktifkan situs:
# ln -s/etc/nginx/situs -tersedia/tecmintlovesnginx.com.conf/etc/nginx/Situs-Enabled/tecmintlovesnginx.com.conf # ln -s/etc/nginx/situs -tersedia/nginxmeanspower.com.conf/etc/nginx/Situs-Enabled/NginxmeanSpower.com.conf
Selanjutnya, buat file html sampel bernama indeks.html
di dalam /var/www // public_html
Untuk masing -masing host virtual (ganti sesuai kebutuhan). Ubah kode berikut seperlunya:
Tecmint mencintai NginxTecmint mencintai Nginx!
Akhirnya, uji konfigurasi nginx dan mulai server web. Jika ada kesalahan dalam konfigurasi, Anda akan diminta untuk memperbaikinya:
# nginx -t && Systemctl mulai nginxPeriksa konfigurasi nginx
dan tambahkan entri berikut ke Anda /etc/host
file di mesin lokal Anda sebagai strategi resolusi nama dasar:
192.168.0.25 Tecmintlovesnginx.com 192.168.0.25 NginxmeanSpower.com
Kemudian luncurkan browser web dan buka URL yang tercantum di atas:
Periksa host virtual berbasis nama nginxUntuk menambahkan lebih banyak host virtual di nginx, cukup ulangi langkah -langkah yang diuraikan di atas sebanyak yang diperlukan.
Host virtual berbasis IP di nginx
Sebagai lawan berbasis nama host virtual di mana semua host dapat diakses melalui alamat IP yang sama, Berbasis IP host virtual membutuhkan yang berbeda IP: Port
kombinasi masing -masing.
Ini memungkinkan server web untuk mengembalikan situs yang berbeda tergantung pada alamat IP dan port tempat permintaan diterima. Karena host virtual berbasis bernama memberi kami keuntungan berbagi alamat IP dan port, mereka adalah standar untuk server web tujuan umum dan harus menjadi pengaturan pilihan kecuali versi Nginx Anda yang diinstal tidak mendukung Indikasi Nama Server (Sni), baik karena itu adalah versi yang benar -benar sudah ketinggalan zaman, atau karena disusun tanpa -dengan-http_ssl_module Kompilasi opsi.
Jika,
# nginx -v
tidak mengembalikan opsi yang disorot di bawah ini:
Periksa versi dan modul NginxAnda perlu memperbarui versi Nginx Anda atau mengkompilasi ulang, tergantung pada metode instalasi asli Anda. Untuk mengkompilasi Nginx, ikuti artikel di bawah ini:
- Instal dan kompilasi nginx dari sumber di rhel/centos 7
Dengan asumsi kita baik untuk pergi, kita perlu mencatat bahwa prasyarat lain Berbasis IP Host virtual adalah ketersediaan IP terpisah - baik dengan menugaskannya ke antarmuka jaringan yang berbeda, atau melalui penggunaan IP virtual (juga dikenal sebagai aliasing IP).
Untuk melakukan ip aliasing Debian (Dengan asumsi Anda menggunakan eth0), edit /etc/jaringan/antarmuka
sebagai berikut:
Debian dan Derivatif
AUTO ETH0: 1 IFACE ETH0: 1 Alamat statis inet 192.168.0.25 Netmask 255.255.255.0 Jaringan 192.168.0.0 siaran 192.168.0.255 Gateway 192.168.0.1 AUTO ETH0: 2 IFACE ETH0: 2 ALAMAT STATIC INET 192.168.0.26 Netmask 255.255.255.0 Jaringan 192.168.0.0 siaran 192.168.0.255 Gateway 192.168.0.1
Dalam contoh di atas kami membuat dua NIC virtual eth0: eth0: 1
(192.168.0.25) dan eth0: 2
(192.168.0.26).
Centos dan rhel
Di Centos, ganti nama /etc/sysconfig/network-scripts/ifcfg-enp0s3 sebagai IFCFG-ENP0S3: 1
dan buat salinan sebagai IFCFG-ENP0S3: 2
, Dan kemudian ubah saja baris berikut, masing -masing:
Perangkat = "ENP0S3: 1" IPADDR = 192.168.0.25
Dan
Perangkat = "ENP0S3: 2" IPADDR = 192.168.0.26
Setelah selesai, restart layanan jaringan:
# Systemctl Restart Networking
Selanjutnya, buat perubahan berikut ke blok server yang sebelumnya ditentukan dalam artikel ini:
Di dalam /etc/nginx/situs-tersedia/tecmintlovesnginx.com.conf:
Dengarkan 192.168.0.25:80
Di dalam /etc/nginx/situs-tersedia/nginxmeanspower.com.conf:
Dengarkan 192.168.0.26:80
Akhirnya, restart nginx agar perubahan berlaku.
# Systemctl restart nginx
Dan jangan lupa untuk memperbarui lokal Anda /etc/host
demikian:
192.168.0.25 Tecmintlovesnginx.com 192.168.0.26 NginxmeanSpower.com
Dengan demikian, setiap permintaan yang dibuat 192.168.0.25 Dan 192.168.0.26 di port 80 akan kembali Tecmintlovesnginx.com Dan NginxmeanSpower.com, masing -masing:
Periksa host virtual berbasis IP nginxSeperti yang dapat Anda lihat pada gambar di atas, Anda sekarang memiliki dua host virtual berbasis IP menggunakan satu-satunya NIC di server Anda dengan dua alias IP yang berbeda.
Ringkasan
Dalam tutorial ini kami telah menjelaskan cara mengatur keduanya berbasis nama Dan Berbasis IP host virtual di nginx. Meskipun Anda mungkin ingin menggunakan opsi pertama, penting untuk mengetahui bahwa opsi lain masih ada jika Anda membutuhkannya - pastikan Anda mengambil keputusan ini setelah mempertimbangkan fakta yang diuraikan dalam panduan ini.
Selain itu, Anda mungkin ingin menandai dokumen nginx karena layak dan baik untuk sering merujuknya saat membuat blok server (begitulah - kami berbicara dalam bahasa nginx sekarang) dan mengkonfigurasinya. Anda tidak akan percaya semua opsi yang tersedia untuk mengonfigurasi dan menyetel server web yang luar biasa ini.
Seperti biasa, jangan ragu untuk memberi kami garis menggunakan formulir di bawah ini jika Anda memiliki pertanyaan atau komentar tentang artikel ini. Kami berharap dapat mendengar dari Anda, dan umpan balik Anda tentang panduan ini sangat disambut.
- « PSCP - Transfer/Salin File ke Beberapa Server Linux Menggunakan Single Shell
- Cara menghapus akun pengguna dengan direktori home di linux »