Linode telah ditingkatkan lagi ~ Tetapi karena mesin lama di ruang komputer Jepang akan memakan waktu beberapa minggu untuk ditingkatkan, saya tidak sabar, jadi saya membuka mesin baru, berencana untuk pindah rumah, dan omong-omong, menyapu sampah yang tidak perlu di server.
Mesin baru menggunakan skrip instalasi satu klik lnmp yang saya tulis sendiri (pada kenyataannya, sebagian besar kode ditemukan secara online = =##), dan setelah membuat skrip di DigitalOcean, saya meletakkannya di Linode untuk menginstal. Tidak ada masalah dengan pemasangan dan pemindahan, tetapi segera setelah dimulai ulang setelah pemasangan, ada masalah.
Setelah memulai ulang, masuk akal bahwa Nginx harus dimulai secara otomatis, tetapi setelah menunggu lama, situs web masih tidak dapat diakses. Masuk ke SSH dan jalankan:
Layanan NGINX mulai
Luncurkan Nginx secara manual, dan situs web akan dapat diakses dalam waktu singkat. Skrip memulai sendiri baik-baik saja, dan tidak ada masalah dengan memulai secara manual, mengapa nginx tidak dimulai?
Melihat melalui kayu, saya menemukan baris seperti ini:
2014/05/02 17:02:28 [emerg] 2912#0: bind() ke [2400:8900::f03c:91ff:fe6e:5889]:80 gagal (99: Tidak dapat menetapkan alamat yang diminta)
Rasanya saat memulai Nginx, ipv6 belum diinisialisasi, sehingga startup gagal. Ketika saya masuk ke SSH dan memulai Nginx secara manual, ipv6 telah diinisialisasi, sehingga dapat dimulai secara normal.
Mungkin menebak alasannya, bagaimana cara mengatasinya? Setelah seharian mencari Google, saya menemukan masalah dan solusi serupa di ServerFault, dan saya akan mencatatnya di sini.
Masukkan ke /etc/sysctl.conf:
- sysctl -w net.ipv6.conf.eth0.dad_transmits=0
Salin kode Atau:
Tambahkan baris di /etc/network/interfaces:
- post-up while ip -6 addr show tentative | grep . > /dev/null ; do sleep 1 ; done
Salin kode Saya menggunakan metode terakhir untuk memecahkan masalah.
|