Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Bagaimana untuk menggunakan tomcat dan Nginx pada pelayan linux

Bagaimana untuk menggunakan tomcat dan Nginx pada pelayan linux

WBOY
WBOYke hadapan
2023-05-13 18:58:11973semak imbas

1. Persediaan

Mula-mula anda mesti mempunyai pelayan linux yang boleh dimainkan dan mengetahui nama pengguna dan kata laluan Kemudian anda perlu memasang dua pelayan linux pada komputer windows anda yang boleh sambung ke pelayan linux Alatan, xshell 5 dan xftp 5, saya tidak akan pergi ke tutorial pemasangan Gambar tambahan menunjukkan cara menyambung ke pelayan:

Antara muka sambungan xshell adalah seperti berikut. Selepas memasukkan IP hos dan klik OK, xshell akan muncul tetingkap untuk memasukkan nama pengguna dan kata laluan Sambungan berjaya!

Bagaimana untuk menggunakan tomcat dan Nginx pada pelayan linux

Berapa banyak yang cukup untuk difahami!

Bagaimana untuk menggunakan tomcat dan Nginx pada pelayan linux

2. Kerja pemasangan dan penggunaan

Jika anda ingin menggunakan projek ke pelayan Linux, adalah penting untuk memasang jdk dan tomcat Ya, apa yang saya ingin tekankan di sini ialah jika anda ingin menggunakan berbilang aplikasi pada satu pelayan, anda perlu mempunyai tomcat sendiri untuk setiap aplikasi, kerana konfigurasi tomcat pasti berbeza untuk aplikasi yang berbeza , anda boleh memasang direktori pemasangan tomcat dan direktori kerja tomcat di bawah berbilang aplikasi Untuk bahagian yang sama, anda boleh berkongsi direktori pemasangan tomcat Berikut akan memperkenalkan secara terperinci cara mengendalikan dan cara memasang tomcat dan jdk pada pelayan anda

1. Bahagian Direktori  

Ini adalah langkah yang sangat penting Anda boleh membuat direktori baharu seperti yang ditunjukkan dalam rajah di bawah direktori untuk permulaan dan penggunaan projek. Mengakses beberapa fail yang berkaitan, anda boleh melihat bahawa saya telah meletakkan berbilang versi jdk dan berbilang versi tomcat di bawah direktori ini.

Bagaimana untuk menggunakan tomcat dan Nginx pada pelayan linux

Untuk aplikasi sebenar, kami secara khusus meletakkannya dalam direktori contoh, tetapkan nama setiap aplikasi, dan kemudian letakkan pakej perang yang sepadan di bawah direktori, dan selepas fail penyahmampatan , tunggu tomcat membaca direktori dan menggunakan aplikasi, seperti berikut:

Bagaimana untuk menggunakan tomcat dan Nginx pada pelayan linux Bagaimana untuk menggunakan tomcat dan Nginx pada pelayan linux

2. Ubah suai konfigurasi  

Kami juga meletakkan tomcat di bawah setiap aplikasi di bawah direktori untuk pengurusan yang mudah, seperti yang ditunjukkan di bawah, tetapi kami mesti memberi perhatian kepada konfigurasi setiap tomcat

Bagaimana untuk menggunakan tomcat dan Nginx pada pelayan linux Bagaimana untuk menggunakan tomcat dan Nginx pada pelayan linux

/ bin, Kedua-dua fail start.sh dan fail stop.sh mesti diubah suai Pertama, anda mesti menentukan laluan jdk, yang serupa dengan mengkonfigurasi pembolehubah persekitaran Langkah kedua ialah menentukan laluan tomcat direktori kerja . Anda boleh melihat bahawa catalina_home dan catalina_base masing-masing sepadan dengan pemasangan tomcat Direktori dan direktori kerja, dan anda boleh melihat dari baris terakhir bahawa permulaan projek menggunakan start.sh di bawah direktori pemasangan, tetapi fail konfigurasi tomcat digunakan untuk projek. startup ialah fail konfigurasi yang dikonfigurasikan oleh setiap tomcat aplikasi. Perkara yang sama berlaku untuk stop.sh.

Bagaimana untuk menggunakan tomcat dan Nginx pada pelayan linux

Untuk menggunakan xshell untuk melaksanakan ./start.sh dan ./stop.sh, kebenaran diperlukan Jika tiada kebenaran, kami boleh menggunakan xftp untuk start.sh e-mel Untuk mengubah suai kebenaran, tandai kotak seperti yang ditunjukkan dalam gambar.

Bagaimana untuk menggunakan tomcat dan Nginx pada pelayan linux

Di bawah direktori /conf, anda perlu memberi perhatian kepada pengubahsuaian konfigurasi yang pertama ialah fail server.xml Ubah suai nombor port yang sepadan perlu mengubah suai konfigurasi yang berbeza, jika tidak, port akan diduduki apabila memulakan berbilang tomcat dan tidak boleh dimulakan, sebaiknya ingat nombor port tomcat yang dikonfigurasikan untuk aplikasi ini, yang akan digunakan kemudian apabila menggunakan nginx untuk pemetaan port. ;

Bagaimana untuk menggunakan tomcat dan Nginx pada pelayan linux

Satu lagi tempat yang perlu diubah suai ialah fail root.xml dalam direktori localhost di bawah direktori catalina Fail ini digunakan untuk menentukan direktori mana untuk memuatkan projek contoh apabila tomcat bermula

Bagaimana untuk menggunakan tomcat dan Nginx pada pelayan linux

Direktori /logs lain, direktori /temp, direktori /webapps, /direktori kerja tidak perlu diubah suai seperti yang dapat dilihat dari atas, bahagian direktori sangat jelas, dibahagikan kepada direktori pemasangan perkhidmatan (jdk, tomcat; , nginx, dsb.) ), direktori contoh aplikasi dan direktori penggunaan aplikasi Anda juga boleh membahagikannya dengan cara ini apabila menggunakan pelayan Linux untuk menggunakan berbilang projek.

3.nginx melaksanakan proksi terbalik port 80

Secara logiknya, pada masa ini kami boleh memindahkan pakej perang aplikasi kami sendiri ke direktori yang sepadan dan menyahmampatnya, dan kemudian pergi ke direktori kerja tomcat aplikasi yang sepadan dan jalankan ./start.sh untuk memulakan projek! Anda juga boleh mencubanya terlebih dahulu.

Selepas projek digunakan, kami mengkonfigurasi hos dan mula mengakses Pada masa ini, kami akan mendapati bahawa kami mesti menambah nombor port tomcat yang dikonfigurasikan di atas sebelum kami boleh mengaksesnya (menggunakan Bagaimana pula dengan port lalai 80)? Seperti yang dinyatakan di atas, kami telah mengkonfigurasi nombor port yang berbeza untuk tomcats yang berbeza Sebabnya ialah satu nombor port hanya boleh digunakan oleh satu tomcat Ini bermakna akses projek mesti menambah nombor port untuk akses Nombor. Ia juga mungkin untuk aplikasi mengakses port 80. Pada masa ini, kita perlu menggunakan nginx Selepas memasang nginx, kita boleh menambah beberapa konfigurasi untuk mencapai proksi terbalik, dan memajukan akses ke port 80 yang digunakan oleh aplikasi yang berbeza. nombor port yang sepadan Dari perspektif tomcat, permintaan luaran masih menggunakan nombor port yang dikonfigurasikan oleh tomcat, yang mencapai kesan yang kita inginkan Konfigurasi khusus adalah seperti berikut (sudah tentu kita juga perlu melakukan kerja pembahagian direktori yang sepadan):

Direktori nginx adalah seperti berikut:

Bagaimana untuk menggunakan tomcat dan Nginx pada pelayan linux

Kami hanya perlu mengambil berat tentang fail konfigurasi nginx.conf di bawah direktori /conf saya juga telah membukanya maklumat konfigurasi khusus untuk dilihat oleh semua orang. Adakah anda perasan baris terakhir, "include domains/*", yang bermaksud konfigurasi belum lengkap dan termasuk semua fail konfigurasi dalam direktori /domains,

Bagaimana untuk menggunakan tomcat dan Nginx pada pelayan linux

Pada masa ini kita Konfigurasi nginx yang sepadan untuk setiap aplikasi boleh dikonfigurasikan dengan fail dengan nama yang berbeza

Bagaimana untuk menggunakan tomcat dan Nginx pada pelayan linux

Kemudian mari kita lihat cara mengkonfigurasi itu, dengar auction.center.jd.net :80 akses nama domain, dan kemudian dimajukan ke akses port 1605 127.0.0.1 mesin tempatan Daripada konfigurasi, kita juga boleh melihat bahawa beberapa keadaan tidak normal, seperti http_500 http_502 http_504, dsb., akan direkodkan dan diproses secara berbeza Dalam keadaan biasa Anda boleh melompat ke halaman utama tapak web, dsb., dan kemudian merekodkan log Selepas mengkonfigurasi fail konfigurasi ini, kita tidak boleh lupa untuk mencipta log baharu direktori, jika tidak, nginx tidak dapat mencari direktori dan akan melaporkan ralat semasa memulakan.

Bagaimana untuk menggunakan tomcat dan Nginx pada pelayan linux

Selepas menyelesaikan tugasan ini, kita perlu memulakan semula nginx maklumat tentang Baidu Jika restart gagal, kami Hanya mengambil langkah yang sukar, mematikan proses nginx, dan kemudian menggunakan perintah mula perkhidmatan nginx untuk memulakan perkhidmatan nginx.

Selepas kami menyelesaikan tugasan ini, bolehkah kami menggunakan kaedah yang biasa (tanpa menambah nombor port) untuk mengaksesnya. Ya, betul, ramai orang bimbang sama ada untuk memulakan semula tomcat dan gunakan semula aplikasi, ini hanya bermakna anda tidak memahami lapisan penukaran penghalaan nginx pada lapisan rangkaian Nama domain yang kami lawati pertama kali melaksanakan resolusi dns melalui hos yang kami konfigurasikan, menukarnya kepada ip yang sepadan dan mencari pelayan yang sepadan dengannya. ip. , melalui firewall pelayan, dan kemudian apabila kita mengkonfigurasi nginx pada pelayan, nginx akan memintas permintaan, memproses dan mengedarkan permintaan itu, dan akhirnya memukul tomcat yang sepadan (pemahaman peribadi, mungkin pemahaman itu tidak ada, tolong jangan sembur ), maka kami boleh mengakses nama domain dan menghantar permintaan dengan yakin! !

4. Masuk ke dalam perangkap

Eh-huh. . tak bagus! ! Saya sangat gembira dan melompat ke halaman utama, tetapi masih tidak dapat mengakses aplikasi yang ditentukan Apabila saya cuba menambah nombor port, saya dapat mengaksesnya "secara ajaib". adakah masalahnya?

Sekarang izinkan saya bercakap tentang idea penyelesaian masalah saya Pertama sekali, kami perlu mengesahkan bahawa semua permintaan pergi ke nginx Pada masa ini, faedah log ditunjukkan apabila kami menggunakan port 80 untuk mengakses aplikasi kami. merenung kayu balak, sekali, dua kali, tiga kali. . Tiada log pada masa ini, kami secara kasar boleh membuat kesimpulan bahawa perkhidmatan nginx tidak digunakan sama sekali. Pada masa ini, saya membuat operasi berani Iaitu untuk mematikan akses perkhidmatan nginx, atau melompat ke halaman utama laman web. Bukankah melompat ke halaman utama dikonfigurasikan melalui nginx? Sesungguhnya, syarikat itu telah menanganinya di lapisan rangkaian Pada masa ini, saya sangat keliru. supaya ia sentiasa boleh diakses Tidak lama kemudian, pengubahsuaian telah selesai, saya hanya menunggu nama domain untuk dimasukkan ke dalam bar alamat untuk mengaksesnya, permintaan pada masa ini mesti dihantar terus ke tomcat saya mengaksesnya sekali, dua kali dan tiga kali, saya tidak dapat mengaksesnya. ? ? Pada masa ini, saya mempunyai kilat inspirasi Ia mesti bahawa firewall pelayan telah melumpuhkan port 80. Saya dengan cepat cuba telnet 192.168.108.37 80 secara tempatan. Ternyata saya tidak dapat mengaksesnya, yang membuktikan bahawa tekaan saya adalah betul. Ia adalah mudah untuk mengendalikan pada masa ini saya hanya perlu mendayakannya dalam dinding api.

1. Buka fail konfigurasi iptables, kodnya adalah seperti berikut: vi /etc/sysconfig/iptables

2. Gunakan perintah status /etc/init.d/iptables untuk menyemak sama ada port 80 dibuka, jika tidak, ia boleh dikendalikan dalam dua cara

3. Cara pertama: ubah suai arahan vi /etc/sysconfig/iptables untuk menambah tembok api untuk membuka port 80, kodnya ialah seperti berikut:

Salin kod Kod Seperti berikut:

-a rh-firewall-1-input -m keadaan --nyatakan baharu -m tcp -p tcp --dport 80 -j terima

 4. Tutup/Buka/Mulakan Semula Kod firewall adalah seperti berikut: /etc/init.d/iptables stop (#start to open, #restart to restart)

5. Yang kedua cara: tambah port melalui arahan, kodnya adalah seperti berikut:

[root@centos httpd]# /sbin/iptables -i input -p tcp --dport 80 -j accept
[root@centos httpd]# /etc/rc.d/init.d/iptables save
[root@centos httpd]# /etc/init.d/iptables restart

6. Semak kesan: [root@centos httpd]# /etc/init.d/iptables status

7. Tambah satu ayat, adalah disyorkan untuk menggunakan kaedah kedua, yang mudah dikendalikan dan mempunyai kadar kejayaan yang tinggi Ambil saya Sebagai contoh, apabila saya menggunakan kaedah pertama untuk mengubah suai konfigurasi firewall, mulakan semula gagal, tetapi apabila Saya menggunakan kaedah kedua, ia berjaya dengan sempurna

Atas ialah kandungan terperinci Bagaimana untuk menggunakan tomcat dan Nginx pada pelayan linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam