Содержание
- Введение в облачные серверы
- Heroku
- Внести небольшое изменение
- База данных, кэширование и Cron Jobs
- Google Cloud
- База данных, кэширование и Cron Jobs
- IBM BlueMix
- База данных, кэширование и Cron Jobs
- Microsoft Azure
- База данных, кэширование и Cron Jobs
- Amazon Web Services
- База данных, кэширование и Cron Jobs
- Laravel Forge
- Envoyer
- Deployer
- Вывод
- Комментарии
Этот пост был впервые опубликован в блоге Auth0 и опубликован здесь полностью с их разрешения.
TL; DR: Существует популярная мантра среди разработчиков, которая выглядит так: писать, тестировать и развертывать . В этом руководстве я покажу вам, как развертывать приложения PHP на различных платформах облачных серверов, таких как Google Cloud , Microsoft Azure , Heroku , IBM Bluemix и других.
Введение в облачные серверы
Облачные серверы — это в основном виртуальные серверы, которые работают в среде облачных вычислений. Хостинг и развертывание ваших приложений в облаке имеют различные преимущества. Они есть:
- Экономически эффективно.
- У вас есть свобода изменять серверное программное обеспечение в соответствии с вашими потребностями.
- Облачные серверы очень хорошо масштабируются.
- Стабильность и безопасность.
Фактически, многие компании переместили свою инфраструктуру в облако, чтобы снизить стоимость и сложность. Это отличный вариант для малого, среднего и корпоративного бизнеса. Если вы пишете много учебных пособий и выполняете POC (Подтверждение концепции), как я, это также отличный выбор для вас!
Универсальное PHP-приложение включает в себя общий стек LAMP (Linux, Apache, Mysql и PHP) .
- Linux: операционная система, которая запускает другие пакеты программного обеспечения.
- Apache: веб-сервер, на котором выполняется код PHP. Популярное альтернативное программное обеспечение — Nginx .
- MySQL: база данных. Популярным альтернативным программным обеспечением является PostgreSQL.
- PHP: серверный язык для сборки приложения.
Для ускоренного курса на LAMP / MAMP / WAMP, посмотрите этот премиальный ресурс .
Теперь давайте рассмотрим, как развертывать приложения PHP на нескольких платформах облачных серверов.
Heroku
Heroku — это облачная платформа, которая помогает вам развертывать и размещать приложения современными способами. Это делает всю тяжелую работу за вас. Давайте быстро рассмотрим, как развернуть и поддерживать PHP-приложение на heroku.
PHP Heroku Архитектура
Если у вас нет учетной записи, создайте ее на heroku.com . Тогда иди и установи героку кли . После установки клонируйте это простое PHP-приложение StarWars .
Heroku запускает ваше PHP-приложение в dyno, умном контейнере, который предоставляет современный стек с вашим выбором веб-сервера (Apache или Nginx) и среды выполнения (PHP или HHVM).
Убедитесь, что вы выполните следующие действия:
- Создайте файл
.env.example
из.env.example
. - Вы должны иметь учетную запись в Auth0 .
- Перейдите на панель Auth0 Dashboard и нажмите кнопку «Создать нового клиента».
- Назовите свое новое приложение и выберите «Обычные веб-приложения».
- В настройках вашего нового клиентского приложения Auth0 добавьте
http://localhost:8000
к URL-адресам разрешенных обратных вызовов. - Скопируйте свой идентификатор клиента, секрет клиента , домен и URL обратного вызова . Убедитесь, что вы присваиваете им правильные переменные в файле
.env
.
У нас есть файл composer.json
который содержит список пакетов, которые нужны приложению. Для установки этих пакетов запустите composer install
на локальном компьютере. Не знакомы с Composer? Это видео может помочь.
Идите вперед и запустите приложение. Приложение должно работать так:
Целевая страница
Зарегистрированный пользователь
Потрясающие! Наше приложение работает локально. Время развернуть! Первое, что мы сделаем, это добавим Procfile
в корневой каталог нашего приложения.
Создайте новый файл с именем Procfile
без расширения файла и добавьте следующее:
web: vendor/bin/heroku-php-apache2
Procfile — это текстовый файл в корневом каталоге вашего приложения, который определяет типы процессов и явно объявляет, какую команду следует выполнить, чтобы запустить ваше приложение на heroku.
Если вы заинтересованы в использовании Nginx в качестве веб-сервера, то содержимое вашего Procfile будет:
web: vendor/bin/heroku-php-nginx
Теперь, когда вы добавили Procfile, загрузите проект в GitHub или Bitbucket . Мой Starwazapp .
Перейдите на dashboard.heroku.com/apps и создайте новое приложение, например, так:
Создать новое приложение из панели инструментов
Дайте ему имя примерно так:
Дайте приложению имя
Выберите метод развертывания. В нашем случае мы будем использовать GitHub следующим образом:
Подключиться к GitHub
Причина выбора GitHub — сделать процесс разработки и сопровождения очень плавным. Разработчики могут работать над новыми функциями, используя рабочий процесс git.
Теперь введите имя репо в обведенной области и нажмите Поиск . Heroku будет искать ваш репо под вашей учетной записью GitHub и отображать его так
Поиск репо
Нажмите на connect
как это так
Нажмите на кнопку подключения
Heroku подключит репо так
Связанный проект
Прокрутите немного вниз. Это интересная часть. Heroku позволяет включать автоматическое развертывание одним нажатием кнопки. Это также дает вам возможность подождать, пока процесс непрерывной интеграции пройдет, прежде чем приступить к работе. В реальном приложении у вас будет набор тестов для вашей кодовой базы. Код разработчика работает с набором тестов. Если он пройдет, код будет передан в производство.
Нажмите, чтобы включить автоматическое развертывание. У нас нет службы CI, поэтому нам не нужно включать эту опцию. Теперь давайте развернем основную ветку.
Примечание. Вы можете иметь другие ветви и указать, какую ветку вы хотите использовать. В нашем случае основной филиал является производственным филиалом.
Нажмите на ветку Развернуть . Heroku просканирует ваш файл composer.lock
, установит необходимые пакеты и развернет!
Развернуть наконец
Нажмите кнопку « Просмотр» , чтобы проверить ваше приложение.
Ошибка 500
По электронной почте Ой! У нас ошибка 500. Ага, мы еще не установили никаких переменных среды. Локально у нас был файл .env
. На Heroku нет файла .env
, но есть способ установить переменные окружения. Перейдите в раздел «Настройки» на панели инструментов и добавьте их в качестве переменных конфигурации следующим образом:
О, еще одна вещь! Новый URL обратного вызова в моем случае — http://starwazapp.herokuapp.com
. Убедитесь, что вы добавили новый URL-адрес обратного вызова в URL-адреса разрешенных обратных вызовов на панели мониторинга Auth0 .
Ваше приложение должно быть живым и работающим сейчас!
Живое приложение
Внести небольшое изменение
Давайте внесем небольшие изменения в наше приложение и посмотрим, насколько легко оно развертывается в производстве.
Откройте index.php
и измените содержимое <p>
с Heard you don't want to migrate to PHP 7? Dare us!
Heard you don't want to migrate to PHP 7? Dare us!
в Star Wars - The Awakening!
, Зафиксируйте и нажмите на вашу основную ветку. Теперь перейдите на вкладку « Активность » на панели инструментов Heroku и обратите внимание на сборку. Перезагрузите приложение, и вы увидите разницу.
Построить успешно
Новая версия
База данных, кэширование и Cron Jobs
Давайте быстро поговорим о том, как обрабатывать базы данных, кэширование и задачи cron. На Heroku вы можете использовать ClearDB и Postgres с PHP. Добавьте ClearDB в ваше приложение так:
heroku addons:create cleardb:ignite
Эта команда обеспечивает новую базу данных ClearDB и возвращает URL, который приложение будет использовать для доступа к ней. Все, что вам нужно сделать, это добавить его в ваше приложение как переменную среды и проанализировать его в конфигурации вашего приложения следующим образом:
ClearDB — это мощная, отказоустойчивая база данных как услуга в облаке для приложений на базе MySQL.
<?php $url = parse_url(getenv("CLEARDB_DATABASE_URL")); $server = $url["host"]; $username = $url["user"]; $password = $url["pass"]; $db = substr($url["path"], 1); $conn = new mysqli($server, $username, $password, $db); ?>
используя mysqli
Вы можете настроить его в соответствии со стилем PDO. Добавьте Postgres в свое приложение так:
heroku addons:create heroku-postgresql:hobby-dev
Перейдите к аддонам , и вы увидите другие виды баз данных, которые вы можете использовать с вашим приложением PHP.
Heroku предоставляет множество дополнений для кэширования, от memcache
, до ironcache
, ironcache
и других. Вы можете проверить, как использовать memcache с PHP на Heroku здесь .
Наконец, вы можете использовать Heroku Scheduler для запуска заданий в вашем приложении через запланированные промежутки времени.
Google Cloud
Платформа Google Cloud — это гигантская облачная платформа, которой доверяют и которую многие компании во всем мире используют для развертывания и размещения своих приложений. Ваши приложения будут работать в той же инфраструктуре, что и все продукты Google. Какие еще формы доверия вам нужны, чтобы заверить вас, что ваше приложение будет достаточно хорошо масштабироваться, чтобы легко обслуживать ваши тысячи и миллионы пользователей?
Google Cloud предлагает различные варианты размещения приложений PHP. Платформа предлагает App Engine (полностью управляемый) , Compute Engine (масштабируемые виртуальные машины ) и Container Engine (кластеры Kubernetes) .
В нашем случае мы будем использовать App Engine. Абстрагирует инфраструктуру прочь. Давайте приступим к развертыванию нашего знаменитого приложения Star Wars в Google App Engine.
При использовании Google App Engine вы можете выбрать стандартную или гибкую среду. Последнее, как следует из названия, позволяет установить любое расширение PHP, которое работает в Debian Linux, имеет настраиваемый веб-сервер Nginx, доступную для записи файловую систему, последние версии PHP и позволяет запускать сценарии развертывания с использованием composer.json
.
Мы будем использовать гибкую среду. Идите вперед и создайте новый проект . Нажмите « Создать» , дайте проекту имя, выберите регион, в котором вы хотите разместить свое приложение, и включите биллинг.
Примечание: вы не будете платить без вашего разрешения.
Теперь загрузите Google SDK и установите инструменты Google Cloud.
Установка Google SDK
Запуск gcloud
Создайте файл app.yaml
в корне нашего проекта следующим образом:
app.yaml
runtime: php env: flex
Итак, наш файл .env
был .env
в Google Cloud. Альтернативой этому является добавление переменных среды в файл app.yaml
следующим образом:
... env_variables: # The values here will override those in ".env". This is useful for # production-specific configuration. However, feel free to set these # values in ".env" instead if you prefer. APP_LOG: errorlog
Теперь разверните свое приложение с консоли, запустив gcloud app deploy
.
Захватите URL, в моем случае это https://starwars-166515.appspot.com/
, и добавьте URL-адреса Allowed Origins (CORS) и Allowed Callback в вашу панель Auth0 . Также добавьте URL к AUTH0_CALLBACK_URL
в вашем .env
файле.
Запустите gcloud app deploy
снова, чтобы подготовить новую версию приложения. Проверьте свое приложение сейчас. Надо жить так:
Живое приложение
База данных, кэширование и Cron Jobs
Google Cloud предоставляет платформу Cloud SQL Instance. Узнайте, как настроить, подключить и создать экземпляры MySQL для вашего приложения здесь .
Вы также можете использовать phpMyAdmin в Google App Engine .
Google App Engine включает в себя реализации стандартных API Memcache и Memcached . Узнайте, как использовать Memcache в своем приложении в Google Cloud .
Служба Cron App Engine позволяет настраивать регулярно запланированные задачи, которые выполняются в определенное время или через определенные промежутки времени. Узнайте, как планировать задания cron и использовать очереди задач с PHP в Google Cloud .
Относительно легко развернуть приложения Laravel , Symfony и WordPress на облачной платформе Google.
IBM BlueMix
IBM Bluemix позволяет легко конфигурировать, развертывать и масштабировать в мощной высокопроизводительной глобальной облачной инфраструктуре. Давайте приступим к развертыванию нашего знаменитого приложения Star Wars в IBM Bluemix.
Зарегистрируйтесь в Bluemix примерно так:
Зарегистрироваться на Bluemix
Примечание. Платформа Bluemix предлагает 30-дневную бесплатную пробную версию, поэтому у вас есть возможность попробовать развернуть собственное приложение, прежде чем передавать данные своей кредитной карты.
Идите вперед и создайте организацию и пространство. Я назвал мой космический prod
.
Теперь продолжайте и установите CLI Cloud Foundry . Как только вы это сделаете, войдите в систему с вашего терминала следующим образом:
cf api https://api.ng.bluemix.net/ cf login
Войдите в Bluemix
Следующим шагом является создание файла manifest.yml
в корневом каталоге приложения. Файл manifest.yml
содержит основную информацию о вашем приложении, такую как имя, объем памяти, выделяемый для каждого экземпляра, и маршрут. Наш файл манифеста должен выглядеть так:
--- applications: - name: starwarsapp memory: 512M instances: 1 host: starwarsapp
Вы также можете явно указать buildpack в файле манифеста. К счастью, Cloud Foundry автоматически определяет, какой сборочный пакет требуется, когда вы запускаете приложение.
Buildpacks предоставляют фреймворк и поддержку времени выполнения для ваших приложений. Buildpacks обычно проверяют предоставленные пользователем артефакты, чтобы определить, какие зависимости загружать и как настроить приложения для взаимодействия со связанными сервисами.
Наконец, разверните свое приложение, выполнив следующую команду следующим образом:
cf push <yourapp>
<yourapp>
должно быть уникальным именем.
Начало развертывания
Завершение развертывания
Попробуйте запустить приложение сейчас. В моем случае URL-адрес является starwarsapp.mybluemix.net
. К сожалению, ошибка 500. Мы еще не загрузили наши переменные окружения. Как мы это делаем с Bluemix?
Вы можете использовать CLI Cloud Foundry или пользовательский интерфейс Bluemix для установки переменных среды. Давайте использовать пользовательский интерфейс Bluemix. Итак, следуйте инструкциям ниже:
-
Откройте приборную панель Bluemix.
-
Нажмите на приложение. Вы будете перенаправлены на другую страницу с более подробной информацией о приложении.
-
Выберите Runtime на левой панели.
-
Теперь нажмите на переменные окружения
-
Прокрутите вниз и нажмите кнопку Добавить , чтобы добавить переменные среды, например, так
-
Нажмите кнопку
Save
. Как только вы это сделаете, ваше приложение будет автоматически перезагружено.
Теперь возьмите URL-адрес, в моем случае это https://starwarsapp.mybluemix.net/
, и добавьте его в URL-адреса Allowed Origins (CORS) и Allowed Callback на панели Auth0 .
Теперь проверьте ваше приложение — оно должно быть вживую!
База данных, кэширование и Cron Jobs
Cloud Foundry предоставляет возможность создавать сервисы. IBM Bluemix предлагает базу данных Cloudant NoSQL (имя Bluemix для CouchDB). Вы можете использовать инструмент cf
для создания служб баз данных, например, так:
cf create-service cloudantNoSQLDB Lite starwarsapp
IBM Bluemix также предлагает сервис ClearDB MySQL. Таким образом, вы можете использовать инструмент cf
для его создания следующим образом:
cf create-service cleardb spark starwarsapp
Они предлагают MongoDB , PostgreSQL и RethinkDB .
Вы всегда можете использовать инструмент Cloud Foundry для проверки множества вещей, таких как журналы, переменные среды и т. Д., Например:
-
cf logs --recent yourapp
— показывает журналы вашего приложения. -
cf env yourapp
— показывает переменные среды, связанные с вашим приложением. -
cf marketplace
— показывает все услуги, которые Bluemix может предложить.
IBM Bluemix также предлагает Redis Cloud , полностью управляемый облачный сервис для размещения и запуска набора данных Redis в BlueMix в доступной и масштабируемой форме.
IBM Bluemix предоставляет сервис Workload Scheduler . Этот сервис позволяет интегрировать ваше приложение с возможностью планирования рабочих процессов. Вне рамок cron используйте планирование заданий внутри и вне Bluemix. Легко создавайте рабочие процессы в своем приложении, чтобы запускать их регулярно, в определенное время, на событиях (например, при удалении или обновлении файла), в соответствии с вашими потребностями. Вы можете использовать пользовательский интерфейс Workload Scheduler или использовать API.
Начните с планирования рабочих мест здесь .
Кроме того, здесь описано, как развернуть приложение Laravel в IBM Bluemix .
Microsoft Azure
Microsoft Azure — еще одна мощная облачная платформа, которая позволяет легко масштабировать приложения. Давайте начнем с развертывания нашего приложения Star Wars на Azure.
С помощью Microsoft Azure вы можете выполнить развертывание через:
- FTP.
- Синхронизация с облачной папкой.
- Местный Гит.
- Облачная служба контроля версий, такая как GitHub или Bitbucket.
В нашем случае мы настроим развертывание с помощью Git.
-
Сначала создайте учетную запись в Microsoft Azure .
Приборная доска -
Нажмите Новый на левой панели.
-
Нажмите Просмотреть все рядом с Marketplace.
-
Нажмите Web + SQL , затем продолжайте и создайте.
-
Вам будет предложено выбрать предложение для удобного вам типа подписки. Я выбрал бесплатную пробную версию . При этом вы получите кредит Azure на 200 долларов.
-
Дайте вашему приложению имя, затем создайте базу данных SQL. Ну, это не нужно для нашего приложения, но по какой-то причине Azure заставляет вас его создавать.
Создать новое приложение -
Теперь, когда наше приложение создано, нажмите « Службы приложений » на левой панели, чтобы увидеть ваше приложение.
Новое приложение -
Нажмите на приложение, выберите параметры развертывания , затем нажмите на
GitHub
. -
Авторизуйте доступ к своему репо, выберите проект и ветку. В моем случае у меня есть
azure
ветка. Это ветка, которую я буду использовать для развертывания своего кода на платформе Azure. -
Проверьте уведомления о развертывании.
Теперь перейдите по
http://[yoursitename].azurewebsites.net
. В моем случае этоhttp://starwarzapp.azurewebsites.net
.К сожалению, ошибка HTTP 500. Что происходит? Хорошо, нам нужно снова установить переменные окружения.
-
Перейдите к своему приложению в Службах приложений , нажмите Настройки приложения , а затем добавьте переменные среды справа.
Теперь захватите URL-адрес приложения, в моем случае это http://starwarzapp.azurewebsites.net/
и добавьте URL-адреса Allowed Origins (CORS) и Allowed Callback в вашу панель Auth0 .
-
По умолчанию развертывание Azure ничего не делает с нашим файлом
composer.json
илиcomposer.lock
. Таким образом, пакет не устанавливается. Теперь вернитесь в Службы приложений , щелкните свое приложение, затем перейдите в Инструменты разработки и выберите Расширение . Выберите расширениеComposer
и согласитесь с правовыми условиями. -
Теперь внесите небольшие изменения в свое приложение и снова нажмите на GitHub. Вы должны увидеть это развертывание так:
-
Теперь проверьте ваше приложение снова. Надо жить и работать!
База данных, кэширование и Cron Jobs
Microsoft Azure предлагает Azure Redis Cache . Он основан на популярном кеше Redis с открытым исходным кодом. Его легко создавать и использовать так:
- Нажмите Создать> Данные + Хранилище> Redis Cache .
- Введите имя кеша, выберите регион и создайте его.
Проверьте документацию о том, как использовать это.
Для планирования и выполнения задач Azure предлагает Планировщик . Это позволяет вам:
- Позвоните в Службу внутри или за пределами Azure.
- Запускайте задания по любому графику.
- Используйте очереди хранилища Azure для длительных или автономных заданий.
- Вызовите очереди служебной шины Azure.
Узнайте, как создавать задания и управлять ими с помощью планировщика .
Мы уже немного говорили о настройке базы данных во время развертывания нашего приложения, но давайте быстро рассмотрим, как настроить базу данных MySQL.
-
Войдите в портал Azure.
-
Нажмите Новый в левой панели панели инструментов. Выберите Data + Storage в Marketplace, затем выберите базу данных MySQL.
-
Идите вперед и настройте новую базу данных MySQL. Введите имя, выберите подписку, местоположение и заполните необходимые поля. Создайте!
-
Подключиться к базе данных.
Разработчики Laravel могут легко настроить базу данных MySQL для своих приложений в Azure .
Amazon Web Services
Все больше компаний используют AWS (Amazon Web Services) для хранения всех видов данных, от изображений и mp3-файлов до видео, чем любая другая облачная платформа. Фактически, многие организации, такие как Uber, Spotify или Salesforce, полностью используют Amazon Web Services — для размещения, развертывания и инфраструктуры. AWS имеет массу продуктов для разработчиков.
Сервис, который мы будем использовать для развертывания нашего известного приложения StarWars, — Amazon Elastic Beanstalk . Давайте начнем.
- Зарегистрируйте учетную запись AWS, если у вас ее нет.
- Пройдите к консоли Elastic Beanstalk .
- Создать новое приложение.
- Нажмите на
create web server
. - Создайте среду веб-сервера.
- Загрузите свой код. Elastic Beanstalk требует, чтобы вы загрузили zip-файл вашей кодовой базы. Вы можете вручную заархивировать его, но я предпочитаю делать это из моего терминала следующим образом:
zip ../starwarsapp.zip -r * .[^.]*
- Теперь загрузите его в AWS примерно так:
- Проверьте доступность для URL приложения. Моя выглядит так:
- Следующая страница позволяет нам настроить экземпляр базы данных. Наше приложение не требует, поэтому мы можем пропустить это.
- Этот шаг позволяет нам изменить наши детали конфигурации. По умолчанию это нормально для нашего приложения.
- Теперь добавьте переменные окружения следующим образом:
Теперь возьмите URL-адрес, в моем случае это http://starwarzapp.us-west-2.elasticbeanstalk.com
и добавьте URL-адреса Allowed Origins (CORS) и Allowed Callback в вашу панель Auth0 . Убедитесь, что вы добавили его как переменную среды в Elastic Beanstalk.
- Добавить разрешение вроде так:
- Просмотрите информацию перед запуском.
- Launch.
Живое приложение
Проверьте, как развернуть:
- Приложение Laravel для Elastic Beanstalk .
- Приложение CakePHP для Elastic Beanstalk .
- Приложение Symfony2 для Elastic Beanstalk .
- Сайт WordPress для Elastic Beanstalk .
- Сайт Drupal для Elastic Beanstalk .
База данных, кэширование и Cron Jobs
Вы можете использовать экземпляр БД Amazon Relational Database Service (Amazon RDS) для хранения данных, собранных и измененных вашим приложением. База данных может быть присоединена к вашей среде и управляться Elastic Beanstalk, или создаваться и управляться извне. Узнайте, как легко добавить экземпляр БД в ваше приложение .
Для кэширования Amazon Web Services предлагает ElastiCache . Это веб-сервис, который упрощает развертывание, эксплуатацию и масштабирование хранилища данных в кэш-памяти в кэш-памяти. Amazon ElastiCache поддерживает два механизма в памяти с открытым исходным кодом:
- Redis .
- Memcached.
Amazon ElastiCache автоматически обнаруживает и заменяет отказавшие узлы, снижая накладные расходы, связанные с самоуправляемыми инфраструктурами, и обеспечивает отказоустойчивую систему, которая снижает риск перегруженных баз данных, что замедляет работу веб-сайтов и увеличивает время загрузки приложений. Благодаря интеграции с Amazon CloudWatch Amazon ElastiCache обеспечивает улучшенную видимость ключевых показателей производительности, связанных с вашими узлами Redis или Memcached.
Такие компании, как AirBnb , Healthguru , PlaceIQ и Tokyo Data Network, используют ElastiCache для кэширования на нескольких уровнях, охватывающих фрагменты HTML, результаты дорогостоящих запросов к БД, данные промежуточных сеансов и результаты поиска.
Узнайте, как установить ElastiCache Cluster Client для PHP здесь .
Вот отличный пост по созданию счетчика посетителей PHP с ElastiCache и Elastic Beanstalk
Вы можете настроить работу cron на Elastic Beanstalk. Узнайте, как запускать задания cron в Amazon Web Services (AWS) Elastic Beanstalk .
Laravel Forge
Laravel Forge , созданная Тейлором Отвеллом, — это платформа, которая помогает вам развернуть и запустить приложение за считанные минуты. Это делает тяжелую работу для вас. Forge заботится о предоставлении ваших серверов популярным провайдерам облачного хостинга, таким как Linode, Digital Ocean и AWS. Первоначально он был создан для приложений Laravel, но теперь он поддерживает практически любое приложение PHP.
Laravel Forge
Laravel Forge позволяет вам легко выполнять следующие действия, помимо предоставления серверов:
- Он интегрируется с LetsEncrypt для создания бесплатных сертификатов SSL для ваших приложений.
- Легко управлять заданиями и очередями.
- Сотрудничество с вашей командой, предоставив коллегам панель управления вашего сервера.
У Мэтта Штауффера есть потрясающая статья о развертывании вашего первого приложения Laravel в Forge .
У Джеймса Фэйрхерста также есть отличное руководство по использованию Laravel Forge для настройки сервера AWS .
Laracasts.com, самая популярная образовательная платформа PHP, предлагает серию по управлению серверами с помощью Forge .
И, конечно же, мы упоминаем об этом в нашем курсе Laravel , а также освещаем его в подробных руководствах, подобных этим .
Envoyer
Envoyer — это платформа, которая позволяет развертывать PHP без простоев — это SaaS-версия Envoy . Он позволяет вам интегрироваться с различными сервисами, такими как Gitlab, Slack, Bitbucket и т. Д.
С Envoyer вы можете выполнять:
- Плавные откаты развертывания.
- Развертывание на нескольких серверах.
- Мониторинг Cron Jobs.
- Выполните проверки работоспособности приложения.
Deployer
Deployer — это инструмент развертывания для PHP. Это позволяет вам делать следующее:
- Запускайте задачи параллельно.
- Атомное развертывание.
- Rollbacks.
- Создание сценариев развертывания в виде рецептов.
Он работает с Laravel , Symfony , CakePHP , Yiiframework , Zend , FuelPHP , Drupal , WordPress и Magento . Прочтите эту прекрасную статью о развертывании PHP-приложений с помощью Deployer .
Вывод
Мы никак не можем охватить все возможные варианты развертывания приложений PHP. PHP — это корпоративный язык, который развивался на протяжении многих лет, поэтому он требует более эффективных способов развертывания приложений PHP с локального компьютера в производство. Надеемся, что это руководство охватывает все ваши основные потребности для развертывания приложений PHP на всех основных облачных провайдерах. Тем не менее, есть еще один ресурс, который я рекомендую для обширных знаний по обучению развертыванию приложений PHP .
Как вы справились со своими развертываниями? Пожалуйста, дайте мне знать в комментариях ниже!