Cara Menyiapkan Hos Maya Berasaskan Nama dan IP (Blok Pelayan) dengan Nginx

Cara Menyiapkan Hos Maya Berasaskan Nama dan IP (Blok Pelayan) dengan Nginx

Dalam tempoh yang agak singkat sejak ia dibangunkan dan disediakan (sedikit lebih dari 10 tahun), Nginx telah mengalami pertumbuhan yang berterusan dan mantap di kalangan pelayan web kerana prestasi tinggi dan penggunaan memori yang rendah.

Nginx berasaskan nama dan berasaskan IP hosting

Sejak Nginx adalah perisian sumber percuma dan terbuka, ia telah diterima pakai oleh beribu -ribu pentadbir pelayan web di seluruh dunia, bukan sahaja di Linux dan *pelayan Nix, tetapi juga di Microsoft Windows Windows.

Jangan ketinggalan: Apache berasaskan nama dan hosting maya berasaskan IP

Bagi kita yang paling biasa Apache, Nginx Mungkin mempunyai lengkung pembelajaran yang agak curam (sekurang -kurangnya itu kes saya) tetapi ia pasti dibayar apabila anda menubuhkan beberapa laman web dan mula melihat statistik penggunaan lalu lintas dan sumber.

Dalam artikel ini kita akan menerangkan cara menggunakan nginx untuk disediakan berasaskan nama dan berasaskan IP hosting maya di Centos/RHEL 7 pelayan dan Debian 8 dan derivatif, bermula dengan Ubuntu 15.04 dan putarannya.

Senario ujian kami untuk artikel ini adalah seperti berikut:

  1. Sistem operasi: Debian 8 Jessie Server [IP 192.168.0.25]
  2. Gateway: Penghala [ip 192.168.0.1]
  3. Pelayan web: Nginx 1.6.2-5
  4. Domain dummy: www.tecmintlovesnginx.com dan www.nginxmeanspower.com.

Memasang pelayan web nginx

Sekiranya anda belum melakukannya, sila pasangkan nginx sebelum meneruskan lebih jauh. Sekiranya anda memerlukan bantuan untuk memulakan, carian cepat untuk nginx di laman web ini akan mengembalikan beberapa artikel mengenai topik ini. Klik pada ikon kaca pembesar di bahagian atas halaman ini dan cari kata kunci nginx. Sekiranya anda tidak tahu bagaimana mencari artikel di laman web ini, jangan risau di sini kami telah menambah pautan ke artikel nginx, cuma lalui dan pasangkannya mengikut pengagihan Linux masing -masing.

  1. Memasang dan menyusun nginx dari sumber dalam rhel/centos 7
  2. Pasang pelayan web nginx di debian 8
  3. Pasang Nginx dengan MariaDB dan PHP/PHP-FPM di Fedora 23
  4. Pasang pelayan web nginx di Ubuntu 15.10 pelayan/desktop
  5. Kata laluan melindungi direktori laman web nginx

Kemudian bersiap sedia untuk meneruskan tutorial yang lain.

Membuat tuan rumah maya berasaskan nama di nginx

Seperti yang saya pasti anda sudah tahu, hos maya adalah laman web yang disampaikan oleh nginx dalam vps awan tunggal atau pelayan fizikal. Walau bagaimanapun, dalam dokumen nginx anda akan menemui istilah tersebut "Blok Pelayan" Sebaliknya, tetapi pada dasarnya mereka adalah perkara yang sama yang dipanggil oleh nama yang berbeza.

Langkah pertama untuk menubuhkan tuan rumah maya adalah untuk membuat satu atau lebih blok pelayan (dalam kes kami kami akan membuat dua, satu untuk setiap domain dummy) dalam fail konfigurasi utama (/etc/nginx/nginx.Conf) atau di dalam /etc/nginx/tapak yang tersedia.

Walaupun nama fail konfigurasi dalam direktori ini (Tapak tersedia) boleh ditetapkan kepada apa sahaja yang anda mahukan, adalah idea yang baik untuk menggunakan nama domain, dan di samping itu kami memilih untuk menambah .Conf pelanjutan untuk menunjukkan bahawa ini adalah fail konfigurasi.

Blok pelayan ini boleh agak rumit, tetapi dalam bentuk asas mereka terdiri daripada kandungan berikut:

Dalam /etc/nginx/laman web yang tersedia/tecmintlovesnginx.com.Conf:

pelayan mendengar 80; server_name tecmintlovesnginx.com www.tecmintlovesnginx.com; Access_log/var/www/log/tecmintlovesnginx.akses.log; error_log/var/www/log/tecmintlovesnginx.ralat.ralat log; root/var/www/tecmintlovesnginx.com/public_html; Indeks indeks.Indeks HTML.htm;  

Dalam /etc/nginx/sites-tersedia/nginxmeanspower.com.Conf:

pelayan mendengar 80; server_name nginxmeanspower.com www.nginxmeanspower.com; Access_log/var/www/log/nginxmeanspower.akses.log; error_log/var/www/log/nginxmeanspower.ralat.ralat log; root/var/www/nginxmeanspower.com/public_html; Indeks indeks.Indeks HTML.htm;  

Anda boleh menggunakan blok di atas untuk mula menyediakan tuan rumah maya anda, atau anda boleh membuat fail dengan rangka asas dari /etc/nginx/laman web yang tersedia/lalai (Debian) atau /etc/nginx/nginx.Conf.lalai (Centos).

Setelah disalin, tukar keizinan dan pemilikan mereka:

# CHMOD 660/etc/nginx/laman web-tersedia/tecmintlovesnginx.com.conf # chmod 660/etc/nginx/sites-tersedia/nginxmeanspower.com.Conf 

Debian dan Derivatif

# chgrp www-data/etc/nginx/sites-available/tecmintlovesnginx.com.conf # chgrp www-data/etc/nginx/sites-available/nginxmeanspower.com.Conf 

Centos dan Rhel

# chgrp nginx/etc/nginx/sites-tersedia/tecmintlovesnginx.com.conf # chgrp nginx/etc/nginx/sites-tersedia/nginxmeanspower.com.Conf 

Apabila anda selesai, anda harus memadam fail sampel atau menamakan semula kepada sesuatu yang lain untuk mengelakkan kekeliruan atau konflik.

Sila ambil perhatian bahawa anda juga perlu membuat direktori untuk log (/var/www/log) dan memberi pengguna Nginx (nginx atau www-data, Bergantung pada sama ada anda menjalankan CentOS atau Debian) membaca dan menulis keizinan di atasnya:

# mkdir/var/www/logs # chmod -r 660/var/www/logs # chgrp/var/www/logs 

Tuan rumah maya kini mesti didayakan dengan membuat symlink ke fail ini di direktori yang dibolehkan tapak:

# ln -s/etc/nginx/sites -available/tecmintlovesnginx.com.conf/etc/nginx/enabled/tecmintlovesnginx.com.conf # ln -s/etc/nginx/sites -tersedia/nginxmeanspower.com.conf/etc/nginx/sites-enabled/nginxmeanspower.com.Conf 

Seterusnya, buat contoh fail HTML yang dinamakan indeks.html dalam /var/www // public_html Bagi setiap tuan rumah maya (ganti seperti yang diperlukan). Ubah suai kod berikut yang diperlukan:

    Tecmint suka nginx   

Tecmint suka nginx!

Akhirnya, uji konfigurasi nginx dan mulakan pelayan web. Sekiranya terdapat sebarang kesilapan dalam konfigurasi, anda akan diminta untuk membetulkannya:

# nginx -t && Systemctl Mula nginx 
Semak konfigurasi Nginx

dan tambahkan entri berikut untuk anda /etc/hos Fail di mesin tempatan anda sebagai strategi resolusi nama asas:

192.168.0.25 tecmintlovesnginx.com 192.168.0.25 nginxmeanspower.com 

Kemudian lancarkan pelayar web dan pergi ke URL yang disenaraikan di atas:

Semak Ninx Nama Berdasarkan Hos Maya

Untuk menambah lebih banyak tuan rumah maya di nginx, ulangi langkah -langkah yang digariskan di atas seberapa banyak yang diperlukan.

Tuan rumah maya berasaskan IP di nginx

Yang bertentangan dengan berasaskan nama Tuan rumah maya di mana semua tuan rumah boleh diakses melalui alamat IP yang sama, Berasaskan IP Tuan rumah maya memerlukan yang berbeza IP: port gabungan masing -masing.

Ini membolehkan pelayan web mengembalikan laman web yang berbeza bergantung pada alamat IP dan port di mana permintaan diterima dihidupkan. Oleh kerana tuan rumah maya berasaskan dinamakan memberi kami kelebihan berkongsi alamat IP dan port, mereka adalah standard untuk pelayan web tujuan umum dan harus menjadi persediaan pilihan melainkan jika versi Nginx yang dipasang Petunjuk nama pelayan (Sni), sama ada kerana ia adalah versi yang benar -benar ketinggalan zaman, atau kerana ia disusun tanpa -dengan-http_ssl_module pilihan menyusun.

Jika,

# nginx -v 

tidak mengembalikan pilihan yang diserlahkan di bawah:

Semak versi dan modul Nginx

Anda perlu mengemas kini versi nginx atau mengkompilasi semula, bergantung pada kaedah pemasangan asal anda. Untuk menyusun nginx, ikuti artikel di bawah:

  1. Memasang dan menyusun nginx dari sumber dalam rhel/centos 7

Dengan mengandaikan kita baik untuk pergi, kita perlu ambil perhatian bahawa prasyarat lain untuk Berasaskan IP Tuan rumah maya adalah ketersediaan IPS berasingan - sama ada dengan memberikannya kepada antara muka rangkaian yang berbeza, atau melalui penggunaan IP maya (juga dikenali sebagai IP aliasing).

Untuk melakukan alias IP di Debian (dengan andaian anda menggunakan ETH0), edit /etc/rangkaian/antara muka seperti berikut:

Debian dan Derivatif

Auto Eth0: 1 iface Eth0: 1 Inet Alamat Statik 192.168.0.25 Netmask 255.255.255.0 rangkaian 192.168.0.0 Siaran 192.168.0.255 Gateway 192.168.0.1 Auto Eth0: 2 iface Eth0: 2 Inet Alamat Statik 192.168.0.26 Netmask 255.255.255.0 rangkaian 192.168.0.0 Siaran 192.168.0.255 Gateway 192.168.0.1 

Dalam contoh di atas, kami membuat dua NIC maya dari ETH0: ETH0: 1 (192.168.0.25) dan ETH0: 2 (192.168.0.26).

Centos dan Rhel

Di centos, menamakan semula /etc/sysconfig/skrip rangkaian/ifcfg-enp0s3 sebagai IFCFG-ENP0S3: 1 dan buat salinan sebagai IFCFG-ENP0S3: 2, Dan kemudian tukar baris berikut, masing -masing:

Peranti = "enp0s3: 1" ipaddr = 192.168.0.25 

dan

Peranti = "enp0s3: 2" ipaddr = 192.168.0.26 

Setelah selesai, mulakan semula perkhidmatan rangkaian:

# Systemctl mulakan semula rangkaian 

Seterusnya, buat perubahan berikut pada blok pelayan yang ditakrifkan sebelum ini dalam artikel ini:

Dalam /etc/nginx/laman web yang tersedia/tecmintlovesnginx.com.Conf:

Dengarkan 192.168.0.25:80 

Dalam /etc/nginx/sites-tersedia/nginxmeanspower.com.Conf:

Dengarkan 192.168.0.26:80 

Akhirnya, mulakan semula nginx untuk perubahan yang berlaku.

# Systemctl mulakan semula nginx 

Dan jangan lupa untuk mengemas kini tempatan anda /etc/hos Sehubungan itu:

192.168.0.25 tecmintlovesnginx.com 192.168.0.26 nginxmeanspower.com 

Oleh itu, setiap permintaan dibuat untuk 192.168.0.25 dan 192.168.0.26 di pelabuhan 80 akan kembali tecmintlovesnginx.com dan nginxmeanspower.com, masing -masing:

Semak Hos Maya Berdasarkan Nginx IP

Seperti yang anda lihat dalam imej di atas, anda kini mempunyai dua hos maya berasaskan IP menggunakan satu-satunya NIC di pelayan anda dengan dua alias IP yang berbeza.

Ringkasan

Dalam tutorial ini, kami telah menerangkan bagaimana untuk menubuhkan kedua -duanya berasaskan nama dan Berasaskan IP Tuan rumah maya di nginx. Walaupun anda mungkin mahu menggunakan pilihan pertama, penting untuk mengetahui bahawa pilihan lain masih ada jika anda memerlukannya - pastikan anda mengambil keputusan ini setelah mempertimbangkan fakta yang digariskan dalam panduan ini.

Di samping itu, anda mungkin ingin menanda dokumen nginx kerana ia layak dan merujuknya dengan kerap semasa membuat blok pelayan (di sana anda memilikinya - kami bercakap dalam bahasa nginx sekarang) dan mengkonfigurasi mereka. Anda tidak akan mempercayai semua pilihan yang tersedia untuk mengkonfigurasi dan menyesuaikan pelayan web yang luar biasa ini.

Seperti biasa, jangan ragu untuk menggugurkan kami menggunakan borang di bawah jika anda mempunyai sebarang pertanyaan atau komen mengenai artikel ini. Kami berharap dapat mendengar daripada anda, dan maklum balas anda mengenai panduan ini sangat dialu -alukan.