Nginx ialah pelayan web berprestasi tinggi dan pelayan proksi terbalik, digunakan secara meluas dalam industri Internet. Walau bagaimanapun, apabila menggunakan Nginx, anda mungkin menghadapi masalah tidak dapat mencari fail index.php. Ini boleh menyebabkan tapak web anda tidak boleh diakses, sekali gus menjejaskan perniagaan syarikat dan pengalaman pengguna tapak web tersebut. Artikel ini akan membincangkan penyelesaian langkah demi langkah untuk masalah yang nginx tidak dapat mencari index.php.
1. Semak laluan fail
Apabila nginx tidak dapat mencari fail index.php, semak dahulu sama ada laluan fail itu betul. Dalam fail konfigurasi nginx, anda perlu mengkonfigurasi direktori akar, iaitu direktori akar tapak. Jika direktori akar tapak tidak dikonfigurasikan dengan betul, nginx tidak akan dapat mencari fail index.php. Oleh itu, anda perlu terlebih dahulu menentukan sama ada direktori akar tapak dikonfigurasikan dengan betul.
Kaedahnya adalah seperti berikut:
- Buka fail konfigurasi nginx dan cari blok pelayan;
Sahkan arahan root Adakah direktori dihalakan ke betul? -
- Sebagai contoh, jika direktori akar tapak kami berada dalam direktori /var/www/html, maka fail konfigurasi nginx harus mempunyai konfigurasi berikut:
Selepas ini lokasi dikonfigurasikan dengan betul, jika anda masih tidak dapat mengakses fail index.php, anda perlu mencari lebih lanjut.
server {
listen 80;
server_name xxx.com;
root /var/www/html;
index index.php index.html index.htm;
}
Salin selepas log masuk
2. Semak konfigurasi parser PHP Nginx
Semak sama ada konfigurasi parser PHP Nginx ditetapkan dengan betul. Anda boleh menemui pernyataan baris yang serupa dengan yang berikut dalam fail konfigurasi Nginx:
Jika pernyataan itu tidak dikonfigurasikan dengan betul, maka Nginx tidak dapat mencari fail index.php dengan betul.
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass localhost:9000;
fastcgi_index index.php;
include fastcgi_params;
}
Salin selepas log masuk
Salin selepas log masuk
Langkah konfigurasi khusus adalah seperti berikut:
Semak sama ada arahan berikut ditetapkan dengan betul:
Cari Nginx Konfigurasi penghurai PHP:
root /var/www/html;
index index.php index.html index.htm;
Salin selepas log masuk
- Antaranya, fastcgi_pass ialah alamat dan nombor port bagi penterjemah PHP yang ditentukan, dan fastcgi_index ialah nama fail yang dicari secara lalai apabila mengakses fail PHP. Sebagai contoh, konfigurasi di atas adalah untuk mencari fail index.php.
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass localhost:9000;
fastcgi_index index.php;
include fastcgi_params;
}
Salin selepas log masuk
Salin selepas log masuk
3. Semak konfigurasi PHP-FPM
Selain fail konfigurasi nginx, anda juga perlu menyemak fail konfigurasi PHP-FPM. Jika jurubahasa PHP tidak dapat mentafsir fail PHP, Nginx tidak akan menemui fail index.php.
Langkah konfigurasi khusus adalah seperti berikut:
Buka fail konfigurasi PHP-FPM:
Sahkan bahawa dalam Fail konfigurasi PHP-FPM, Adakah arahan berikut ditetapkan dengan betul:
sudo vi /usr/local/etc/php-fpm.conf
Salin selepas log masuk
- Arahan di atas adalah semua arahan penalaan prestasi untuk PHP-FPM. Anda juga boleh meningkatkan prestasi PHP-FPM dengan mengubah suai arahan ini dengan sewajarnya.
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 2
pm.max_spare_servers = 8
Salin selepas log masuk
4. Isu pemasangan PHP
Jika fail konfigurasi nginx, konfigurasi parser PHP Nginx dan konfigurasi PHP-FPM semuanya betul, tetapi fail index.php masih tidak ditemui, maka ia hanya mungkin Ini kerana PHP tidak berjaya dipasang.
Anda boleh melaksanakan arahan berikut untuk menyemak sama ada PHP berjaya dipasang:
Jika PHP tidak berjaya dipasang, anda boleh mengikuti langkah berikut untuk memasangnya:
php -v
Salin selepas log masuk
Pasang PHP:
Tetapkan pengguna berjalan PHP-FPM sebagai www-data:
sudo apt-get update
sudo apt-get install php-fpm
Salin selepas log masuk
- Cari pengguna dan kumpulan dan tukar Ia diubah suai kepada www-data.
sudo vim /usr/local/etc/php-fpm.d/www.conf
Salin selepas log masuk
Mulakan semula perkhidmatan PHP-FPM:
- Selepas melengkapkan langkah di atas, semak fail konfigurasi nginx, konfigurasi parser PHP Nginx dan konfigurasi PHP-FPM . Pastikan semua parameter ditetapkan dengan betul dan masalah tidak dapat mencari fail index.php seharusnya tidak berlaku lagi.
sudo systemctl restart php-fpm
Salin selepas log masuk
Ringkasan
Apabila menggunakan Nginx, masalah tidak dapat mencari fail index.php mungkin mempunyai kesan tertentu pada perniagaan anda. Walau bagaimanapun, masalah ini boleh diselesaikan dengan cepat dengan hanya menyemak langkah-langkah di atas. Sudah tentu, kami juga boleh mengkonfigurasi penghalaan url Nginx supaya Nginx boleh mengendalikan permintaan url dengan lebih fleksibel dan meningkatkan prestasi dan ketersediaan aplikasi web.
Atas ialah kandungan terperinci Membawa anda langkah demi langkah untuk menyelesaikan masalah yang nginx tidak dapat mencari index.php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!