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
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
3 từweb: vendor/bin/heroku-php-nginx
4web: vendor/bin/heroku-php-nginx
- 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
5 vào URL gọi lại được phépweb: vendor/bin/heroku-php-nginx
- 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
3 của mìnhweb: vendor/bin/heroku-php-nginx
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
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ôiTạ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ố 8Procfile 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 cho nó một cái tên như vậy
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
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
Nhấp vào
web: vendor/bin/heroku-php-nginx
01 như vậyHeroku sẽ kết nối repo như vậy
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 khaiNhấp vào nút Xem để xem ứng dụng của bạn
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
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ệtCơ 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
0Lệ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
0sử 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 herokuCuố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
7Chú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
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
7Vì 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ậyweb: vendor/bin/heroku-php-nginx
0Bâ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
07Ghi 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ạnChạ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ậyCơ 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
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
12Bâ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
7Bướ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ậyweb: vendor/bin/heroku-php-nginx
0Bạ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
1web: vendor/bin/heroku-php-nginx
15 phải là một tên duy nhấtHã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 BluemixBạ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
17. Khi bạn làm điều đó, ứng dụng của bạn sẽ tự động khởi động lạiweb: vendor/bin/heroku-php-nginx
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ạnBâ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ậyweb: vendor/bin/heroku-php-nginx
0IBM 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ậyweb: vendor/bin/heroku-php-nginx
1Họ 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
71web: vendor/bin/heroku-php-nginx
- Hiển thị nhật ký của các ứng dụng của bạn
72web: vendor/bin/heroku-php-nginx
- 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
73web: vendor/bin/heroku-php-nginx
- 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
Đầu tiên, tạo một tài khoản với Microsoft Azure
bảng điều khiển- Nhấp vào Mới trên bảng điều khiển bên trái
- Nhấp vào Xem tất cả ngay bên cạnh Marketplace
Nhấp vào Web + SQL, sau đó tiếp tục và tạo
- 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
Đặ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ớiBâ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- Nhấp vào ứng dụng, chọn Tùy chọn triển khai, sau đó nhấp vào
74web: vendor/bin/heroku-php-nginx
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
75. Đó là nhánh tôi sẽ sử dụng để triển khai mã của mình lên nền tảng Azureweb: vendor/bin/heroku-php-nginx
Kiểm tra các thông báo triển khai
Bây giờ, duyệt đến
76. Trong trường hợp của tôi, nó làweb: vendor/bin/heroku-php-nginx
77web: vendor/bin/heroku-php-nginx
Ối. , có lỗi HTTP 500. Điều gì đang xảy ra?
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à
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ạnweb: vendor/bin/heroku-php-nginx
Theo mặc định, triển khai Azure không làm gì với tệp
7 hoặcweb: 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ộngweb: vendor/bin/heroku-php-nginx
01 và đồng ý với các thỏa thuận pháp lýweb: vendor/bin/heroku-php-nginx
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
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
- Nhấp vào Mới > Dữ liệu + Lưu trữ > Redis Cache
- 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
- Đăng nhập vào Cổng thông tin Azure
- 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
- 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
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
02.web: vendor/bin/heroku-php-nginx
- 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
2web: vendor/bin/heroku-php-nginx
- 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à
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 Beanstalkweb: vendor/bin/heroku-php-nginx
- Thêm quyền như vậy.
- Xem lại thông tin trước khi khởi chạy.
- Phóng
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
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