Buat Stack dan Jalankan Aplikasi - AWS OpsWorks

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Buat Stack dan Jalankan Aplikasi

penting

AWS OpsWorks Stackstidak lagi menerima pelanggan baru. Pelanggan yang sudah ada akan dapat menggunakan OpsWorks konsol, API, CLI, dan CloudFormation sumber daya seperti biasa hingga 26 Mei 2024, di mana mereka akan dihentikan. Untuk mempersiapkan transisi ini, kami sarankan Anda mentransisikan tumpukan Anda AWS Systems Manager sesegera mungkin. Lihat informasi yang lebih lengkap di AWS OpsWorks StacksFAQ Akhir Kehidupan dan Migrasi AWS OpsWorks Stacks aplikasi Anda ke Manajer AWS Systems Manager Aplikasi.

Bagian ini menunjukkan bagaimana menggunakan buku masak Tomcat untuk mengimplementasikan pengaturan tumpukan dasar yang menjalankan aplikasi halaman server Java sederhana (JSP) bernama SimpleJSP. Tumpukan terdiri dari lapisan kustom berbasis TomCustom TomCat bernama dan lapisan MySQL. SimpleJSP dikerahkan ke TomCustom dan menampilkan beberapa informasi dari database MySQL. Jika Anda belum terbiasa dengan dasar-dasar cara menggunakan AWS OpsWorks Stacks, Anda harus membaca Memulai dengan Chef 11 Linux Stacks terlebih dahulu.

Aplikasi SimpleJSP

Aplikasi SimpleJSP menunjukkan dasar-dasar cara mengatur koneksi database dan mengambil data dari database MySQL stack.

<html> <head> <title>DB Access</title> </head> <body> <%@ page language="java" import="java.sql.*,javax.naming.*,javax.sql.*" %> <% StringBuffer output = new StringBuffer(); DataSource ds = null; Connection con = null; Statement stmt = null; ResultSet rs = null; try { Context initCtx = new InitialContext(); ds = (DataSource) initCtx.lookup("java:comp/env/jdbc/mydb"); con = ds.getConnection(); output.append("Databases found:<br>"); stmt = con.createStatement(); rs = stmt.executeQuery("show databases"); while (rs.next()) { output.append(rs.getString(1)); output.append("<br>"); } } catch (Exception e) { output.append("Exception: "); output.append(e.getMessage()); output.append("<br>"); } finally { try { if (rs != null) { rs.close(); } if (stmt != null) { stmt.close(); } if (con != null) { con.close(); } } catch (Exception e) { output.append("Exception (during close of connection): "); output.append(e.getMessage()); output.append("<br>"); } } %> <%= output.toString() %> </body> </html>

SimpleJSP menggunakan DataSource objek untuk berkomunikasi dengan database MySQL. Tomcat menggunakan data dalam file konfigurasi konteks aplikasi web untuk membuat dan menginisialisasi DataSource objek dan mengikatnya ke nama logis. Kemudian mendaftarkan nama logis dengan layanan penamaan Java Naming and Directory Interface (JNDI). Untuk mendapatkan instance dari DataSource objek yang sesuai, Anda membuat InitialContext objek dan meneruskan nama logis sumber daya ke lookup metode objek, yang mengambil objek yang sesuai. Nama logis contoh SimpleJSP,java:comp/env/jdbc/mydb, memiliki komponen berikut:

  • Namespace root,java, yang dipisahkan dari sisa nama dengan titik dua (:).

  • Setiap ruang nama tambahan, dipisahkan oleh garis miring (/).

    Tomcat secara otomatis menambahkan sumber daya ke comp/env namespace.

  • Nama resource, yang didefinisikan dalam file konfigurasi konteks aplikasi web dan dipisahkan dari ruang nama dengan garis miring ke depan.

    Nama sumber daya untuk contoh ini adalahjdbc/mydb.

Untuk membuat koneksi ke database, SimpleJSP melakukan hal berikut:

  1. Memanggil getConnection metode DataSource objek, yang mengembalikan Connection objek.

  2. Memanggil createStatement metode Connection objek untuk membuat Statement objek, yang Anda gunakan untuk berkomunikasi dengan database.

  3. Berkomunikasi dengan database dengan memanggil Statement metode yang sesuai.

    SimpleJSP memanggil executeQuery untuk mengeksekusi query SHOW DATABASES, yang mencantumkan database server.

executeQueryMetode mengembalikan ResultSet objek, yang berisi hasil query. SimpleJSP mendapatkan nama database dari ResultSet objek yang dikembalikan dan menggabungkan mereka untuk membuat string output. Akhirnya, contoh menutupResultSet,Statement, dan Connection objek. Untuk informasi lebih lanjut tentang JSP dan JDBC, lihat JavaServer Pages Technology dan JDBC Basics, masing-masing.

Untuk menggunakan SimpleJSP dengan tumpukan, Anda harus memasukkannya ke dalam repositori. Anda dapat menggunakan salah satu repositori yang didukung, tetapi untuk menggunakan SimpleJSP dengan tumpukan contoh yang dibahas di bagian berikut, Anda harus memasukkannya ke dalam arsip S3 publik. Untuk informasi tentang cara menggunakan repositori standar lainnya, lihat. Repositori Buku Masak

Untuk menempatkan SimpleJSP di repositori arsip S3
  1. Salin kode contoh ke file bernama simplejsp.jsp dan letakkan file dalam direktori bernamasimplejsp.

  2. Buat .zip arsip simplejsp direktori.

  3. Buat bucket Amazon S3 publik, unggah simplejsp.zip ke bucket, dan buat file menjadi publik.

    Untuk penjelasan tentang cara melakukan tugas ini, lihat Memulai Dengan Amazon Simple Storage Service.

Buat Stack

Untuk menjalankan SimpleJSP Anda memerlukan tumpukan dengan lapisan berikut.

  • Lapisan MySQL, yang mendukung server MySQL back end.

  • Lapisan khusus yang menggunakan buku masak Tomcat untuk mendukung instance server Tomcat.

Untuk membuat tumpukan
  1. Di dasbor AWS OpsWorks Stacks, klik Add Stack untuk membuat tumpukan baru dan klik Advanced >> untuk menampilkan semua opsi. Konfigurasikan tumpukan sebagai berikut.

    • Nama —Nama tumpukan yang ditentukan pengguna; contoh ini menggunakan. TomStack

    • Gunakan buku masak Chef kustom —Atur sakelar ke Ya, yang menampilkan beberapa opsi tambahan.

    • Jenis repositori —Git.

    • URL Repositori —. git://github.com/amazonwebservices/opsworks-example-cookbooks.git

    • Custom Chef JSON —Tambahkan JSON berikut:

      { "tomcat": { "base_version": 7, "java_opts": "-Djava.awt.headless=true -Xmx256m" }, "datasources": { "ROOT": "jdbc/mydb" } }

    Untuk opsi yang tersisa, Anda dapat menerima default.

    JSON kustom melakukan hal berikut:

    • Mengganti ['base_version'] atribut buku masak Tomcat untuk mengatur versi Tomcat ke 7; nilai defaultnya adalah 6.

    • Mengganti ['java_opts'] atribut buku masak Tomcat untuk menentukan bahwa instance tanpa kepala dan menyetel ukuran heap maksimum JVM ke 256MB; nilai default tidak menetapkan opsi untuk instance yang menjalankan Amazon Linux.

    • Menentukan nilai ['datasources] atribut, yang menetapkan nama sumber daya JDBC (jdbc/mydb) ke nama konteks aplikasi web (ROOT), seperti yang dibahas dalam. kucing jantan: :konteks

      Atribut terakhir ini tidak memiliki nilai default; Anda harus mengaturnya dengan JSON kustom.

  2. Klik Tambahkan layer. Untuk tipe Layer, pilih MySQL. Kemudian klik Add Layer.

  3. Klik Instans di panel navigasi dan kemudian klik Tambahkan instance. Klik Add Instance untuk menerima default. Pada baris untuk contoh, klik mulai.

  4. Kembali ke halaman Layers dan klik + Layer untuk menambahkan layer. Untuk jenis Layer, klik Custom .s Contoh menggunakan TomCustom dan tomcustom sebagai nama layer dan nama pendek, masing-masing.

  5. Pada halaman Layers, untuk layer kustom, klik Resep dan kemudian klik Edit. Di bawah Resep Koki Khusus, tetapkan resep buku masak Tomcat ke acara siklus hidup lapisan, sebagai berikut:

    • Untuk Pengaturan, ketik tomcat::setup dan klik +.

    • Untuk Konfigurasi, ketik tomcat::configure dan klik +.

    • Untuk Deploy, ketik tomcat::deploy dan klik +. Kemudian klik Simpan.

      .

  6. Klik Aplikasi di panel navigasi dan kemudian klik Tambahkan aplikasi. Tentukan opsi berikut, lalu klik Tambahkan Aplikasi:

    • Nama —Nama aplikasi; contohnya menggunakan SimpleJSP dan nama pendek yang dihasilkan oleh AWS OpsWorks Stacks adalah simplejsp.

    • Jenis aplikasi —Atur opsi ini ke Lainnya.

      AWS OpsWorksStacks secara otomatis menerapkan tipe aplikasi standar ke instance server terkait. Jika Anda menyetel jenis Aplikasi ke yang lain, AWS OpsWorks Stacks cukup menjalankan resep Deploy, dan memungkinkan mereka menangani penerapan.

    • Root dokumen —Atur opsi ini keROOT.

      Nilai root Document menentukan nama konteks.

    • Jenis repositori —Atur opsi ini ke Arsip S3.

    • URL Repositori —Setel ini ke URL Amazon S3 aplikasi yang Anda buat sebelumnya.

    Gunakan pengaturan default untuk opsi lain.

  7. Gunakan halaman Instances untuk menambahkan instance ke TomCustom layer dan memulainya. AWS OpsWorks Stacks secara otomatis menjalankan resep Deploy pada instance baru setelah resep Setup selesai, jadi memulai instance juga menyebarkan SimpleJSP.

  8. Saat TomCustom instance online, klik nama instance di halaman Instances untuk melihat detailnya. Salin alamat IP publik. Kemudian buat URL sebagai berikut: http://PublicIP /tc/ appname.jsp. Sebagai contoh, URL ini akan terlihat sepertihttp://50.218.191.172/tc/simplejsp.jsp.

    catatan

    URL Apache yang meneruskan permintaan ke Tomcat diatur ke atribut default['tomcat']['apache_tomcat_bind_path'],. /tc/ Root dokumen SimpleJSP diatur ke ROOT mana merupakan nilai khusus yang diselesaikan. / Oleh karena itu URL adalah “... /tc/simplejsp.jsp”.

  9. Tempel URL dari langkah sebelumnya ke browser Anda. Anda akan melihat yang berikut ini:

    Databases found: information_schema simplejsp test
    catatan

    Jika tumpukan Anda memiliki instance MySQLAWS OpsWorks, Stacks secara otomatis membuat database untuk setiap aplikasi, dinamai dengan nama pendek aplikasi.