Baru-baru ini, semasa membangunkan projek menggunakan rangka kerja thinkphp, saya menghadapi masalah: port IP tidak boleh diakses. Selepas beberapa penyiasatan, didapati bahawa masalah itu disebabkan oleh masalah konfigurasi nginx Artikel ini akan memperkenalkan secara terperinci bagaimana untuk menyelesaikan masalah ini.
Mari kita lihat manifestasi masalah khusus terlebih dahulu. Masukkan alamat http://ip:nombor port pada halaman web, halaman terus dimuatkan, dan akhirnya memaparkan mesej ralat "Tidak dapat menyambung ke pelayan". Pada ketika ini, perkara pertama yang perlu kita lakukan ialah menyemak sama ada konfigurasi pelayan adalah betul.
Pertama, kami perlu mengesahkan sama ada pelayan mendengar pada port yang kami tentukan. Anda boleh menggunakan arahan berikut untuk melihat:
$ netstat -tunlp | grep 端口号
Jika nombor port boleh ditemui, ini bermakna port sudah diduduki, jika tidak port tidak dikonfigurasikan dengan betul.
Jika port sudah diduduki, maka kita perlu menyemak konfigurasi firewall. Sesetengah tetapan keselamatan akan melarang akses kepada port tertentu, menyebabkan kami tidak dapat mengakses port tertentu. Anda boleh menggunakan arahan berikut untuk melihat:
$ firewall-cmd --list-all
Arahan ini akan menyenaraikan semua port terbuka Jika port yang kami tentukan tidak ditemui, maka anda perlu menambah peraturan firewall untuk membenarkan akses.
Jika tiada masalah dengan tembok api, maka anda perlu menyemak sama ada konfigurasi nginx adalah betul. Biasanya kita perlu terlebih dahulu mengakses alamat IP awam pelayan untuk menentukan sama ada ia boleh diakses. Jika ia boleh diakses, maka anda perlu menyemak sama ada alamat IP pendengaran dan port dinyatakan dengan betul dalam fail konfigurasi nginx.
Dalam fail konfigurasi nginx, anda perlu menetapkan alamat pendengaran dan port. Kaedah tetapan yang betul adalah seperti berikut:
server { listen 端口号; server_name 客户端IP地址; location / { root 资源目录; index index.html index.htm; } }
"nombor port" dan "alamat IP pelanggan" perlu diisi mengikut situasi sebenar.
Jika langkah di atas tidak menyelesaikan masalah, maka anda perlu menyemak sama ada konfigurasi php-fpm adalah betul. php-fpm ialah penterjemah PHP yang bertanggungjawab untuk menukar kod PHP kepada kod yang boleh dilaksanakan oleh pelayan. Jika php-fpm tidak dikonfigurasikan dengan betul, ralat tidak boleh diakses akan berlaku.
Dalam fail konfigurasi php-fpm, anda perlu menetapkan alamat pendengaran dan port. Kaedah tetapan yang betul adalah seperti berikut:
listen = 客户端IP地址:端口号
Jika kami menetapkan localhost atau 127.0.0.1 dalam fail konfigurasi nginx, maka alamat pendengaran php-fpm juga perlu diubah suai dengan sewajarnya.
Ringkasan:
Apabila menggunakan rangka kerja thinkphp, mungkin terdapat banyak sebab mengapa port IP tidak boleh diakses, tetapi masalah yang paling biasa ialah salah satu daripada empat aspek di atas. Jika anda juga menghadapi masalah ini, anda boleh mengikuti langkah-langkah di atas untuk menyelesaikan masalah saya harap ia dapat membantu anda.
Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan masalah yang thinkphp ip port tidak boleh diakses. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!