Rumah >hujung hadapan web >Soal Jawab bahagian hadapan >nodejs tidak boleh diakses apabila bermula di linux
Node.js ialah persekitaran berjalan JavaScript yang sangat berkuasa yang boleh menjalankan kod JavaScript pada bahagian pelayan. Ia mempunyai mekanisme dipacu peristiwa yang cekap dan model I/O yang tidak menyekat, menjadikannya ideal untuk membina aplikasi rangkaian berskala.
Walau bagaimanapun, apabila anda melancarkan aplikasi Node.js di Linux, anda mungkin menghadapi masalah, seperti tidak dapat mengakses aplikasi atau port. Isu ini boleh menjejaskan prestasi dan ketersediaan aplikasi anda. Dalam artikel ini, kami akan meneroka sebab masalah ini berlaku dan cara membetulkannya.
Apabila aplikasi anda cuba mendengar pada port tertentu pada Linux, masalah bahawa port diduduki mungkin berlaku. Ini mungkin kerana aplikasi lain sedang menduduki port atau aplikasi sebelumnya tidak ditutup dengan betul, menyebabkan port kekal diduduki.
Anda boleh menyemak proses yang menduduki port menggunakan arahan berikut:
sudo lsof -i :<port>
Arahan ini akan mengembalikan PID dan nama proses bagi proses yang menduduki port. Anda boleh mematikan proses menggunakan arahan berikut:
sudo kill <PID>
Jika anda tidak boleh mematikan proses, anda boleh mencuba membunuh secara paksa menggunakan pilihan "-9":
sudo kill -9 <PID>
Apabila anda melancarkan aplikasi Node.js di Linux, tembok api mungkin menyekat akses kepada aplikasi atau port. Anda boleh menambah port aplikasi anda pada senarai pengecualian firewall untuk membenarkan akses luaran ke port.
Di Ubuntu, anda boleh menambah port pada senarai pengecualian firewall menggunakan arahan berikut:
sudo ufw allow <port>/tcp
Pada CentOS, anda boleh menambah port pada senarai pengecualian firewall menggunakan arahan berikut:
sudo firewall-cmd --zone=public --add-port=<port>/tcp --permanent
Apabila anda melancarkan aplikasi Node.js di Linux, ralat mengikat alamat IP mungkin berlaku. Ini mungkin kerana kod aplikasi anda terikat pada alamat IP yang salah, menjadikan aplikasi tidak boleh diakses.
Anda boleh menentukan alamat IP yang betul dalam kod aplikasi anda, contohnya:
const http = require('http'); const hostname = '0.0.0.0'; // or your IP const port = 3000; // or your port const server = http.createServer((req, res) => { res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.end('Hello World!\n'); }); server.listen(port, hostname, () => { console.log(`Server running at http://${hostname}:${port}/`); });
Dalam kod di atas, kami menetapkan nama hos kepada "0.0.0.0". Ini bermakna kami mengikat aplikasi kepada semua alamat IP yang tersedia untuk memastikan akses kepada aplikasi.
Apabila anda melancarkan aplikasi Node.js di Linux, anda mungkin menghadapi ralat resolusi DNS. Ini mungkin kerana aplikasi anda cuba mengakses nama domain atau pelayan yang tidak wujud. Anda boleh menyemak konfigurasi DNS anda menggunakan arahan berikut:
cat /etc/resolv.conf
Perintah ini akan memaparkan konfigurasi pelayan DNS semasa. Jika anda menggunakan pelayan DNS awam seperti Google DNS atau Cloudflare DNS, anda boleh menambahkannya pada konfigurasi rangkaian anda. Anda boleh mengedit fail "/etc/resolv.conf" dan menambah entri berikut:
nameserver 8.8.8.8 # Google DNS nameserver 1.1.1.1 # Cloudflare DNS
Akhir sekali, mungkin terdapat pepijat dalam anda kod aplikasi , menyebabkan anda tidak dapat mengakses aplikasi. Anda boleh menyemak fail log anda untuk mendapatkan maklumat lanjut tentang ralat. Anda juga boleh menggunakan alat nyahpepijat, seperti penyahpepijat yang disertakan dengan alat pembangun Node.js atau Chrome, untuk nyahpepijat.
Pelbagai isu boleh timbul apabila melancarkan aplikasi Node.js di Linux, tetapi dengan pemeriksaan dan penyahpepijatan yang teliti, anda boleh menyelesaikan isu ini dan memastikan aplikasi anda berjalan dengan betul.
Atas ialah kandungan terperinci nodejs tidak boleh diakses apabila bermula di linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!