Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Apakah yang perlu saya lakukan jika nginx tidak dapat membuka halaman php?

Apakah yang perlu saya lakukan jika nginx tidak dapat membuka halaman php?

PHPz
PHPzasal
2023-04-24 10:50:331836semak imbas

Dengan perkembangan pesat Internet, perkhidmatan Web telah menjadi salah satu cara penting untuk orang ramai mendapatkan maklumat. Salah satu teknologi perkhidmatan web yang paling popular ialah LAMP, iaitu Linux, Apache, MySQL dan PHP Kemunculan mereka memudahkan untuk membina aplikasi web dinamik. Walau bagaimanapun, walaupun LAMP sering digunakan sebagai penyelesaian perkhidmatan web yang lengkap, disebabkan penggunaan sumber dan isu prestasi pelayan Apache, semakin ramai orang memilih untuk menggunakan Nginx dan bukannya Apache sebagai pelayan web.

Nginx ialah pelayan web ringan berprestasi tinggi dan pelayan proksi terbalik. Ia adalah perisian sumber terbuka yang sangat stabil dan menyokong pelbagai platform Ia melaksanakan semua fungsi asas perkhidmatan Web Apache dan mempunyai prestasi yang lebih baik. Walau bagaimanapun, ramai pembangun masih menghadapi beberapa masalah warisan apabila menggunakan PHP dengan Nginx, seperti Nginx tidak dapat membuka halaman PHP dengan betul. Mari kita bincangkan secara terperinci masalah yang Nginx tidak boleh membuka halaman PHP dan penyelesaiannya.

Penerangan Masalah

Apabila menjalankan program PHP tertentu pada pelayan Nginx, halaman PHP tidak boleh dibuka. Pelayar sering memaparkan mesej ralat: "502 Bad Gateway" atau "404 Not Found." Ini biasanya disebabkan oleh PHP-FPM (Pengurus Proses PHP FastCGI) gagal dimulakan dengan betul PHP-FPM ialah pengurus proses luaran yang dijalankan dalam penyelesaian Nginx dan bertanggungjawab untuk menguruskan peruntukan dan pelaksanaan proses penterjemah PHP.

Penyelesaian

Berikut ialah cara menyelesaikan masalah yang Nginx tidak boleh membuka halaman PHP:

1 Periksa sama ada Nginx dan PHP-FPM telah dipasang dengan betul

Mula-mula pastikan anda memasang Nginx dan PHP-FPM dengan betul. Jika anda tidak memasangnya dengan betul, anda mungkin tidak dapat menjalankan skrip PHP dengan betul. Untuk memastikan PHP-FPM telah dipasang dengan betul, jalankan arahan berikut dalam terminal:

sudo apt-get install php-fpm

2. Semak fail konfigurasi Nginx

Pastikan fail konfigurasi Nginx menetapkan dengan betul lokasi penterjemah PHP , sebagai contoh, anda perlu menambah laluan pemasangan PHP-FPM ke "lokasi/" dalam fail konfigurasi Nginx.

server {
  listen   80;
  root /var/www/html;
  index index.php index.html index.htm;
  server_name test.com;
  
  location / {
    try_files $uri $uri/ /index.php?$query_string;
  }
  
  location ~ .php$ {
    fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    fastcgi_read_timeout 300;
  }
}

Tampal kod di atas ke dalam fail konfigurasi Nginx, pastikan laluan di sana sepadan dengan laluan sebenar anda. Sebaik sahaja anda telah mengkonfigurasi lokasi penterjemah PHP anda dengan betul, Nginx akan menggunakannya untuk memaparkan skrip PHP dan menghantarnya ke pelayar web pelawat tapak web anda.

3. Mulakan semula perkhidmatan

Jika anda telah menukar fail konfigurasi Nginx, anda harus memulakan semula perkhidmatan Nginx. Untuk memulakan semula Nginx, jalankan arahan berikut dalam terminal:

sudo service nginx restart

Begitu juga, jika anda telah menukar fail konfigurasi PHP-FPM, anda mesti memulakan semula perkhidmatan PHP-FPM. Untuk memulakan semula PHP-FPM, jalankan arahan berikut dalam terminal: `

sudo service php-fpm restart

4. Semak sama ada PHP-FPM telah bermula

Jika halaman PHP anda masih tidak berfungsi dengan betul, maka. Mungkin kerana PHP-FPM tidak dimulakan. Untuk menyemak sama ada PHP-FPM sedang berjalan, jalankan arahan berikut dalam terminal:

systemctl status php-fpm.service

Jika ia berjalan, anda akan melihat perkataan "Active: active (running)". Jika tidak, maka anda boleh mulakan semula PHP-FPM dengan menjalankan arahan berikut:

sudo service php-fpm start

5. Semak kebenaran fail dan folder

Akhir sekali, pastikan fail PHP dan kebergantungan PHP anda semua folder mempunyai kebenaran yang betul. Jika kebenaran fail PHP atau folder bergantung tidak ditetapkan dengan betul, skrip PHP tidak boleh dijalankan. Untuk menukar kebenaran fail atau folder, jalankan arahan berikut dalam terminal:

sudo chown -R www-data:www-data /var/www/html/

Arahan di atas akan menukar pemilikan fail dan folder kepada pengguna dan kumpulan www-data.

Ringkasan

Nginx ialah pelayan web berprestasi tinggi dan pelayan proksi terbalik yang boleh digunakan sebagai alternatif kepada Apache untuk menjalankan aplikasi web dinamik. Walau bagaimanapun, disebabkan beberapa konfigurasi dan isu antara Nginx dan PHP-FPM, kadangkala anda mungkin tidak dapat membuka halaman PHP dengan betul Dalam kes ini, anda boleh mengikuti langkah di atas untuk menyelesaikan masalah satu demi satu. Selepas semua langkah di atas selesai, anda sepatutnya dapat menjalankan skrip PHP pada pelayan Nginx secara normal.

Atas ialah kandungan terperinci Apakah yang perlu saya lakukan jika nginx tidak dapat membuka halaman php?. 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