Untuk membuat tuan rumah maya di Nginx untuk menganjurkan beberapa laman web, anda perlu menyediakan blok pelayan. Blok pelayan adalah bersamaan dengan tuan rumah maya Apache, yang membolehkan anda menjadi tuan rumah beberapa laman web pada pelayan tunggal. Inilah cara melakukannya:
Buat fail blok pelayan : Untuk setiap laman web yang anda ingin menjadi tuan rumah, anda biasanya akan membuat fail blok pelayan baru dalam /etc/nginx/sites-available/
. Sebagai contoh, jika anda ingin menjadi tuan rumah example.com
, anda boleh membuat fail bernama example.com.conf
.
<code class="nginx">server { listen 80; listen [::]:80; server_name example.com www.example.com; root /var/www/example.com; index index.html index.htm index.nginx-debian.html; location / { try_files $uri $uri/ =404; } }</code>
Dayakan blok pelayan : Untuk membolehkan blok pelayan baru, buat pautan simbolik dari /etc/nginx/sites-available/example.com.conf
ke /etc/nginx/sites-enabled/
.
<code class="bash">sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/</code>
Ujian dan tambah nilai nginx : Sebelum menggunakan perubahan, uji konfigurasi anda untuk memastikan tiada kesilapan sintaks.
<code class="bash">sudo nginx -t</code>
Jika ujian berlalu, tambah semula Nginx untuk memohon konfigurasi baru.
<code class="bash">sudo systemctl reload nginx</code>
Proses untuk mengkonfigurasi NGINX untuk menjadi tuan rumah beberapa laman web pada pelayan tunggal melibatkan membuat blok pelayan untuk setiap laman web dan menguruskannya dengan cekap. Berikut adalah proses langkah demi langkah terperinci:
Pasang Nginx : Pastikan Nginx dipasang pada pelayan anda. Di Ubuntu, anda boleh memasangnya menggunakan:
<code class="bash">sudo apt-get update sudo apt-get install nginx</code>
/etc/nginx/sites-available/
. Gunakan templat yang disediakan dalam jawapan sebelumnya dan menyesuaikannya seperti yang diperlukan untuk setiap laman web./var/www/example.com
) dan pastikan fail diletakkan dalam direktori ini.sites-available
ke direktori sites-enabled
untuk setiap blok pelayan, seperti yang diterangkan dalam jawapan sebelumnya.Sediakan sijil SSL (pilihan) : Untuk HTTPS, sediakan sijil SSL dan kemas kini blok pelayan anda untuk memasukkan konfigurasi SSL.
<code class="nginx">listen 443 ssl; ssl_certificate /etc/ssl/certs/example.com.crt; ssl_certificate_key /etc/ssl/private/example.com.key;</code>
nginx -t
dan tambah semula Nginx dengan systemctl reload nginx
.Ya, anda boleh menggunakan pemasangan Nginx tunggal untuk melayani domain yang berbeza. Ini dilakukan dengan mengkonfigurasi pelbagai blok pelayan, masing -masing sepadan dengan domain yang berbeza. Inilah cara anda dapat mencapai ini:
/etc/nginx/sites-available/
. Membezakan blok pelayan oleh domain : Gunakan arahan server_name
untuk menentukan domain (s) blok pelayan akan bertindak balas. Contohnya:
<code class="nginx">server { listen 80; server_name domain1.com www.domain1.com; root /var/www/domain1.com; index index.html; location / { try_files $uri $uri/ =404; } } server { listen 80; server_name domain2.com www.domain2.com; root /var/www/domain2.com; index index.html; location / { try_files $uri $uri/ =404; } }</code>
Menguruskan dan menyelesaikan masalah konfigurasi tuan rumah maya di Nginx melibatkan beberapa amalan dan alat terbaik. Berikut adalah cara anda dapat mengoptimumkan prestasi dan menyelesaikan masalah:
Pembalakan : Gunakan log akses dan ralat Nginx untuk memantau dan menyelesaikan masalah. Log akses dapat membantu menjejaki permintaan dan log ralat dapat membantu mengenal pasti isu konfigurasi atau kesilapan pelayan.
<code class="nginx">access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log;</code>
nginx -t
untuk menangkap kesilapan sintaks sebelum memuat semula atau memulakan semula nginx.Pengoptimuman Prestasi :
Dayakan Mampatan GZIP : Memampatkan fail untuk mengurangkan penggunaan jalur lebar.
<code class="nginx">gzip on; gzip_types text/plain application/xml application/json;</code>
Sediakan caching : Gunakan caching nginx untuk mengurangkan beban pelayan dan meningkatkan masa tindak balas.
<code class="nginx">proxy_cache_path /etc/nginx/cache keys_zone=my_cache:10m; server { ... location / { proxy_pass http://backend; proxy_cache my_cache; proxy_cache_valid 200 1d; } }</code>
Mengoptimumkan Tetapan Pelayan : Laraskan proses dan sambungan pekerja untuk mengoptimumkan sumber pelayan.
<code class="nginx">worker_processes auto; events { worker_connections 1024; }</code>
Penyelesaian Masalah :
curl
atau penyemak imbas : Fungsi laman web ujian dan mengukur masa beban.Halaman Status Nginx : Sediakan halaman status untuk memantau prestasi nginx dalam masa nyata.
<code class="nginx">location /nginx_status { stub_status on; access_log off; allow 127.0.0.1; deny all; }</code>
Dengan mengikuti amalan ini, anda boleh mengurus, mengoptimumkan, dan menyelesaikan masalah konfigurasi Nginx dengan berkesan untuk menganjurkan beberapa laman web pada pelayan tunggal.
Atas ialah kandungan terperinci Bagaimanakah saya membuat tuan rumah maya di nginx untuk beberapa laman web?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!