Rumah >pembangunan bahagian belakang >tutorial php >Menyediakan php di belakang nginx dengan fastcgi

Menyediakan php di belakang nginx dengan fastcgi

Lisa Kudrow
Lisa Kudrowasal
2025-02-23 08:34:12370semak imbas

nginx dan fastcgi: persediaan php berprestasi tinggi

menjalankan aplikasi PHP dengan NGINX dan FastCGI menawarkan kelebihan prestasi dan skalabilitas yang signifikan ke atas pendekatan Apache/Mod_PHP tradisional. Butiran panduan ini menyediakan seni bina berprestasi tinggi ini di pelayan Ubuntu, memanfaatkan kecekapan FastCGI dan kuasa nginx.

fastcgi: rangsangan prestasi

overhead CGI yang wujud untuk membuat proses baru untuk setiap permintaan dikurangkan oleh FastCGI. FastCGI mengekalkan proses yang berterusan, dengan ketara mengurangkan CPU dan penggunaan masa. Ini membawa kepada peningkatan skalabiliti dan kecekapan pelayan keseluruhan. Imej di bawah menggambarkan proses CGI yang tipikal.

Setting Up PHP behind Nginx with FastCGI

pemasangan dan konfigurasi asas

  1. Pasang php dan nginx: Gunakan apt untuk memasang pakej yang diperlukan:

    <code class="language-bash">sudo apt-get install php5-cli php5-fpm nginx</code>
  2. Konfigurasi nginx: Elakkan secara langsung mengedit konfigurasi nginx lalai. Sebaliknya, buat salinan:

    <code class="language-bash">cd /etc/nginx
    sudo rm sites-enabled/default
    sudo cp sites-available/default sites-available/my-default
    sudo ln -s /etc/nginx/sites-available/my-default sites-enabled/default</code>
  3. Dayakan FastCGI: Uncomment garis yang relevan dalam untuk mengarahkan permintaan PHP ke perkhidmatan FastCGI (Php5-FPM). Bahagian penting harus menyerupai ini: /etc/nginx/sites-available/my-default

    <code class="language-nginx">location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
    }</code>
  4. Mula nginx:

    <code class="language-bash">sudo service nginx start</code>
  5. Sahkan pemasangan: create (mengandungi info.php) dalam akar web (<?php phpinfo(); ?>). Mengakses /usr/share/nginx/html dalam penyemak imbas anda harus memaparkan maklumat PHP, mengesahkan integrasi NGINX dan PHP melalui FastCGI. API pelayan harus menunjukkan "fpm/fastcgi". info.php

Setting Up PHP behind Nginx with FastCGI

Peningkatan konfigurasi penting

  • Kebenaran Root Web:

    Laraskan keizinan untuk mengelakkan penggunaan berterusan : sudo

    <code class="language-bash"> sudo adduser <username> www-data
     sudo chgrp -R www-data /usr/share/nginx/html
     sudo chmod -R g+rw /usr/share/nginx/html
     sudo chmod g+s /usr/share/nginx/html</username></code>
  • Mengendalikan skrip tidak wujud:

    Tambah arahan kepada konfigurasi Nginx untuk meningkatkan keselamatan: try_files

    <code class="language-nginx"> location ~ \.php$ {
         try_files $uri $uri/ =404;
         # ... other FastCGI directives ...
     }</code>
  • berhijrah dari Apache:

    Gunakan penukar dalam talian untuk menterjemahkan arahan Apache (mis., Peraturan) ke setara nginx. Semak semak konfigurasi yang ditukar sebelum melaksanakannya. .htaccess

Kesimpulan

Panduan ini menyediakan asas yang mantap untuk menubuhkan persekitaran PHP berprestasi tinggi menggunakan NGINX dan FASTCGI. Dengan mengikuti langkah -langkah ini dan menggabungkan peningkatan keselamatan dan prestasi yang disyorkan, anda boleh membuat pelayan web berskala dan cekap untuk aplikasi PHP anda. Ingatlah untuk sentiasa berunding dengan dokumentasi rasmi untuk NGINX dan PHP untuk maklumat terkini dan amalan terbaik.

Atas ialah kandungan terperinci Menyediakan php di belakang nginx dengan fastcgi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn