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 Stacks Layanan ini mencapai akhir masa pakai pada 26 Mei 2024 dan telah dinonaktifkan untuk pelanggan baru dan yang sudah ada. Kami sangat menyarankan pelanggan untuk memindahkan beban kerja mereka ke solusi lain sesegera mungkin. Jika Anda memiliki pertanyaan tentang migrasi, hubungi AWS Dukungan Tim di AWS re:Post atau melalui AWS Dukungan Premium.

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

JSPAplikasi Sederhana

JSPAplikasi Simple menunjukkan dasar-dasar cara mengatur koneksi database dan mengambil data dari database My SQL 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>

Simple JSP menggunakan DataSource objek untuk berkomunikasi dengan SQL database Saya. 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 dan 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 JSP contoh Sederhana,java:comp/env/jdbc/mydb, memiliki komponen-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, Simple JSP 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.

    JSPPanggilan sederhana executeQuery untuk mengeksekusi SHOW DATABASES query, yang mencantumkan database server.

executeQueryMetode mengembalikan ResultSet objek, yang berisi hasil query. Simple JSP mendapatkan nama database dari ResultSet objek yang dikembalikan dan menggabungkan mereka untuk membuat string output. Akhirnya, contoh menutupResultSet,Statement, dan Connection objek. Untuk informasi selengkapnya tentang JSP danJDBC, lihat JavaServer Pages Technology and JDBCBasics, masing-masing.

Untuk menggunakan Simple JSP dengan tumpukan, Anda harus memasukkannya ke dalam repositori. Anda dapat menggunakan salah satu repositori yang didukung, tetapi untuk menggunakan Simple JSP 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 Simple JSP dalam 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 Simple JSP Anda memerlukan tumpukan dengan lapisan berikut.

  • SQLLapisan saya, yang mendukung bagian belakang SQL Server saya.

  • 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.

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

    • Custom Chef JSON —Tambahkan yang berikut ini: JSON

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

    Untuk opsi yang tersisa, Anda dapat menerima default.

    Kustom JSON 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 JVM maksimum ke 256MB; nilai default tidak menetapkan opsi untuk instance yang menjalankan Amazon Linux.

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

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

    Configuration Management interface showing Chef version options and custom JSON input field.
  2. Klik Tambahkan layer. Untuk tipe Layer, pilih My SQL. 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.

    Add Layer form with Custom layer type, Name, and Short name fields for creating a customized layer.
  5. Pada halaman Layers, untuk layer kustom, klik Resep dan kemudian klik Edit. Di bawah Resep Koki Kustom, 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.

      .

    Custom Chef Recipes interface showing setup, configure, and deploy steps with options.
  6. Klik Aplikasi di panel navigasi dan kemudian klik Tambahkan aplikasi. Tentukan opsi berikut, lalu klik Tambahkan Aplikasi:

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

    • Jenis aplikasi —Atur opsi ini ke Lainnya.

      AWS OpsWorks Stacks 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.

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

    Gunakan pengaturan default untuk opsi lain.

    Application settings form with fields for name, app type, document root, and source details.
  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 menerapkan Simple. JSP

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

    catatan

    Apache URL yang meneruskan permintaan ke Tomcat diatur ke atribut default['tomcat']['apache_tomcat_bind_path'],. /tc/ Root JSP dokumen Simple 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 SQL instans Saya, AWS OpsWorks Stacks secara otomatis membuat database untuk setiap aplikasi, dinamai dengan nama pendek aplikasi.