Giáo án wordpress

Hướng dẫn này mô tả cách khởi chạy một phiên bản Amazon RDS DB bên ngoài AWS Elastic Beanstalk, sau đó là cách định cấu hình môi trường có độ sẵn sàng cao chạy một trang web WordPress để kết nối với nó. Trang web sử dụng Hệ thống tệp đàn hồi của Amazon (Amazon EFS) làm bộ lưu trữ dùng chung cho các tệp đã tải lên

Việc chạy một phiên bản CSDL bên ngoài Elastic Beanstalk sẽ tách cơ sở dữ liệu khỏi vòng đời của môi trường của bạn. Điều này cho phép bạn kết nối với cùng một cơ sở dữ liệu từ nhiều môi trường, trao đổi cơ sở dữ liệu này với cơ sở dữ liệu khác hoặc thực hiện triển khai xanh lam/xanh lá cây mà không ảnh hưởng đến cơ sở dữ liệu của bạn

Hướng dẫn này được phát triển với phiên bản WordPress 4. 9. 5 và PHP7. 0

Để biết thông tin hiện tại về khả năng tương thích của các bản phát hành PHP với các phiên bản WordPress, hãy xem Khả năng tương thích PHP và Phiên bản WordPress trên trang web WordPress. Bạn nên tham khảo thông tin này trước khi nâng cấp lên bản phát hành PHP mới để triển khai WordPress của mình

điều kiện tiên quyết

Hướng dẫn này giả định rằng bạn đã có kiến ​​thức về các hoạt động cơ bản của Elastic Beanstalk và bảng điều khiển Elastic Beanstalk. Nếu bạn chưa làm, hãy làm theo hướng dẫn trong Bắt đầu sử dụng Elastic Beanstalk để khởi chạy môi trường Elastic Beanstalk đầu tiên của bạn

Để làm theo các quy trình trong hướng dẫn này, bạn sẽ cần một thiết bị đầu cuối dòng lệnh hoặc shell để chạy các lệnh. Các lệnh được hiển thị trong danh sách trước dấu nhắc ($) và tên của thư mục hiện tại, khi thích hợp

~/eb-project$ this is a command
this is output

Trên Linux và macOS, bạn có thể sử dụng trình quản lý gói và shell ưa thích của mình. Trên Windows 10, bạn có thể cài đặt Hệ thống con Windows cho Linux để có phiên bản Ubuntu và Bash tích hợp Windows

VPC mặc định

Quy trình Amazon Relational Database Service (Amazon RDS) trong hướng dẫn này giả định rằng bạn đang khởi chạy tài nguyên trong Amazon Virtual Private Cloud (Amazon VPC) mặc định. Tất cả các tài khoản mới bao gồm một VPC mặc định trong mỗi Khu vực AWS. Nếu bạn không có VPC mặc định, quy trình sẽ thay đổi. Xem Sử dụng Elastic Beanstalk với Amazon RDS để biết hướng dẫn về nền tảng EC2-Classic và VPC tùy chỉnh

Khu vực AWS

Ứng dụng mẫu sử dụng Amazon EFS, chỉ hoạt động ở các Khu vực AWS hỗ trợ Amazon EFS. Để tìm hiểu về các Khu vực AWS được hỗ trợ, hãy xem Điểm cuối và hạn ngạch của hệ thống tệp đàn hồi Amazon trong Tài liệu tham khảo chung về AWS

Khởi chạy một phiên bản CSDL trong Amazon RDS

Khi bạn khởi chạy một phiên bản với Amazon RDS, phiên bản đó hoàn toàn độc lập với Elastic Beanstalk và môi trường Elastic Beanstalk của bạn, đồng thời sẽ không bị Elastic Beanstalk chấm dứt hoặc giám sát

Trong các bước sau, bạn sẽ sử dụng bảng điều khiển Amazon RDS để

  • Khởi chạy cơ sở dữ liệu với công cụ MySQL

  • Kích hoạt triển khai Multi-AZ. Điều này tạo ra một chế độ chờ trong Vùng sẵn sàng (AZ) khác để cung cấp dự phòng dữ liệu, loại bỏ tình trạng đóng băng I/O và giảm thiểu độ trễ đột biến trong quá trình sao lưu hệ thống

Để khởi chạy phiên bản RDS DB trong VPC mặc định

  1. Mở bảng điều khiển RDS

  2. Trong ngăn điều hướng, chọn Cơ sở dữ liệu

  3. Chọn Tạo cơ sở dữ liệu

  4. Chọn Chuẩn Tạo

    Không chọn Easy Create. Nếu bạn chọn nó, bạn không thể định cấu hình các cài đặt cần thiết để khởi chạy RDS DB này

  5. Trong Cấu hình bổ sung, đối với Tên cơ sở dữ liệu ban đầu, hãy nhập

     ~/wordpress-beanstalk$ unzip ../eb-php-wordpress-v1.zip
      creating: .ebextensions/
     inflating: .ebextensions/dev.config
     inflating: .ebextensions/efs-create.config
     inflating: .ebextensions/efs-mount.config
     inflating: .ebextensions/loadbalancer-sg.config
     inflating: .ebextensions/wordpress.config
     inflating: LICENSE
     inflating: README.md
     inflating: wp-config.php
    1

  6. Xem lại cài đặt mặc định và điều chỉnh các cài đặt này theo yêu cầu cụ thể của bạn. Hãy chú ý đến các tùy chọn sau

    • Lớp phiên bản CSDL – Chọn kích thước phiên bản có dung lượng bộ nhớ và sức mạnh CPU phù hợp với khối lượng công việc của bạn

    • Triển khai Multi-AZ – Để có tính sẵn sàng cao, hãy đặt tùy chọn này thành Tạo nút Bản sao/Bộ đọc Aurora trong một AZ khác

    • Tên người dùng chính và Mật khẩu chính – Tên người dùng và mật khẩu cơ sở dữ liệu. Ghi lại các cài đặt này vì bạn sẽ sử dụng chúng sau này

  7. Xác minh cài đặt mặc định cho các tùy chọn còn lại, sau đó chọn Tạo cơ sở dữ liệu

Sau khi phiên bản CSDL của bạn được tạo, hãy sửa đổi nhóm bảo mật được đính kèm với phiên bản đó để cho phép lưu lượng truy cập vào trên cổng thích hợp

Đây cũng chính là nhóm bảo mật mà bạn sẽ đính kèm vào môi trường Elastic Beanstalk sau này, vì vậy, quy tắc mà bạn thêm bây giờ sẽ cấp quyền truy cập cho các tài nguyên khác trong cùng một nhóm bảo mật

Để sửa đổi các quy tắc gửi đến trên nhóm bảo mật được đính kèm với phiên bản RDS của bạn

  1. Mở bảng điều khiển Amazon RDS

  2. Chọn cơ sở dữ liệu

  3. Chọn tên phiên bản CSDL của bạn để xem thông tin chi tiết

  4. Trong phần Kết nối, hãy ghi lại các Mạng con, Nhóm bảo mật và Điểm cuối được hiển thị trên trang này. Điều này là để bạn có thể sử dụng thông tin này sau

  5. Trong Bảo mật, bạn có thể thấy nhóm bảo mật được liên kết với phiên bản CSDL. Mở liên kết để xem nhóm bảo mật trong bảng điều khiển Amazon EC2

    Giáo án wordpress

  6. Trong chi tiết nhóm bảo mật, chọn Inbound

  7. Chọn Chỉnh sửa

  8. Chọn Thêm quy tắc

  9. Đối với Loại, hãy chọn công cụ DB mà ứng dụng của bạn sử dụng

  10. Đối với Nguồn, hãy nhập

    ~$ curl https://wordpress.org/wordpress-4.9.5.tar.gz -o wordpress.tar.gz
    0 để xem danh sách các nhóm bảo mật khả dụng. Chọn nhóm bảo mật được liên kết với nhóm Auto Scaling được sử dụng với môi trường Elastic Beanstalk của bạn. Điều này là để các phiên bản Amazon EC2 trong môi trường có thể truy cập vào cơ sở dữ liệu

    Giáo án wordpress

  11. Chọn Lưu

Tạo phiên bản CSDL mất khoảng 10 phút. Trong thời gian chờ đợi, hãy tải xuống WordPress và tạo môi trường Elastic Beanstalk của bạn

Tải xuống WordPress

Để chuẩn bị triển khai WordPress bằng AWS Elastic Beanstalk, bạn phải sao chép các tệp WordPress vào máy tính của mình và cung cấp thông tin cấu hình chính xác

Để tạo một dự án WordPress

  1. Tải xuống WordPress từ wordpress. tổ chức

    ~$ curl https://wordpress.org/wordpress-4.9.5.tar.gz -o wordpress.tar.gz
  2. Tải xuống các tệp cấu hình từ kho lưu trữ mẫu

    ~$ wget https://github.com/aws-samples/eb-php-wordpress/releases/download/v1.1/eb-php-wordpress-v1.zip
  3. Giải nén WordPress và đổi tên thư mục

     ~$ tar -xvf wordpress.tar.gz
     ~$ mv wordpress wordpress-beanstalk
     ~$ cd wordpress-beanstalk
  4. Giải nén các tệp cấu hình qua cài đặt WordPress

     ~/wordpress-beanstalk$ unzip ../eb-php-wordpress-v1.zip
      creating: .ebextensions/
     inflating: .ebextensions/dev.config
     inflating: .ebextensions/efs-create.config
     inflating: .ebextensions/efs-mount.config
     inflating: .ebextensions/loadbalancer-sg.config
     inflating: .ebextensions/wordpress.config
     inflating: LICENSE
     inflating: README.md
     inflating: wp-config.php

Khởi chạy môi trường Elastic Beanstalk

Sử dụng bảng điều khiển Elastic Beanstalk để tạo môi trường Elastic Beanstalk. Sau khi khởi chạy môi trường, bạn có thể định cấu hình để kết nối với cơ sở dữ liệu, sau đó triển khai mã WordPress vào môi trường

Trong các bước sau, bạn sẽ sử dụng bảng điều khiển Elastic Beanstalk để

  • Tạo một ứng dụng Beanstalk đàn hồi bằng cách sử dụng nền tảng PHP được quản lý

  • Chấp nhận cài đặt mặc định và mã mẫu

Để khởi chạy một môi trường (bảng điều khiển)

Quá trình tạo môi trường mất khoảng năm phút và tạo các tài nguyên sau

  • Phiên bản EC2 – Máy ảo Amazon Elastic Compute Cloud (Amazon EC2) được định cấu hình để chạy các ứng dụng web trên nền tảng mà bạn chọn

    Mỗi nền tảng chạy một bộ phần mềm, tệp cấu hình và tập lệnh cụ thể để hỗ trợ một phiên bản ngôn ngữ, khung, bộ chứa web cụ thể hoặc sự kết hợp của những thứ này. Hầu hết các nền tảng sử dụng Apache hoặc NGINX làm proxy ngược đặt trước ứng dụng web của bạn, chuyển tiếp các yêu cầu tới ứng dụng đó, cung cấp nội dung tĩnh và tạo nhật ký truy cập và lỗi

  • Nhóm bảo mật phiên bản – Nhóm bảo mật Amazon EC2 được định cấu hình để cho phép lưu lượng truy cập vào trên cổng 80. Tài nguyên này cho phép lưu lượng HTTP từ bộ cân bằng tải đến phiên bản EC2 đang chạy ứng dụng web của bạn. Theo mặc định, lưu lượng truy cập không được phép trên các cổng khác

  • Bộ cân bằng tải – Bộ cân bằng tải Cân bằng tải đàn hồi được định cấu hình để phân phối các yêu cầu đến các phiên bản đang chạy ứng dụng của bạn. Bộ cân bằng tải cũng loại bỏ nhu cầu hiển thị trực tiếp các phiên bản của bạn với internet

  • Nhóm bảo mật cân bằng tải – Nhóm bảo mật Amazon EC2 được định cấu hình để cho phép lưu lượng truy cập vào trên cổng 80. Tài nguyên này cho phép lưu lượng HTTP từ internet đến bộ cân bằng tải. Theo mặc định, lưu lượng truy cập không được phép trên các cổng khác

  • Auto Scaling group – Nhóm Auto Scaling được định cấu hình để thay thế một phiên bản nếu phiên bản đó bị chấm dứt hoặc không khả dụng

  • Bộ chứa Amazon S3 – Một vị trí lưu trữ mã nguồn, nhật ký và các thành phần tạo tác phẩm khác được tạo khi bạn sử dụng Elastic Beanstalk

  • Cảnh báo Amazon CloudWatch – Hai cảnh báo CloudWatch theo dõi tải trên các phiên bản trong môi trường của bạn và được kích hoạt nếu tải quá cao hoặc quá thấp. Khi báo thức được kích hoạt, nhóm Auto Scaling của bạn sẽ tăng hoặc giảm tỷ lệ để phản hồi

  • Ngăn xếp AWS CloudFormation – Bean Beanalk đàn hồi sử dụng AWS CloudFormation để khởi chạy tài nguyên trong môi trường của bạn và phổ biến các thay đổi cấu hình. Các tài nguyên được xác định trong một mẫu mà bạn có thể xem trong bảng điều khiển AWS CloudFormation

  • Tên miền – Một tên miền định tuyến đến ứng dụng web của bạn ở dạng

    ~$ curl https://wordpress.org/wordpress-4.9.5.tar.gz -o wordpress.tar.gz
    1.
    ~$ curl https://wordpress.org/wordpress-4.9.5.tar.gz -o wordpress.tar.gz
    2. đàn hồi. com

Tất cả các tài nguyên này được quản lý bởi Elastic Beanstalk. Khi bạn chấm dứt môi trường của mình, Elastic Beanstalk sẽ chấm dứt tất cả các tài nguyên chứa trong đó

Vì phiên bản Amazon RDS mà bạn khởi chạy nằm ngoài môi trường của bạn nên bạn chịu trách nhiệm quản lý vòng đời của nó

Bộ chứa Amazon S3 mà Elastic Beanstalk tạo được chia sẻ giữa các môi trường và không bị xóa trong quá trình chấm dứt môi trường. Để biết thêm thông tin, xem Sử dụng Elastic Beanstalk với Amazon S3

Định cấu hình nhóm bảo mật và thuộc tính môi trường

Thêm nhóm bảo mật của phiên bản CSDL vào môi trường đang chạy của bạn. Quy trình này khiến Bean Beanalk cung cấp lại tất cả các phiên bản trong môi trường của bạn với nhóm bảo mật bổ sung được đính kèm

Để thêm một nhóm bảo mật vào môi trường của bạn

  • làm một điều trong số sau đây

    • Để thêm một nhóm bảo mật bằng bảng điều khiển Elastic Beanstalk

      1. Mở bảng điều khiển Elastic Beanstalk và trong danh sách Khu vực, hãy chọn Khu vực AWS của bạn

      2. Trong ngăn điều hướng, chọn Môi trường rồi chọn tên môi trường của bạn từ danh sách

        Nếu bạn có nhiều môi trường, hãy sử dụng thanh tìm kiếm để lọc danh sách môi trường

      3. Trong ngăn điều hướng, chọn Cấu hình

      4. Trong danh mục Cấu hình phiên bản, chọn Chỉnh sửa

      5. Trong nhóm bảo mật EC2, hãy chọn nhóm bảo mật để đính kèm vào phiên bản, ngoài nhóm bảo mật phiên bản mà Elastic Beanstalk tạo

      6. Chọn Áp dụng

      7. Đọc cảnh báo rồi chọn Xác nhận

    • Để thêm nhóm bảo mật bằng tệp cấu hình, hãy sử dụng tệp

      ~$ curl https://wordpress.org/wordpress-4.9.5.tar.gz -o wordpress.tar.gz
      3example

Tiếp theo, hãy sử dụng thuộc tính môi trường để chuyển thông tin kết nối đến môi trường của bạn

Ứng dụng WordPress sử dụng một bộ thuộc tính mặc định khớp với những thuộc tính mà Elastic Beanstalk định cấu hình khi bạn cung cấp cơ sở dữ liệu trong môi trường của mình

Để định cấu hình thuộc tính môi trường cho phiên bản Amazon RDS DB

  1. Mở bảng điều khiển Elastic Beanstalk và trong danh sách Khu vực, hãy chọn Khu vực AWS của bạn

  2. Trong ngăn điều hướng, chọn Môi trường rồi chọn tên môi trường của bạn từ danh sách

    Nếu bạn có nhiều môi trường, hãy sử dụng thanh tìm kiếm để lọc danh sách môi trường

  3. Trong ngăn điều hướng, chọn Cấu hình

  4. Trong danh mục Cấu hình phần mềm, chọn Chỉnh sửa

  5. Trong phần Thuộc tính môi trường, hãy xác định các biến mà ứng dụng của bạn đọc để tạo chuỗi kết nối. Để tương thích với các môi trường có phiên bản RDS DB tích hợp, hãy sử dụng các tên và giá trị sau. Bạn có thể tìm thấy tất cả các giá trị, ngoại trừ mật khẩu của mình, trong bảng điều khiển RDS

    Tên thuộc tính Mô tả Giá trị thuộc tính

    ~$ curl https://wordpress.org/wordpress-4.9.5.tar.gz -o wordpress.tar.gz
    4

    Tên máy chủ của phiên bản CSDL

    Trên tab Kết nối & bảo mật trên bảng điều khiển Amazon RDS. điểm cuối

    ~$ curl https://wordpress.org/wordpress-4.9.5.tar.gz -o wordpress.tar.gz
    5

    Cổng nơi phiên bản CSDL chấp nhận kết nối. Giá trị mặc định khác nhau giữa các công cụ DB

    Trên tab Kết nối & bảo mật trên bảng điều khiển Amazon RDS. Hải cảng

    ~$ curl https://wordpress.org/wordpress-4.9.5.tar.gz -o wordpress.tar.gz
    6

    Tên cơ sở dữ liệu,

     ~/wordpress-beanstalk$ unzip ../eb-php-wordpress-v1.zip
      creating: .ebextensions/
     inflating: .ebextensions/dev.config
     inflating: .ebextensions/efs-create.config
     inflating: .ebextensions/efs-mount.config
     inflating: .ebextensions/loadbalancer-sg.config
     inflating: .ebextensions/wordpress.config
     inflating: LICENSE
     inflating: README.md
     inflating: wp-config.php
    1

    Trên tab Cấu hình trên bảng điều khiển Amazon RDS. Tên cơ sở dữ liệu

    ~$ curl https://wordpress.org/wordpress-4.9.5.tar.gz -o wordpress.tar.gz
    8

    Tên người dùng mà bạn đã định cấu hình cho cơ sở dữ liệu của mình

    Trên tab Cấu hình trên bảng điều khiển Amazon RDS. tên người dùng chính

    ~$ curl https://wordpress.org/wordpress-4.9.5.tar.gz -o wordpress.tar.gz
    9

    Mật khẩu mà bạn đã cấu hình cho cơ sở dữ liệu của mình

    Không có sẵn để tham khảo trong bảng điều khiển Amazon RDS

    Giáo án wordpress

  6. Chọn Áp dụng

Định cấu hình và triển khai ứng dụng của bạn

Xác minh rằng cấu trúc của thư mục

~$ wget https://github.com/aws-samples/eb-php-wordpress/releases/download/v1.1/eb-php-wordpress-v1.zip
0 của bạn là chính xác, như được hiển thị

~$ curl https://wordpress.org/wordpress-4.9.5.tar.gz -o wordpress.tar.gz
5

Tệp

~$ wget https://github.com/aws-samples/eb-php-wordpress/releases/download/v1.1/eb-php-wordpress-v1.zip
1 tùy chỉnh từ repo dự án sử dụng các biến môi trường mà bạn đã xác định ở bước trước để định cấu hình kết nối cơ sở dữ liệu. Thư mục
~$ wget https://github.com/aws-samples/eb-php-wordpress/releases/download/v1.1/eb-php-wordpress-v1.zip
2 chứa các tệp cấu hình tạo tài nguyên bổ sung trong môi trường Elastic Beanstalk của bạn

Các tệp cấu hình yêu cầu sửa đổi để hoạt động với tài khoản của bạn. Thay thế các giá trị giữ chỗ trong tệp bằng ID thích hợp và tạo gói nguồn

Để cập nhật tệp cấu hình và tạo gói nguồn

  1. Sửa đổi các tập tin cấu hình như sau

    • ~$ wget https://github.com/aws-samples/eb-php-wordpress/releases/download/v1.1/eb-php-wordpress-v1.zip
      3 – Hạn chế quyền truy cập vào môi trường của bạn để bảo vệ nó trong quá trình cài đặt WordPress. Thay thế địa chỉ IP giữ chỗ gần đầu tệp bằng địa chỉ IP công cộng của máy tính mà bạn sẽ sử dụng để truy cập trang web của môi trường để hoàn tất cài đặt WordPress của mình

      Tùy thuộc vào mạng của bạn, bạn có thể cần sử dụng khối địa chỉ IP

    • ~$ wget https://github.com/aws-samples/eb-php-wordpress/releases/download/v1.1/eb-php-wordpress-v1.zip
      4 – Tạo hệ thống tệp EFS và gắn các điểm trong từng Vùng sẵn sàng/mạng con trong VPC của bạn. Xác định ID mạng con và VPC mặc định của bạn trong bảng điều khiển Amazon VPC

  2. Tạo một gói nguồn chứa các tệp trong thư mục dự án của bạn. Lệnh sau tạo một gói nguồn có tên

    ~$ wget https://github.com/aws-samples/eb-php-wordpress/releases/download/v1.1/eb-php-wordpress-v1.zip
    5

    ~$ curl https://wordpress.org/wordpress-4.9.5.tar.gz -o wordpress.tar.gz
    1

Tải gói nguồn lên Elastic Beanstalk để triển khai WordPress cho môi trường của bạn

Để triển khai gói nguồn

  1. Mở bảng điều khiển Elastic Beanstalk và trong danh sách Khu vực, hãy chọn Khu vực AWS của bạn

  2. Trong ngăn điều hướng, chọn Môi trường rồi chọn tên môi trường của bạn từ danh sách

    Nếu bạn có nhiều môi trường, hãy sử dụng thanh tìm kiếm để lọc danh sách môi trường

  3. Trên trang tổng quan về môi trường, chọn Tải lên và triển khai

  4. Sử dụng hộp thoại trên màn hình để tải gói nguồn lên

  5. Chọn triển khai

  6. Khi quá trình triển khai hoàn tất, bạn có thể chọn URL trang web để mở trang web của mình trong tab mới

Cài đặt WordPress

Để hoàn tất cài đặt WordPress của bạn

  1. Mở bảng điều khiển Elastic Beanstalk và trong danh sách Khu vực, hãy chọn Khu vực AWS của bạn

  2. Trong ngăn điều hướng, chọn Môi trường rồi chọn tên môi trường của bạn từ danh sách

    Nếu bạn có nhiều môi trường, hãy sử dụng thanh tìm kiếm để lọc danh sách môi trường

  3. Chọn URL môi trường để mở trang web của bạn trong trình duyệt. Bạn được chuyển hướng đến trình hướng dẫn cài đặt WordPress vì bạn chưa định cấu hình trang web

  4. Tiến hành cài đặt tiêu chuẩn. Tệp

    ~$ wget https://github.com/aws-samples/eb-php-wordpress/releases/download/v1.1/eb-php-wordpress-v1.zip
    1 đã có trong mã nguồn và được định cấu hình để đọc thông tin kết nối cơ sở dữ liệu từ môi trường. Bạn không nên được nhắc cấu hình kết nối

Cài đặt mất khoảng một phút để hoàn thành

Tệp cấu hình WordPress

~$ wget https://github.com/aws-samples/eb-php-wordpress/releases/download/v1.1/eb-php-wordpress-v1.zip
1 cũng đọc các giá trị cho khóa và muối từ thuộc tính môi trường. Hiện tại, các thuộc tính này đều được đặt thành
~$ wget https://github.com/aws-samples/eb-php-wordpress/releases/download/v1.1/eb-php-wordpress-v1.zip
8 bởi tệp
~$ wget https://github.com/aws-samples/eb-php-wordpress/releases/download/v1.1/eb-php-wordpress-v1.zip
9 trong thư mục
~$ wget https://github.com/aws-samples/eb-php-wordpress/releases/download/v1.1/eb-php-wordpress-v1.zip
2

Muối băm có thể là bất kỳ giá trị nào đáp ứng các yêu cầu về thuộc tính môi trường, nhưng bạn không nên lưu trữ nó trong kiểm soát nguồn. Sử dụng bảng điều khiển Elastic Beanstalk để đặt các thuộc tính này trực tiếp trên môi trường

Để cập nhật thuộc tính môi trường

  1. Mở bảng điều khiển Elastic Beanstalk và trong danh sách Khu vực, hãy chọn Khu vực AWS của bạn

  2. Trong ngăn điều hướng, chọn Môi trường rồi chọn tên môi trường của bạn từ danh sách

    Nếu bạn có nhiều môi trường, hãy sử dụng thanh tìm kiếm để lọc danh sách môi trường

  3. Trên ngăn điều hướng, chọn Cấu hình

  4. Trong Phần mềm, chọn Chỉnh sửa

  5. Đối với

     ~$ tar -xvf wordpress.tar.gz
     ~$ mv wordpress wordpress-beanstalk
     ~$ cd wordpress-beanstalk
    1, sửa đổi các thuộc tính sau

    •  ~$ tar -xvf wordpress.tar.gz
       ~$ mv wordpress wordpress-beanstalk
       ~$ cd wordpress-beanstalk
      2 – Giá trị được chọn cho
       ~$ tar -xvf wordpress.tar.gz
       ~$ mv wordpress wordpress-beanstalk
       ~$ cd wordpress-beanstalk
      2

    •  ~$ tar -xvf wordpress.tar.gz
       ~$ mv wordpress wordpress-beanstalk
       ~$ cd wordpress-beanstalk
      4 – Giá trị được chọn cho
       ~$ tar -xvf wordpress.tar.gz
       ~$ mv wordpress wordpress-beanstalk
       ~$ cd wordpress-beanstalk
      4

    •  ~$ tar -xvf wordpress.tar.gz
       ~$ mv wordpress wordpress-beanstalk
       ~$ cd wordpress-beanstalk
      6 – Giá trị được chọn cho
       ~$ tar -xvf wordpress.tar.gz
       ~$ mv wordpress wordpress-beanstalk
       ~$ cd wordpress-beanstalk
      6

    •  ~$ tar -xvf wordpress.tar.gz
       ~$ mv wordpress wordpress-beanstalk
       ~$ cd wordpress-beanstalk
      8 – Giá trị được chọn cho
       ~$ tar -xvf wordpress.tar.gz
       ~$ mv wordpress wordpress-beanstalk
       ~$ cd wordpress-beanstalk
      8

    •  ~/wordpress-beanstalk$ unzip ../eb-php-wordpress-v1.zip
        creating: .ebextensions/
       inflating: .ebextensions/dev.config
       inflating: .ebextensions/efs-create.config
       inflating: .ebextensions/efs-mount.config
       inflating: .ebextensions/loadbalancer-sg.config
       inflating: .ebextensions/wordpress.config
       inflating: LICENSE
       inflating: README.md
       inflating: wp-config.php
      0 – Giá trị được chọn cho
       ~/wordpress-beanstalk$ unzip ../eb-php-wordpress-v1.zip
        creating: .ebextensions/
       inflating: .ebextensions/dev.config
       inflating: .ebextensions/efs-create.config
       inflating: .ebextensions/efs-mount.config
       inflating: .ebextensions/loadbalancer-sg.config
       inflating: .ebextensions/wordpress.config
       inflating: LICENSE
       inflating: README.md
       inflating: wp-config.php
      0

    •  ~/wordpress-beanstalk$ unzip ../eb-php-wordpress-v1.zip
        creating: .ebextensions/
       inflating: .ebextensions/dev.config
       inflating: .ebextensions/efs-create.config
       inflating: .ebextensions/efs-mount.config
       inflating: .ebextensions/loadbalancer-sg.config
       inflating: .ebextensions/wordpress.config
       inflating: LICENSE
       inflating: README.md
       inflating: wp-config.php
      2 – Giá trị được chọn cho
       ~/wordpress-beanstalk$ unzip ../eb-php-wordpress-v1.zip
        creating: .ebextensions/
       inflating: .ebextensions/dev.config
       inflating: .ebextensions/efs-create.config
       inflating: .ebextensions/efs-mount.config
       inflating: .ebextensions/loadbalancer-sg.config
       inflating: .ebextensions/wordpress.config
       inflating: LICENSE
       inflating: README.md
       inflating: wp-config.php
      2

    •  ~/wordpress-beanstalk$ unzip ../eb-php-wordpress-v1.zip
        creating: .ebextensions/
       inflating: .ebextensions/dev.config
       inflating: .ebextensions/efs-create.config
       inflating: .ebextensions/efs-mount.config
       inflating: .ebextensions/loadbalancer-sg.config
       inflating: .ebextensions/wordpress.config
       inflating: LICENSE
       inflating: README.md
       inflating: wp-config.php
      4 – Giá trị được chọn cho
       ~/wordpress-beanstalk$ unzip ../eb-php-wordpress-v1.zip
        creating: .ebextensions/
       inflating: .ebextensions/dev.config
       inflating: .ebextensions/efs-create.config
       inflating: .ebextensions/efs-mount.config
       inflating: .ebextensions/loadbalancer-sg.config
       inflating: .ebextensions/wordpress.config
       inflating: LICENSE
       inflating: README.md
       inflating: wp-config.php
      4

    •  ~/wordpress-beanstalk$ unzip ../eb-php-wordpress-v1.zip
        creating: .ebextensions/
       inflating: .ebextensions/dev.config
       inflating: .ebextensions/efs-create.config
       inflating: .ebextensions/efs-mount.config
       inflating: .ebextensions/loadbalancer-sg.config
       inflating: .ebextensions/wordpress.config
       inflating: LICENSE
       inflating: README.md
       inflating: wp-config.php
      6 — Giá trị được chọn cho
       ~/wordpress-beanstalk$ unzip ../eb-php-wordpress-v1.zip
        creating: .ebextensions/
       inflating: .ebextensions/dev.config
       inflating: .ebextensions/efs-create.config
       inflating: .ebextensions/efs-mount.config
       inflating: .ebextensions/loadbalancer-sg.config
       inflating: .ebextensions/wordpress.config
       inflating: LICENSE
       inflating: README.md
       inflating: wp-config.php
      6

  6. Chọn Áp dụng

Đặt thuộc tính trên môi trường sẽ ghi đè trực tiếp các giá trị trong

~$ wget https://github.com/aws-samples/eb-php-wordpress/releases/download/v1.1/eb-php-wordpress-v1.zip
9

Dự án mẫu bao gồm tệp cấu hình

 ~/wordpress-beanstalk$ unzip ../eb-php-wordpress-v1.zip
  creating: .ebextensions/
 inflating: .ebextensions/dev.config
 inflating: .ebextensions/efs-create.config
 inflating: .ebextensions/efs-mount.config
 inflating: .ebextensions/loadbalancer-sg.config
 inflating: .ebextensions/wordpress.config
 inflating: LICENSE
 inflating: README.md
 inflating: wp-config.php
9. Nó tạo một nhóm bảo mật và gán nó cho bộ cân bằng tải của môi trường, sử dụng địa chỉ IP mà bạn đã định cấu hình trong
~$ curl https://wordpress.org/wordpress-4.9.5.tar.gz -o wordpress.tar.gz
50. Nó hạn chế quyền truy cập HTTP trên cổng 80 đối với các kết nối từ mạng của bạn. Mặt khác, bên ngoài có khả năng kết nối với trang web của bạn trước khi bạn cài đặt WordPress và định cấu hình tài khoản quản trị của mình

Bây giờ bạn đã cài đặt WordPress, hãy xóa tệp cấu hình để mở trang web ra thế giới

Để xóa hạn chế và cập nhật môi trường của bạn

  1. Xóa tệp

    ~$ curl https://wordpress.org/wordpress-4.9.5.tar.gz -o wordpress.tar.gz
    51 khỏi thư mục dự án của bạn

     ~$ tar -xvf wordpress.tar.gz
     ~$ mv wordpress wordpress-beanstalk
     ~$ cd wordpress-beanstalk
    8
  2. Tạo một gói nguồn

     ~$ tar -xvf wordpress.tar.gz
     ~$ mv wordpress wordpress-beanstalk
     ~$ cd wordpress-beanstalk
    9

Tải gói nguồn lên Elastic Beanstalk để triển khai WordPress cho môi trường của bạn

Để triển khai gói nguồn

  1. Mở bảng điều khiển Elastic Beanstalk và trong danh sách Khu vực, hãy chọn Khu vực AWS của bạn

  2. Trong ngăn điều hướng, chọn Môi trường rồi chọn tên môi trường của bạn từ danh sách

    Nếu bạn có nhiều môi trường, hãy sử dụng thanh tìm kiếm để lọc danh sách môi trường

  3. Trên trang tổng quan về môi trường, chọn Tải lên và triển khai

  4. Sử dụng hộp thoại trên màn hình để tải gói nguồn lên

  5. Chọn triển khai

  6. Khi quá trình triển khai hoàn tất, bạn có thể chọn URL trang web để mở trang web của mình trong tab mới

Định cấu hình nhóm Auto Scaling của bạn

Cuối cùng, định cấu hình nhóm Auto Scaling trong môi trường của bạn với số lượng phiên bản tối thiểu cao hơn. Luôn chạy ít nhất hai phiên bản để ngăn các máy chủ web trong môi trường của bạn trở thành một điểm lỗi duy nhất. Điều này cũng cho phép bạn triển khai các thay đổi mà không cần ngừng cung cấp dịch vụ cho trang web của mình

Để định cấu hình nhóm Auto Scaling trong môi trường của bạn để có tính sẵn sàng cao

  1. Mở bảng điều khiển Elastic Beanstalk và trong danh sách Khu vực, hãy chọn Khu vực AWS của bạn

  2. Trong ngăn điều hướng, chọn Môi trường rồi chọn tên môi trường của bạn từ danh sách

    Nếu bạn có nhiều môi trường, hãy sử dụng thanh tìm kiếm để lọc danh sách môi trường

  3. Trong ngăn điều hướng, chọn Cấu hình

  4. Trong danh mục Cấu hình dung lượng, chọn Chỉnh sửa

  5. Trong phần Auto Scaling group, đặt Min instance thành

    ~$ curl https://wordpress.org/wordpress-4.9.5.tar.gz -o wordpress.tar.gz
    52

  6. Chọn Áp dụng

Để hỗ trợ tải nội dung lên trên nhiều phiên bản, dự án mẫu sử dụng Amazon EFS để tạo hệ thống tệp dùng chung. Tạo một bài đăng trên trang web và tải nội dung lên để lưu trữ trên hệ thống tệp được chia sẻ. Xem bài đăng và làm mới trang nhiều lần để truy cập cả hai trường hợp và xác minh rằng hệ thống tệp được chia sẻ đang hoạt động

Nâng cấp WordPress

Để nâng cấp lên phiên bản WordPress mới, hãy sao lưu trang web của bạn và triển khai nó sang một môi trường mới

Không sử dụng chức năng cập nhật trong WordPress hoặc cập nhật tệp nguồn của bạn để sử dụng phiên bản mới. Cả hai hành động này có thể khiến URL bài đăng của bạn trả về lỗi 404 mặc dù chúng vẫn nằm trong cơ sở dữ liệu và hệ thống tệp

Để nâng cấp WordPress

  1. Trong bảng điều khiển dành cho quản trị viên WordPress, hãy sử dụng công cụ xuất để xuất bài đăng của bạn sang tệp XML

  2. Triển khai và cài đặt phiên bản WordPress mới cho Elastic Beanstalk với các bước giống như bạn đã sử dụng để cài đặt phiên bản trước. Để tránh thời gian chết, bạn có thể tạo môi trường với phiên bản mới

  3. Trên phiên bản mới, hãy cài đặt công cụ Trình nhập WordPress trong bảng điều khiển dành cho quản trị viên và sử dụng nó để nhập tệp XML chứa bài đăng của bạn. Nếu các bài đăng được tạo bởi người dùng quản trị trên phiên bản cũ, hãy chỉ định chúng cho người dùng quản trị trên trang web mới thay vì cố gắng nhập người dùng quản trị

  4. Nếu bạn đã triển khai phiên bản mới sang một môi trường riêng biệt, hãy thực hiện hoán đổi CNAME để chuyển hướng người dùng từ trang web cũ sang trang web mới

Dọn dẹp

Khi hoàn thành công việc với Elastic Beanstalk, bạn có thể chấm dứt môi trường của mình. Elastic Beanstalk chấm dứt tất cả các tài nguyên AWS được liên kết với môi trường của bạn, chẳng hạn như phiên bản Amazon EC2, phiên bản cơ sở dữ liệu, bộ cân bằng tải, nhóm bảo mật và cảnh báo

Để chấm dứt môi trường Elastic Beanstalk của bạn

  1. Mở bảng điều khiển Elastic Beanstalk và trong danh sách Khu vực, hãy chọn Khu vực AWS của bạn

  2. Trong ngăn điều hướng, chọn Môi trường rồi chọn tên môi trường của bạn từ danh sách

    Nếu bạn có nhiều môi trường, hãy sử dụng thanh tìm kiếm để lọc danh sách môi trường

  3. Chọn Hành động môi trường rồi chọn Chấm dứt môi trường

  4. Sử dụng hộp thoại trên màn hình để xác nhận chấm dứt môi trường

Với Elastic Beanstalk, bạn có thể dễ dàng tạo môi trường mới cho ứng dụng của mình bất kỳ lúc nào

Ngoài ra, bạn có thể chấm dứt các tài nguyên cơ sở dữ liệu mà bạn đã tạo bên ngoài môi trường Elastic Beanstalk của mình. Khi chấm dứt một phiên bản Amazon RDS DB, bạn có thể chụp nhanh và khôi phục dữ liệu về một phiên bản khác sau

Để chấm dứt phiên bản RDS DB của bạn

  1. Mở bảng điều khiển Amazon RDS

  2. Chọn cơ sở dữ liệu

  3. Chọn phiên bản CSDL của bạn

  4. Chọn Hành động, rồi chọn Xóa

  5. Chọn có tạo ảnh tức thời hay không rồi chọn Xóa

Bước tiếp theo

Khi bạn tiếp tục phát triển ứng dụng của mình, có thể bạn sẽ muốn có một cách để quản lý môi trường và triển khai ứng dụng của mình mà không cần tạo thủ công một ứng dụng. zip và tải nó lên bảng điều khiển Elastic Beanstalk. Giao diện dòng lệnh đàn hồi Beanstalk (EB CLI) cung cấp các lệnh dễ sử dụng để tạo, định cấu hình và triển khai các ứng dụng cho môi trường đàn hồi Beanstalk từ dòng lệnh

Ứng dụng mẫu sử dụng tệp cấu hình để định cấu hình cài đặt PHP và tạo bảng trong cơ sở dữ liệu, nếu nó chưa tồn tại. Bạn cũng có thể sử dụng tệp cấu hình để định cấu hình cài đặt nhóm bảo mật cho các phiên bản của mình trong quá trình tạo môi trường để tránh cập nhật cấu hình tốn thời gian. Xem Tùy chỉnh môi trường nâng cao với các tệp cấu hình (. ebextensions) để biết thêm thông tin

Để phát triển và thử nghiệm, bạn có thể muốn sử dụng chức năng Elastic Beanstalk để thêm trực tiếp một phiên bản CSDL được quản lý vào môi trường của mình. Để biết hướng dẫn về cách thiết lập cơ sở dữ liệu bên trong môi trường của bạn, hãy xem Thêm cơ sở dữ liệu vào môi trường Elastic Beanstalk của bạn

Nếu bạn cần cơ sở dữ liệu hiệu năng cao, hãy cân nhắc sử dụng Amazon Aurora. Amazon Aurora là một công cụ cơ sở dữ liệu tương thích với MySQL cung cấp các tính năng cơ sở dữ liệu thương mại với chi phí thấp. Để kết nối ứng dụng của bạn với một cơ sở dữ liệu khác, hãy lặp lại các bước cấu hình nhóm bảo mật và cập nhật các thuộc tính môi trường liên quan đến RDS

Cuối cùng, nếu bạn dự định sử dụng ứng dụng của mình trong môi trường sản xuất, bạn sẽ muốn định cấu hình tên miền tùy chỉnh cho môi trường của mình và bật HTTPS cho các kết nối an toàn