Menyebarkan aplikasi web Java ke mesin virtual di Azure Stack Hub
Anda dapat membuat mesin virtual (VM) untuk menghosting aplikasi web Java Anda di Azure Stack Hub. Dalam artikel ini, Anda memasang, membuka port yang tepat, dan mengonfigurasi server Apache Tomcat pada mesin virtual Linux di Azure Stack Hub. Anda kemudian memuat file Java Web Application Resource (WAR) ke server. File WAR digunakan untuk mendistribusikan koleksi file arsip Java (JAR), file terkompresi yang berisi sumber daya Java seperti kelas, teks, gambar, XML, dan HTML, dan sumber daya lain yang digunakan untuk mengirimkan aplikasi web.
Buat VM
Siapkan VM di Azure Stack Hub dengan mengikuti petunjuk di Menyebarkan VM Linux untuk menghosting aplikasi web di Azure Stack Hub.
Di panel jaringan VM, pastikan port berikut dapat diakses:
Port Protokol Deskripsi 80 HTTP Protokol Transfer Hiperteks (HTTP) adalah protokol yang digunakan untuk mengirimkan halaman web dari server. Klien tersambung melalui HTTP dengan nama DNS atau alamat IP. 443 HTTPS Protokol Transfer Hiperteks Aman (HTTPS) adalah versi aman dari HTTP yang memerlukan sertifikat keamanan dan memungkinkan transmisi informasi terenkripsi. 22 SSH Secure Shell (SSH) adalah protokol jaringan terenkripsi untuk komunikasi yang aman. Anda menggunakan koneksi ini dengan klien SSH untuk mengonfigurasi VM dan menyebarkan aplikasi. 3389 RDP Opsional. Protokol Desktop Jauh (RDP) memungkinkan koneksi desktop jarak jauh untuk menggunakan antarmuka pengguna grafis pada komputer Anda. 8080 Kustom Port default untuk layanan Apache Tomcat. Untuk server produksi, rutekan lalu lintas Anda melalui 80 dan 443.
Memasang Java
Sambungkan ke mesin virtual Anda dengan menggunakan klien SSH Anda. Sebagai petunjuk, lihat Menyambungkan melalui SSH dengan PuTTY.
Pada wantian bash di mesin virtual Anda, jalankan perintah berikut:
sudo apt-get install default-jdk
Validasi penginstalan Anda. Masih terhubung ke mesin virtual Anda di sesi SSH, jalankan perintah berikut:
java -version
Memasang dan mengonfigurasi Tomcat
Sambungkan ke mesin virtual Anda dengan menggunakan klien SSH Anda. Sebagai petunjuk, lihat Menyambungkan melalui SSH dengan PuTTY.
Buat pengguna Tomcat dengan melakukan hal berikut:
a. Buat grup Tomcat baru dengan menjalankan perintah berikut:
sudo groupadd tomcat
b. Buat pengguna Tomcat baru. Tambahkan pengguna ini ke grup Tomcat dengan direktori beranda /opt/tomcat. Anda menyebarkan Tomcat ke direktori ini:
sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat
Pasang Tomcat dengan melakukan hal berikut:
a. Dapatkan URL untuk tar untuk versi terbaru Tomcat 8 dari halaman unduhan Tomcat 8.
b. Gunakan cURL untuk mengunduh versi terbaru dengan menggunakan link. Jalankan perintah berikut:
cd /tmp curl -O <URL for the tar for the latest version of Tomcat 8>
c. Pasang Tomcat ke direktori /opt/tomcat. Buat folder, lalu buka arsip:
sudo mkdir /opt/tomcat sudo tar xzvf apache-tomcat-8*tar.gz -C /opt/tomcat --strip-components=1 sudo chown -R tomcat webapps/ work/ temp/ logs/
Perbarui izin Tomcat dengan menjalankan perintah berikut:
sudo chgrp -R tomcat /opt/tomcat sudo chmod -R g+r conf sudo chmod g+x conf
Buat file layanan systemd, agar Anda dapat menjalankan Tomcat sebagai layanan.
a. Tomcat perlu mengetahui di mana Anda memasang Java. Jalur ini umumnya disebut sebagai JAVA_HOME. Temukan lokasi dengan menjalankan:
sudo update-java-alternatives -l
Hal ini menghasilkan sesuatu seperti berikut:
Output java-1.8.0-openjdk-amd64 1081 /usr/lib/jvm/java-1.8.0-openjdk-amd64
Anda dapat membangun nilai variabel JAVA_HOME dengan mengambil jalur dari output dan menambahkan / jre. Misalnya, menggunakan contoh sebelumnya, /usr/lib/jvm/java-1.8.0-openjdk-amd64/jre.
b. Gunakan nilai dari server Anda untuk membuat file layanan systemd:
sudo nano /etc/systemd/system/tomcat.service
c. Tempel konten berikut ke dalam file layanan Anda. Ubah nilai JAVA_HOME, jika perlu, agar sesuai dengan nilai yang Anda temukan di sistem Anda. Anda mungkin juga ingin mengubah pengaturan alokasi memori yang ditentukan dalam CATALINA_OPTS:
[Unit] Description=Apache Tomcat Web Application Container After=network.target [Service] Type=forking Environment=JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid Environment=CATALINA_HOME=/opt/tomcat Environment=CATALINA_BASE=/opt/tomcat Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC' Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom' ExecStart=/opt/tomcat/bin/startup.sh ExecStop=/opt/tomcat/bin/shutdown.sh User=tomcat Group=tomcat UMask=0007 RestartSec=10 Restart=always [Install] WantedBy=multi-user.target
d. Simpan dan tutup file.
e. Muat ulang systemd daemon agar mengetahui tentang file layanan Anda:
sudo systemctl daemon-reload
f. Mulai layanan Tomcat:
sudo systemctl start tomcat
g. Pastikan bahwa layanan dimulai tanpa kesalahan dengan memasukkan:
sudo systemctl status tomcat
Verifikasi server Tomcat. Tomcat menggunakan port 8080 untuk menerima permintaan konvensional. Izinkan lalu lintas ke port tersebut dengan menjalankan perintah berikut:
sudo ufw allow 8080
Jika Anda belum menambahkan Aturan port masuk untuk mesin virtual Azure Stack Hub Anda, tambahkan sekarang. Untuk informasi selengkapnya, lihat Membuat mesin virtual.
Buka browser di jaringan yang sama dengan Azure Stack Hub Anda, lalu buka server Anda, yourmachine.local.cloudapp.azurestack.external:8080.
Halaman Apache Tomcat di server Anda dimuat. Selanjutnya, konfigurasikan server untuk memungkinkan Anda mengakses Status Server, Aplikasi Pengelola, dan Pengelola Penyelenggara.
Aktifkan file layanan sehingga Tomcat secara otomatis dimulai saat Anda me-reboot server Anda:
sudo systemctl enable tomcat
Untuk memungkinkan diri Anda mengakses antarmuka pengelolaan web, konfigurasikan server Tomcat.
a. Edit file tomcat-users.xml, dan tentukan peran dan pengguna agar Anda dapat masuk. Tentukan pengguna untuk mengakses
manager-gui
danadmin-gui
.sudo nano /opt/tomcat/conf/tomcat-users.xml
b. Tambahkan elemen berikut ke
<tomcat-users>
bagian:<role rolename="tomcat"/> <user username="<username>" password="<password>" roles="tomcat,manager-gui,admin-gui"/>
Sebagai contoh, file akhir Anda mungkin terlihat seperti:
<tomcat-users xmlns="http://tomcat.apache.org/xml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd" version="1.0"> <role rolename="tomcat"/> <user username="tomcatuser" password="changemepassword" roles="tomcat,manager-gui,admin-gui"/> </tomcat-users>
c. Simpan dan tutup file.
Tomcat membatasi akses ke aplikasi Pengelola dan Pengelola Penyelenggara ke koneksi yang berasal dari server. Karena Anda memasang Tomcat di mesin virtual di Azure Stack Hub, Anda harus menghapus pembatasan ini. Ubah pembatasan alamat IP pada aplikasi ini dengan mengedit file context.xml yang sesuai.
a. Perbarui context.xml di aplikasi Pengelola:
sudo nano /opt/tomcat/webapps/manager/META-INF/context.xml
b. Komentari pembatasan alamat IP untuk memungkinkan koneksi dari mana saja, atau tambahkan alamat IP komputer yang Anda gunakan untuk tersambung ke Tomcat.
<Context antiResourceLocking="false" privileged="true" > <!--<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />--> </Context>
c. Simpan dan tutup file.
d. Perbarui context.xml aplikasi Host Manager dengan pembaruan serupa:
sudo nano /opt/tomcat/webapps/host-manager/META-INF/context.xml
e. Simpan dan tutup file.
Untuk memperbarui server dengan perubahan, mulai ulang layanan Tomcat:
sudo systemctl restart tomcat
Buka browser di jaringan yang sama dengan Azure Stack Hub Anda, lalu buka server Anda: yourmachine.local.cloudapp.azurestack.external:8080.
a. Untuk meninjau status server Tomcat dan memverifikasi bahwa Anda memiliki akses, pilih Status Server.
b. Masuk dengan info masuk Tomcat Anda.
Buat aplikasi
Anda harus membuat WAR untuk disebarkan ke Tomcat. Jika hanya ingin memeriksa lingkungan Anda, Anda dapat menemukan contoh WAR di situs Apache Tomcat.
Untuk panduan tentang pengembangan aplikasi Java di Azure, lihat Membangun dan menyebarkan aplikasi Java di Azure.
Menyebarkan dan menjalankan aplikasi
Sambungkan ke mesin virtual Anda dengan menggunakan klien SSH Anda. Sebagai petunjuk, lihat Menyambungkan melalui SSH dengan PuTTY.
Untuk memperbarui server dengan paket aplikasi Anda, hentikan layanan Tomcat:
sudo systemctl stop tomcat
Untuk dapat menulis ke folder webapps, tambahkan pengguna FTP Anda ke grup Tomcat. Pengguna FTP Anda adalah pengguna yang Anda tentukan saat membuat mesin virtual di Azure Stack Hub.
sudo usermod -a -G tomcat <VM-user>
Untuk menghapus folder webapps kemudian memuat WAR baru atau yang diperbarui, sambungkan ke mesin virtual Anda dengan FileZilla. Sebagai petunjuk, lihat Tersambung ke SFTP dengan FileZilla.
a. Bersihkan TOMCAT_HOME/webapps.
b. Tambahkan WAR Anda ke TOMCAT_HOME/webapps (misalnya, /opt/tomcat/webapps/).
Tomcat secara otomatis memperluas dan menyebarkan aplikasi. Anda dapat melihatnya dengan menggunakan nama DNS yang Anda buat sebelumnya. Contohnya:
http://yourmachine.local.cloudapp.azurestack.external:8080/sample
Langkah berikutnya
- Pelajari selengkapnya cara mengembangkan Azure Stack Hub.
- Pelajari tentang penyebaran umum Azure Stack Hub sebagai IaaS.
- Untuk mempelajari bahasa pemrograman Java dan menemukan sumber daya tambahan untuk Java, lihat Java.com.