Saya baru-baru ini menginstal kucing jantan melalui skrip instalasi dari komunitas typo3 apache solr dan menghabiskan 3 hari terakhir mencoba mencari tahu mengapa itu tidak akan bekerja sampai kebetulan saya perhatikan bahwa ketika saya menanyakan proses mendengarkan pada port melalui "lsof -i ", itu terikat pada protokol ipv6. Saya telah googled di mana-mana dan kebanyakan mengatakan bahwa pengaturan alamat ke 0.0.0.0 pada konektor tomcat menyelesaikan masalah ini, yang lain mengatakan pengaturan JAVA_OPTS = "- Djava.net.preferIPv4Stack = true" ; Saya sudah mencoba yang pertama tidak bekerja tetapi yang kedua saya tidak yakin di mana harus meletakkannya. Salah satu solusi yang saya baca di suatu tempat menyarankan untuk meletakkannya di setenv.shtapi saya tidak dapat menemukan file ini di instalasi kucing jantan saya. Saya sangat menghargai bantuan apa pun saat ini mengenai hal ini. Versi tomcat adalah 6.x dan OS adalah ubuntu 11.10. Terima kasih
32
Jawaban:
Banyak yang menyarankan memperbarui
catalina.sh
skrip startup. Ya, solusi itu akan berhasil, tetapicatalina.sh
skrip tidak dimaksudkan untuk dikustomisasi / diperbarui. Semua perubahan harus masuk ke skrip penyesuaian, yaitusetenv.sh
.CATATAN:
TOMCAT_HOME/bin/setenv.sh
tidak ada secara default, Anda harus membuatnya. Periksacatalina.sh
skrip dan Anda akan melihat skrip startup memeriksa apakahsetenv.sh
ada, dan mengeksekusi jika ada.Jadi, saya sarankan Anda membuat
TOMCAT_HOME/bin/setenv.sh
skrip baru dengan satu baris:sumber
Ok akhirnya saya pecahkan. Saya diarahkan untuk mencoba ini dan solusi Henk. Tak satu pun dari yang tampaknya bekerja dengan server virtual jarak jauh. Saya menduga fakta bahwa karena saya menggunakan ruang kernel bersama sehingga penyedia mencegahnya. Dalam kasus apa pun saya menambahkan:
JAVA_OPTS= $JAVA_OPTS -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv4Addresses
ke skrip startup catalina.sh dan yang tampaknya telah memperbaiki masalah mengikat kucing jantan ke ipv6.sumber
Sintaks yang benar untuk memodifikasi catalina.sh adalah:
sumber
Jika Anda menggunakan penginstal ini: " Apache Solr for TYPO3 ", Anda dapat mengubah alamat dalam file
server.xml
. Titik default ke localhost, jadi cari 127.0.0.1 dan ubah ke alamat IPv4 yang Anda inginkan. Jangan lupa untuk me-restart Tomcat6 agar perubahan diterapkan.PEMBARUAN, 20120521
Lihat komentar saya di bawah ini tentang cara menonaktifkan IPv6 di Ubuntu 11.10.
Saya telah berhasil menguji ini pada Virtualbox-VM di Mac saya. Alamat untuk port konektor 8080 telah diubah dari 127.0.0.1 menjadi 0.0.0.0 in
server.xml
.Kemudian menonaktifkan IPv6 membuat "tcp6" untuk pergi, jadi itu diikat ke alamat IPv4-only.
Sebelum / dengan IPv6 diaktifkan:
Setelah / IPv6 dinonaktifkan:
sumber
Walaupun mungkin bukan metode yang disukai, saya telah mengamati bahwa menonaktifkan IPv6 di tingkat kernel akan meyakinkan Tomcat untuk membuka ikatan IPv4.
sumber
Bersamaan dengan jawaban lain menggunakan setenv.sh dan CATALINA_OPTS ...
Menggunakan Tomcat SSL dengan APR, satu-satunya cara saya bisa mengikat Tomcat ke ipv4 adalah menambahkan ini ke konektor config:
server.xml terlihat seperti ini:
sumber
Navigasi Debian 8 untuk menggunakan editor favorit Anda di / etc / default / grub ; cari bagian GRUB_CMDLINE_LINUX_DEFAULT = "quiet" ** dengan kemudian tambahkan ipv6.disable = 1 , seperti terlihat di bawah
GRUB_CMDLINE_LINUX_DEFAULT = "ipv6.disable = 1 quiet"
Simpan dan keluar. Dalam direktori yang sama gunakan editor favorit Anda di / etc / default / tomcat8 lalu cari bagian dengan JAVA_OPTS = yang akan dikomentari, tambahkan berikut ini di bawah baris itu. JAVA_OPTS = "$ JAVA_OPTS -Djava.net.preferIPv4Stack = true -Djava.net.preferIPv4Addresses = true"
Simpan dan keluar
Pada prompt perintah ketik update-grub , jika Anda telah menggunakan sudo dengan sudo, kemudian restart tomcat8 layanan tomcat8 tomcat8 restart
Anda harus menggunakan IPv4 sekarang.
Silakan di posting mendatang termasuk path lengkap dan nama file Terima kasih
sumber