Làm cách nào tôi có thể lưu trữ trang web PHP của riêng mình?

TL;DR. Có một câu thần chú phổ biến giữa các nhà phát triển là viết, kiểm tra và triển khai. Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách triển khai các ứng dụng PHP của bạn lên các nền tảng máy chủ đám mây khác nhau như Google Cloud, Microsoft Azure, Heroku, IBM Bluemix và các nền tảng khác

Giới thiệu về Máy chủ đám mây

Máy chủ đám mây về cơ bản là máy chủ ảo chạy trong môi trường điện toán đám mây. Có nhiều lợi ích khác nhau khi lưu trữ và triển khai các ứng dụng của bạn trên đám mây. họ đang

  • Hiệu quả kinh tế
  • Bạn có quyền tự do sửa đổi phần mềm máy chủ theo nhu cầu của mình
  • Máy chủ đám mây có quy mô rất tốt
  • Ổn định và bảo mật

Trên thực tế, nhiều công ty đã chuyển cơ sở hạ tầng của họ sang đám mây để giảm chi phí và độ phức tạp. Đó là một lựa chọn tuyệt vời cho các doanh nghiệp quy mô nhỏ, vừa và doanh nghiệp. Nếu bạn viết nhiều hướng dẫn và làm POCs [Proof-of-concepts] như tôi thì nó cũng là một lựa chọn tuyệt vời cho bạn

Một ứng dụng PHP chung liên quan đến ngăn xếp LAMP [Linux, Apache, Mysql và PHP] chung

  • Linux. Hệ điều hành chạy các gói phần mềm khác
  • apache. Máy chủ web chạy mã PHP. Một phần mềm thay thế phổ biến là Nginx
  • mysql. Kho dữ liệu. Một phần mềm thay thế phổ biến là PostgreSQL
  • PHP. Ngôn ngữ phía máy chủ để xây dựng ứng dụng

Tiếp theo, hãy giới thiệu cách triển khai các ứng dụng php cho một số nền tảng máy chủ đám mây

Heroku

Heroku là một nền tảng đám mây giúp bạn triển khai và lưu trữ các ứng dụng của mình theo cách hiện đại. Nó làm tất cả những công việc nặng nhọc cho bạn. Hãy xem nhanh cách triển khai và bảo trì một ứng dụng PHP trên heroku

Kiến trúc PHP Heroku

Nếu bạn chưa có tài khoản, hãy tiếp tục và tạo một tài khoản trên heroku. com. Hãy tiếp tục và cài đặt heroku cli. Khi bạn đã cài đặt xong, hãy tiếp tục và sao chép ứng dụng PHP starwars đơn giản này

Heroku chạy ứng dụng PHP của bạn trong một dyno, một bộ chứa thông minh cung cấp một ngăn xếp hiện đại với sự lựa chọn của bạn về máy chủ web [Apache hoặc Nginx] và thời gian chạy [PHP hoặc HHVM]

Hãy chắc chắn rằng bạn làm theo các bước dưới đây

  • Tạo tệp
    web: vendor/bin/heroku-php-nginx
    3 từ
    web: vendor/bin/heroku-php-nginx
    4
  • Bạn cần có một tài khoản với Auth0
  • Truy cập Bảng điều khiển Auth0 của bạn và nhấp vào nút "tạo ứng dụng khách mới"
  • Đặt tên cho ứng dụng mới của bạn và chọn "Ứng dụng web thông thường"
  • Trong Cài đặt cho ứng dụng khách Auth0 mới của bạn, hãy thêm
    web: vendor/bin/heroku-php-nginx
    5 vào URL gọi lại được phép
  • Sao chép id khách hàng, bí mật khách hàng, tên miền và url gọi lại của bạn. Đảm bảo bạn chỉ định chúng cho đúng biến trong tệp
    web: vendor/bin/heroku-php-nginx
    3 của mình

Auth0 cung cấp một bậc miễn phí hào phóng để bắt đầu với xác thực hiện đại

Bây giờ, chúng ta có một tệp

web: vendor/bin/heroku-php-nginx
7 chứa danh sách các gói mà ứng dụng cần. Hãy tiếp tục và chạy
web: vendor/bin/heroku-php-nginx
8 trên máy cục bộ của bạn để cài đặt các gói này. Tải nhà soạn nhạc tại đây nếu bạn chưa cài đặt nó

Hãy tiếp tục và chạy ứng dụng. Ứng dụng sẽ chạy như vậy

Trang đích

Người dùng đã đăng nhập

Thật tuyệt vời. Ứng dụng của chúng tôi hoạt động tại địa phương. Thời gian triển khai. Điều đầu tiên chúng tôi sẽ làm là thêm một

web: vendor/bin/heroku-php-nginx
9 vào thư mục gốc của ứng dụng của chúng tôi

Tạo một tệp mới có tên

web: vendor/bin/heroku-php-nginx
9 mà không có bất kỳ phần mở rộng tệp nào và thêm tệp này

________số 8

Procfile là một tệp văn bản trong thư mục gốc của ứng dụng xác định các loại quy trình và tuyên bố rõ ràng lệnh nào sẽ được thực thi để khởi động ứng dụng của bạn trên heroku

Nếu bạn quan tâm đến việc sử dụng Nginx làm máy chủ web, thì nội dung của Procfile của bạn sẽ là

web: vendor/bin/heroku-php-nginx

Bây giờ bạn đã thêm Procfile, hãy tiếp tục và tải dự án lên GitHub hoặc Bitbucket. Của tôi là starwazapp

Đi đến bảng điều khiển. heroku. com/apps và tạo một ứng dụng mới như vậy

Tạo một ứng dụng mới từ bảng điều khiển

Đặt cho nó một cái tên như vậy

Đặt tên cho ứng dụng

Chọn phương thức triển khai. Trong trường hợp của chúng tôi, chúng tôi sẽ sử dụng GitHub như vậy

Kết nối với GitHub

Lý do chọn GitHub là để quá trình phát triển và bảo trì diễn ra suôn sẻ. Các nhà phát triển có thể làm việc trên các tính năng mới bằng quy trình làm việc git

Bây giờ, nhập tên của repo vào khu vực được khoanh tròn và nhấp vào Tìm kiếm. Heroku sẽ tìm kiếm repo của bạn trong tài khoản GitHub của bạn và hiển thị nó như vậy

Tìm kiếm repo

Nhấp vào

web: vendor/bin/heroku-php-nginx
01 như vậy

Bấm vào nút kết nối

Heroku sẽ kết nối repo như vậy

dự án được kết nối

Cuộn xuống một chút. Đây là phần thú vị. Heroku cho phép bạn kích hoạt triển khai tự động chỉ bằng một nút nhấn. Nó cũng cung cấp cho bạn một tùy chọn để đợi quá trình tích hợp liên tục của bạn trôi qua trước khi triển khai vào sản xuất. Trong một ứng dụng trong thế giới thực, bạn sẽ có một bộ thử nghiệm cho cơ sở mã của mình. Mã của nhà phát triển chạy trên bộ thử nghiệm. Nếu nó vượt qua, mã sẽ được đưa vào sản xuất

Nhấp để bật triển khai tự động. Chúng tôi không có bất kỳ dịch vụ CI nào, vì vậy chúng tôi không cần bật tùy chọn đó. Bây giờ, hãy triển khai nhánh chính

Ghi chú. Bạn có thể có các nhánh khác và chỉ định nhánh nào bạn muốn sản xuất. Trong trường hợp của chúng tôi, nhánh chính là nhánh sản xuất. chi nhánh

Nhấp vào nhánh Triển khai. Heroku sẽ quét qua tệp

web: vendor/bin/heroku-php-nginx
02 của bạn, cài đặt các gói cần thiết và triển khai

Triển khai cuối cùng

Nhấp vào nút Xem để xem ứng dụng của bạn

Lỗi 500

Rất tiếc. Chúng tôi đang gặp lỗi 500. Aha, chúng tôi chưa đặt bất kỳ biến môi trường nào. Tại địa phương, chúng tôi đã có một tệp

web: vendor/bin/heroku-php-nginx
3. Trên heroku, không có tệp
web: vendor/bin/heroku-php-nginx
3, nhưng có cách đặt biến môi trường. Chuyển đến Cài đặt trên bảng điều khiển của bạn và thêm chúng dưới dạng biến cấu hình như vậy

Ồ, một điều nữa. Url gọi lại mới trong trường hợp của tôi là

web: vendor/bin/heroku-php-nginx
05. Đảm bảo bạn thêm url gọi lại mới của mình vào URL gọi lại được phép trong bảng điều khiển Auth0 của bạn

Ứng dụng của bạn hiện đang hoạt động và đang hoạt động

Ứng dụng trực tiếp

Thực hiện một thay đổi nhỏ

Hãy thực hiện một thay đổi nhỏ đối với ứng dụng của chúng ta và xem nó dễ dàng triển khai ứng dụng đó như thế nào

Mở

web: vendor/bin/heroku-php-nginx
06 và thay đổi nội dung của thẻ
web: vendor/bin/heroku-php-nginx
07 từ
web: vendor/bin/heroku-php-nginx
08 thành
web: vendor/bin/heroku-php-nginx
09. Cam kết và đẩy đến nhánh chính của bạn. Bây giờ, hãy chuyển đến tab Hoạt động của Bảng điều khiển Heroku của bạn và chú ý bản dựng. Tải lại ứng dụng của bạn và bạn sẽ thấy sự khác biệt

Xây dựng thành công

Phiên bản mới

Cơ sở dữ liệu, bộ nhớ đệm & công việc định kỳ

Hãy nói nhanh về cách xử lý cơ sở dữ liệu, bộ nhớ đệm và các công việc định kỳ. Trên heroku, bạn có thể sử dụng ClearDB và Postgres với PHP. Thêm ClearDB vào ứng dụng của bạn như vậy

web: vendor/bin/heroku-php-nginx
0

Lệnh này cung cấp một cơ sở dữ liệu ClearDB mới trả về URL mà ứng dụng sẽ sử dụng để truy cập nó. Tất cả những gì bạn cần làm là thêm nó vào ứng dụng của mình dưới dạng biến môi trường và phân tích nó trong cấu hình ứng dụng của bạn như vậy

ClearDB là một dịch vụ cơ sở dữ liệu dưới dạng dịch vụ đám mây mạnh mẽ, có khả năng chịu lỗi dành cho các ứng dụng hỗ trợ MySQL của bạn

web: vendor/bin/heroku-php-nginx
0

sử dụng mysqli

Bạn có thể tinh chỉnh nó cho phù hợp với phong cách PDO. Thêm Postgres vào ứng dụng của bạn như vậy

web: vendor/bin/heroku-php-nginx
1

Đi tới phần bổ trợ, bạn sẽ thấy các loại cơ sở dữ liệu khác mà bạn có thể sử dụng với ứng dụng PHP của mình

Heroku cung cấp một loạt các addon cho bộ nhớ đệm, từ

web: vendor/bin/heroku-php-nginx
00 đến
web: vendor/bin/heroku-php-nginx
01 đến
web: vendor/bin/heroku-php-nginx
02 và các addon khác. Bạn có thể tham khảo cách sử dụng memcache với PHP trên heroku

Cuối cùng, bạn có thể sử dụng Heroku Scheduler để chạy các công việc trên ứng dụng của mình theo các khoảng thời gian đã lên lịch

Google đám mây

Nền tảng Google Cloud là một nền tảng đám mây khổng lồ và đáng tin cậy mà rất nhiều công ty trên toàn thế giới đã áp dụng để triển khai và lưu trữ ứng dụng của họ. Các ứng dụng của bạn sẽ chạy trên cùng một cơ sở hạ tầng cung cấp năng lượng cho tất cả các sản phẩm của Google. Bạn cần hình thức tự tin nào khác để đảm bảo với bạn rằng ứng dụng của bạn sẽ mở rộng đủ tốt để phục vụ hàng nghìn và hàng triệu người dùng của bạn một cách dễ dàng?

Google Cloud cung cấp các tùy chọn khác nhau để lưu trữ ứng dụng PHP. Nền tảng này cung cấp App Engine [Được quản lý hoàn toàn], Compute Engine [VM có thể mở rộng] và Container Engine [Cụm Kubernetes]

Trong trường hợp của chúng tôi, chúng tôi sẽ sử dụng App Engine. Nó trừu tượng hóa cơ sở hạ tầng đi. Hãy bắt đầu triển khai ứng dụng Star Wars nổi tiếng của chúng ta lên Google App Engine

Khi sử dụng Google App Engine, bạn có thể chọn môi trường Tiêu chuẩn hoặc Linh hoạt. Cái sau, giống như tên ngụ ý, cho phép bạn cài đặt bất kỳ tiện ích mở rộng PHP nào hoạt động trên Debian Linux, có máy chủ web Nginx có thể định cấu hình, hệ thống tệp có thể ghi, phiên bản PHP mới nhất và cho phép bạn chạy tập lệnh triển khai bằng cách sử dụng

web: vendor/bin/heroku-php-nginx
7

Chúng tôi sẽ sử dụng môi trường linh hoạt. Vì vậy, hãy tiếp tục và tạo một dự án mới. Nhấp vào Tạo, đặt tên cho dự án, chọn khu vực bạn muốn phân phát ứng dụng của mình và bật thanh toán

Ghi chú. Bạn sẽ không bị tính phí nếu không có sự cho phép của bạn

Bây giờ, hãy tải xuống Google SDK và cài đặt các công cụ Google Cloud

Cài đặt Google SDK

Đang chạy gcloud

Hãy tiếp tục và tạo một tệp

web: vendor/bin/heroku-php-nginx
04 trong thư mục gốc của dự án của chúng ta như vậy

ứng dụng. khoai mỡ

web: vendor/bin/heroku-php-nginx
7

Vì vậy, tệp

web: vendor/bin/heroku-php-nginx
3 của chúng tôi đã được đẩy lên Google Cloud. Một cách khác để sử dụng đó là thêm các biến môi trường vào tệp
web: vendor/bin/heroku-php-nginx
04 như vậy

web: vendor/bin/heroku-php-nginx
0

Bây giờ, hãy triển khai ứng dụng của bạn từ bảng điều khiển bằng cách chạy

web: vendor/bin/heroku-php-nginx
07

Ghi chú. Bây giờ, hãy lấy URL, trong trường hợp của tôi, đó là

web: vendor/bin/heroku-php-nginx
08 và thêm vào Nguồn gốc được phép [CORS] và URL gọi lại được phép trong bảng điều khiển Auth0 của bạn. Đồng thời thêm URL vào
web: vendor/bin/heroku-php-nginx
09 trong tệp
web: vendor/bin/heroku-php-nginx
3 của bạn

Chạy lại

web: vendor/bin/heroku-php-nginx
07 để cung cấp phiên bản mới của ứng dụng. Kiểm tra ứng dụng của bạn bây giờ. Nó nên được sống như vậy

Ứng dụng trực tiếp

Cơ sở dữ liệu, bộ nhớ đệm & công việc định kỳ

Google Cloud cung cấp nền tảng Cloud SQL Instance. Kiểm tra cách định cấu hình, kết nối và tạo phiên bản MySQL cho ứng dụng của bạn

Ồ, Bạn cũng có thể sử dụng phpMyAdmin trên Google App Engine

Google App Engine bao gồm việc triển khai các API Memcache và Memcached tiêu chuẩn. Kiểm tra cách sử dụng Memcache trong ứng dụng của bạn trên Google Cloud

Dịch vụ Cron của App Engine cho phép bạn định cấu hình các tác vụ được lên lịch thường xuyên hoạt động vào các thời điểm hoặc khoảng thời gian đều đặn đã xác định. Xem cách lên lịch các công việc định kỳ và sử dụng hàng đợi tác vụ với PHP trên Google Cloud

Việc triển khai các ứng dụng Laravel, Symfony và Wordpress lên Google Cloud Platform tương đối dễ dàng

IBM BlueMix

IBM Bluemix cho phép bạn dễ dàng định cấu hình, triển khai và mở rộng quy mô trên cơ sở hạ tầng đám mây toàn cầu mạnh mẽ, hiệu suất cao. Hãy bắt đầu triển khai ứng dụng Star Wars nổi tiếng của chúng tôi cho IBM Bluemix

Đăng ký trên Bluemix như vậy

Đăng ký trên Bluemix

Ghi chú. Nền tảng Bluemix cung cấp bản dùng thử miễn phí 30 ngày để bạn có cơ hội thử triển khai ứng dụng của riêng mình trước khi bàn giao chi tiết thẻ tín dụng của mình

Hãy tiếp tục và tạo một tổ chức và không gian. Tôi đặt tên cho không gian của mình là

web: vendor/bin/heroku-php-nginx
12

Bây giờ, hãy tiếp tục và cài đặt Cloud Foundry CLI. Khi bạn đã hoàn thành việc đó, hãy đi tới và đăng nhập từ thiết bị đầu cuối của bạn như vậy

web: vendor/bin/heroku-php-nginx
7

Đăng nhập vào Bluemix

Bước tiếp theo là tạo tệp

web: vendor/bin/heroku-php-nginx
13 trong thư mục gốc của ứng dụng.
web: vendor/bin/heroku-php-nginx
13 bao gồm thông tin cơ bản về ứng dụng của bạn, chẳng hạn như tên, lượng bộ nhớ cần phân bổ cho từng phiên bản và tuyến đường. Tệp kê khai của chúng tôi sẽ trông giống như vậy

web: vendor/bin/heroku-php-nginx
0

Bạn cũng có thể chỉ định rõ ràng gói xây dựng trong tệp kê khai. Rất may, Cloud Foundry tự động phát hiện gói xây dựng nào được yêu cầu khi bạn đẩy một ứng dụng

Buildpacks cung cấp khung và hỗ trợ thời gian chạy cho các ứng dụng của bạn. Gói xây dựng thường kiểm tra các tạo phẩm do người dùng cung cấp để xác định phần phụ thuộc nào cần tải xuống và cách định cấu hình ứng dụng để giao tiếp với các dịch vụ bị ràng buộc

Cuối cùng, triển khai ứng dụng của bạn bằng cách chạy lệnh sau như vậy

web: vendor/bin/heroku-php-nginx
1

web: vendor/bin/heroku-php-nginx
15 phải là một tên duy nhất

Bắt đầu triển khai

Kết thúc triển khai

Hãy thử chạy ứng dụng ngay bây giờ. Trong trường hợp của tôi, url là

web: vendor/bin/heroku-php-nginx
16. Rất tiếc, lỗi 500. Chúng tôi chưa tải các biến môi trường của mình. Làm thế nào để chúng tôi làm điều đó với Bluemix

Bạn có thể sử dụng Cloud Foundry CLI hoặc giao diện người dùng Bluemix để đặt các biến môi trường. Hãy sử dụng giao diện người dùng Bluemix. Vì vậy, hãy làm theo các bước dưới đây

  • Mở bảng điều khiển Bluemix

  • Bấm vào ứng dụng. Bạn sẽ được chuyển hướng đến một trang khác với nhiều chi tiết hơn về ứng dụng
  • Chọn Thời gian chạy từ bảng điều khiển bên trái

  • Bây giờ, hãy nhấp vào tab Biến môi trường như vậy

  • Cuộn xuống và nhấp vào nút Thêm để thêm các biến môi trường như vậy

  • Nhấp vào nút

    web: vendor/bin/heroku-php-nginx
    17. Khi bạn làm điều đó, ứng dụng của bạn sẽ tự động khởi động lại

Ghi chú. Bây giờ, hãy lấy URL, trong trường hợp của tôi, đó là

web: vendor/bin/heroku-php-nginx
18 và thêm vào Nguồn gốc được phép [CORS] và URL gọi lại được phép trong bảng điều khiển Auth0 của bạn

Bây giờ hãy kiểm tra ứng dụng của bạn. Ứng dụng của bạn phải hoạt động

Cơ sở dữ liệu, bộ nhớ đệm & công việc định kỳ

Cloud Foundry cung cấp khả năng tạo dịch vụ. IBM Bluemix cung cấp cơ sở dữ liệu Cloudant NoSQL [tên Bluemix cho CouchDB]. Vì vậy, bạn có thể sử dụng công cụ

web: vendor/bin/heroku-php-nginx
19 để tạo các dịch vụ cơ sở dữ liệu như vậy

web: vendor/bin/heroku-php-nginx
0

IBM Bluemix cũng cung cấp dịch vụ ClearDB MySQL. Vì vậy, bạn có thể sử dụng công cụ

web: vendor/bin/heroku-php-nginx
19 để tạo một công cụ như vậy

web: vendor/bin/heroku-php-nginx
1

Họ cung cấp MongoDB, PostgreSQL, RethinkDB

Bạn luôn có thể sử dụng công cụ Cloud Foundry để kiểm tra rất nhiều thứ như nhật ký, biến môi trường như vậy

  • web: vendor/bin/heroku-php-nginx
    71
    • Hiển thị nhật ký của các ứng dụng của bạn
  • web: vendor/bin/heroku-php-nginx
    72
    • Hiển thị các biến môi trường được liên kết với ứng dụng của bạn
  • web: vendor/bin/heroku-php-nginx
    73
    • Hiển thị tất cả các dịch vụ mà Bluemix cung cấp

IBM Bluemix cũng cung cấp Redis Cloud, một dịch vụ đám mây được quản lý hoàn toàn để lưu trữ và chạy tập dữ liệu Redis của bạn trong BlueMix theo cách có khả năng mở rộng và khả dụng cao

IBM Bluemix cung cấp dịch vụ Workload Scheduler. Dịch vụ này cho phép bạn tích hợp ứng dụng của mình với khả năng lên lịch quy trình công việc. Vượt xa Cron, khai thác lập lịch công việc trong và ngoài Bluemix. Dễ dàng tạo các quy trình công việc trong ứng dụng của bạn để chạy thường xuyên, tại một thời điểm cụ thể, trên cơ sở sự kiện [ví dụ: khi một tệp bị xóa hoặc cập nhật], theo nhu cầu của bạn. Bạn có thể sử dụng Giao diện người dùng Trình lập lịch khối lượng công việc hoặc sử dụng các API

Bắt đầu với Lập kế hoạch Công việc tại đây

Ồ, một điều nữa, đây là cách triển khai ứng dụng Laravel của bạn trên IBM Bluemix

Microsoft Azure

Microsoft Azure là một nền tảng đám mây khổng lồ khác cho phép bạn mở rộng quy mô ứng dụng của mình một cách dễ dàng. Hãy bắt đầu triển khai ứng dụng Chiến tranh giữa các vì sao trên Azure

Với Microsoft Azure, bạn có thể triển khai qua

  • FTP
  • Đồng bộ hóa với thư mục đám mây
  • Git cục bộ
  • Dịch vụ kiểm soát nguồn dựa trên đám mây như GitHub hoặc Bitbucket

Trong trường hợp của chúng tôi, chúng tôi sẽ thiết lập triển khai với Git

  1. Đầu tiên, tạo một tài khoản với Microsoft Azure

    bảng điều khiển

  2. Nhấp vào Mới trên bảng điều khiển bên trái
  3. Nhấp vào Xem tất cả ngay bên cạnh Marketplace
  4. Nhấp vào Web + SQL, sau đó tiếp tục và tạo

  5. Bạn sẽ được nhắc chọn một ưu đãi cho loại đăng ký mà bạn cảm thấy thoải mái. Tôi đã chọn Dùng thử miễn phí. Cùng với đó, bạn sẽ được cấp Tín dụng Azure $200
  6. Đặt tên cho ứng dụng của bạn, sau đó tạo cơ sở dữ liệu SQL. Chà, nó không cần thiết cho ứng dụng của chúng tôi nhưng vì một số lý do Azure buộc bạn phải tạo nó

    Tạo một ứng dụng mới

  7. Bây giờ ứng dụng của chúng tôi đã được tạo. Nhấp vào Dịch vụ ứng dụng ở bảng điều khiển bên trái để xem ứng dụng của bạn

    ứng dụng mới

  8. Nhấp vào ứng dụng, chọn Tùy chọn triển khai, sau đó nhấp vào
    web: vendor/bin/heroku-php-nginx
    74
  9. Cho phép GitHub truy cập repo của bạn. Chọn dự án. Chọn chi nhánh. Trong trường hợp của tôi, tôi có một chi nhánh

    web: vendor/bin/heroku-php-nginx
    75. Đó là nhánh tôi sẽ sử dụng để triển khai mã của mình lên nền tảng Azure

  10. Kiểm tra các thông báo triển khai

    Bây giờ, duyệt đến

    web: vendor/bin/heroku-php-nginx
    76. Trong trường hợp của tôi, nó là
    web: vendor/bin/heroku-php-nginx
    77

    Ối. , có lỗi HTTP 500. Điều gì đang xảy ra?

  11. Truy cập ứng dụng của bạn trong Dịch vụ ứng dụng, Nhấp vào Cài đặt ứng dụng rồi thêm các biến môi trường ở bên phải

    Ghi chú. Bây giờ, hãy lấy URL ứng dụng, trong trường hợp của tôi, đó là

    web: vendor/bin/heroku-php-nginx
    78 và thêm vào Nguồn gốc được phép [CORS] và URL gọi lại được phép trong bảng điều khiển Auth0 của bạn

  12. Theo mặc định, triển khai Azure không làm gì với tệp

    web: vendor/bin/heroku-php-nginx
    7 hoặc
    web: vendor/bin/heroku-php-nginx
    02 của chúng tôi. Vì vậy, không có gói nào được cài đặt. Bây giờ hãy quay lại Dịch vụ ứng dụng, nhấp vào ứng dụng của bạn, sau đó chuyển đến Công cụ phát triển và chọn Tiện ích mở rộng. Chọn tiện ích mở rộng
    web: vendor/bin/heroku-php-nginx
    01 và đồng ý với các thỏa thuận pháp lý

  13. Bây giờ, hãy thực hiện một thay đổi nhỏ đối với ứng dụng của bạn và đẩy lại vào GitHub. Bạn sẽ thấy nó triển khai như vậy

  14. Bây giờ hãy kiểm tra lại ứng dụng của bạn. Nó nên được sống và làm việc

Cơ sở dữ liệu, bộ nhớ đệm & công việc định kỳ

Microsoft Azure cung cấp Azure Redis Cache. Nó dựa trên bộ đệm Redis mã nguồn mở phổ biến. Thật dễ dàng để tạo và sử dụng như vậy

  1. Nhấp vào Mới > Dữ liệu + Lưu trữ > Redis Cache
  2. Nhập tên của bộ đệm, chọn vùng và tạo nó

Kiểm tra các tài liệu về cách sử dụng nó

Để lên lịch và chạy các tác vụ, Azure cung cấp Trình lập lịch biểu. Nó cho phép bạn

  • Gọi dịch vụ bên trong hoặc bên ngoài Azure
  • Chạy công việc theo bất kỳ lịch trình nào
  • Sử dụng hàng đợi Azure Storage cho các công việc ngoại tuyến hoặc chạy dài
  • Gọi hàng đợi Azure Service Bus

Kiểm tra cách tạo và quản lý công việc bằng Trình lập lịch biểu

Chúng ta đã nói một chút về việc thiết lập cơ sở dữ liệu trước đó khi triển khai ứng dụng của mình, nhưng hãy xem nhanh cách thiết lập cơ sở dữ liệu MySQL

  1. Đăng nhập vào Cổng thông tin Azure
  2. Nhấp vào Mới trên bảng điều khiển bên trái của bảng điều khiển. Chọn Data + Storage trong Marketplace, sau đó chọn cơ sở dữ liệu MySQL
  3. Hãy tiếp tục và định cấu hình cơ sở dữ liệu MySQL mới của bạn. Nhập tên, chọn đăng ký, vị trí của bạn và điền vào các trường bắt buộc. Tạo ra
  4. Kết nối với cơ sở dữ liệu

Nhà phát triển Laravel có thể dễ dàng định cấu hình cơ sở dữ liệu MySQL cho ứng dụng của họ trên Azure

Dịch vụ web của Amazon

Nhiều công ty sử dụng AWS [Dịch vụ web của Amazon] để lưu trữ tất cả các loại dữ liệu từ hình ảnh, tệp mp3 đến video hơn bất kỳ nền tảng đám mây nào khác. Trên thực tế, rất nhiều tổ chức như Uber, Spotify, Salesforce sử dụng Amazon Web Services để lưu trữ, triển khai và cơ sở hạ tầng. AWS có rất nhiều sản phẩm dành cho nhà phát triển

Dịch vụ chúng tôi sẽ sử dụng để triển khai ứng dụng StarWars nổi tiếng của mình là Amazon Elastic Beanstalk. Bắt đầu nào

  • Đăng ký tài khoản AWS nếu bạn chưa có
  • Chuyển đến bảng điều khiển Elastic Beanstalk
  • Tạo một ứng dụng mới.
  • Nhấp vào
    web: vendor/bin/heroku-php-nginx
    02.
  • Tạo môi trường máy chủ web.
  • Tải lên mã của bạn. Elastic Beanstalk yêu cầu bạn tải lên tệp zip của cơ sở mã của mình. Bạn có thể nén thủ công. Nhưng tôi thích làm điều đó từ thiết bị đầu cuối của mình như vậy

    web: vendor/bin/heroku-php-nginx
    2
  • Bây giờ, hãy tải nó lên AWS như vậy.
  • Kiểm tra tính khả dụng của URL ứng dụng. Của tôi trông như thế này.
  • Trang tiếp theo cho phép chúng tôi định cấu hình Trường hợp cơ sở dữ liệu. Bây giờ ứng dụng của chúng tôi không yêu cầu, vì vậy chúng tôi có thể bỏ qua nó.
  • Bước này cho phép sửa đổi chi tiết cấu hình của chúng tôi. Cái mặc định phù hợp với ứng dụng của chúng tôi.
  • Bây giờ, hãy thêm các biến môi trường của bạn như vậy.

    Ghi chú. Bây giờ, hãy lấy URL, trong trường hợp của tôi, đó là

    web: vendor/bin/heroku-php-nginx
    03 và thêm vào Nguồn gốc được phép [CORS] và URL gọi lại được phép trong bảng điều khiển Auth0 của bạn. Đảm bảo rằng bạn cũng thêm nó dưới dạng biến môi trường trong Elastic Beanstalk

  • Thêm quyền như vậy.
  • Xem lại thông tin trước khi khởi chạy.
  • Phóng

ứng dụng trực tiếp

Kiểm tra cách triển khai

  • Một ứng dụng Laravel cho Elastic Beanstalk
  • Một ứng dụng CakePHP cho Bean Beanalk
  • Một ứng dụng Symfony2 cho Elastic Beanstalk
  • Một trang web Wordpress cho Elastic Beanstalk
  • Trang web Drupal cho Elastic Beanstalk

Cơ sở dữ liệu, bộ nhớ đệm và công việc định kỳ

Bạn có thể sử dụng phiên bản CSDL Amazon Relational Database Service [Amazon RDS] để lưu trữ dữ liệu do ứng dụng của bạn thu thập và sửa đổi. Cơ sở dữ liệu có thể được gắn vào môi trường của bạn và được quản lý bởi Elastic Beanstalk hoặc được tạo và quản lý bên ngoài. Xem cách dễ dàng thêm phiên bản CSDL vào ứng dụng của bạn

Đối với bộ nhớ đệm, Amazon Web Services cung cấp ElastiCache. Đây là một dịch vụ web giúp dễ dàng triển khai, vận hành và mở rộng quy mô lưu trữ dữ liệu trong bộ nhớ hoặc bộ nhớ cache trên đám mây. Amazon ElastiCache hỗ trợ hai công cụ nguồn mở trong bộ nhớ

  • làm lại
  • Memcached

Amazon ElastiCache tự động phát hiện và thay thế các nút bị lỗi, giảm chi phí liên quan đến cơ sở hạ tầng tự quản lý và cung cấp một hệ thống có khả năng phục hồi giúp giảm thiểu nguy cơ cơ sở dữ liệu bị quá tải làm chậm thời gian tải ứng dụng và trang web. Thông qua tích hợp với Amazon CloudWatch, Amazon ElastiCache cung cấp khả năng hiển thị nâng cao đối với các chỉ số hiệu suất chính được liên kết với các nút Redis hoặc Memcached của bạn

Các công ty như AirBnb, Healthguru, PlaceIQ và Tokyo Data Network sử dụng ElastiCache để lưu vào bộ nhớ đệm ở nhiều lớp mở rộng các đoạn HTML, kết quả của các truy vấn DB đắt tiền, dữ liệu phiên tạm thời và kết quả tìm kiếm

Kiểm tra cách cài đặt Máy khách cụm ElastiCache cho PHP tại đây

Đây là một bài viết tuyệt vời về xây dựng bộ đếm khách truy cập PHP với ElastiCache và Elastic Beanstalk

Bạn có thể thiết lập một công việc định kỳ trên Elastic Beanstalk. Tìm hiểu cách chạy các công việc định kỳ trên Amazon Web Services[AWS] Elastic Beanstalk

Lò rèn Laravel

Laravel Forge, được tạo bởi Taylor Otwell là một nền tảng giúp bạn triển khai và khởi chạy ứng dụng của mình trong vài phút. Nó làm công việc nặng nhọc cho bạn. Forge đảm nhận việc cung cấp máy chủ của bạn trên các nhà cung cấp dịch vụ lưu trữ đám mây phổ biến như Linode, Digital Ocean và AWS. Ban đầu nó được xây dựng cho các ứng dụng Laravel, nhưng giờ đây nó đã hỗ trợ cho hầu hết mọi ứng dụng PHP

Lò rèn Laravel

Laravel Forge cho phép bạn dễ dàng thực hiện những việc sau ngoài việc cung cấp máy chủ

  • Nó tích hợp với LetsEncrypt để tạo Chứng chỉ SSL miễn phí cho ứng dụng của bạn
  • Dễ dàng quản lý công việc và hàng đợi
  • Cộng tác với nhóm của bạn bằng cách chia sẻ bảng điều khiển quản lý máy chủ của bạn với đồng nghiệp

Matt Stauffer có một bài viết tuyệt vời về việc triển khai ứng dụng Laravel đầu tiên của bạn cho Forge

James Fairhurst cũng có một hướng dẫn tuyệt vời về cách sử dụng Laravel Forge để thiết lập Máy chủ AWS

Cuối cùng, nền tảng PHP giáo dục phổ biến nhất, laracasts. com có ​​loạt bài về quản lý máy chủ bằng Forge

phái viên

Envoyer là một nền tảng cho phép triển khai PHP bằng không thời gian chết. Nó cho phép bạn tích hợp với nhiều dịch vụ khác nhau như Gitlab, Slack, Bitbucket e. t. c

Với Envoyer, bạn có thể thực hiện

  • Triển khai liền mạch rollbacks
  • Triển khai đến nhiều máy chủ
  • Giám sát công việc Cron
  • Thực hiện kiểm tra tình trạng ứng dụng

người triển khai

Deployer là một công cụ triển khai cho PHP. Nó cho phép bạn làm như sau

  • Chạy các tác vụ song song
  • triển khai nguyên tử
  • Rollbacks
  • Tạo tập lệnh triển khai dưới dạng công thức nấu ăn

Nó hoạt động với Laravel, Symfony, CakePHP, Yiiframework, Zend, FuelPHP, Drupal, Wordpress và Magento. Hãy xem bài viết tuyệt vời này về triển khai các ứng dụng PHP với Deployer

Phần kết luận

Không có cách nào chúng tôi có thể bao gồm tất cả các tùy chọn khác nhau có sẵn để triển khai các ứng dụng PHP. PHP là ngôn ngữ dành cho doanh nghiệp đã phát triển qua nhiều năm, do đó kêu gọi các cách hiệu quả hơn để triển khai các ứng dụng PHP từ máy cục bộ sang sản xuất. Hy vọng rằng, hướng dẫn này đáp ứng tất cả các nhu cầu cơ bản của bạn để triển khai các ứng dụng PHP của bạn cho tất cả các nhà cung cấp đám mây lớn. Tuy nhiên, có một tài nguyên khác mà tôi khuyên dùng để có kiến ​​thức sâu rộng trong việc học cách triển khai các ứng dụng PHP

Auth0 cung cấp các công cụ giao diện người dùng đơn giản và dễ sử dụng nhất để giúp quản trị viên quản lý danh tính người dùng bao gồm đặt lại mật khẩu, tạo và cung cấp, chặn và xóa người dùng

Chủ Đề