Microservices Boilerplate — with Lumen + Laravel + Nginx + Mysql → part (1/3)

Microservices Boilerplate — with Lumen + Laravel + Nginx + Mysql → part (1/3)

In this article i will demonstrate step by step how to dockerize your micro-services project withLumem and Laravel alongside with nginx as…

Intro

In this article, I will provide a step-by-step demonstration of the process of dockerizing your micro-services project with Lumen and Laravel alongside with nginx as a web server and mysql. This is the first part of a three article series.

This initial part will allow us to setup the foundation of our project, dockerize its main components and to establish the basics in order to make a fluid communication between all components.

Below is the Github repository related to this project:

https://github.com/shsma/microservices-workspace

Prerequisites:

  • Docker
  • Docker-compose
  • composer

Technologies

  • Lumen -v 6.x : It is the perfect solution for building Laravel based micro-services and blazing fast APIs. It is one of the fastest micro-frameworks available. 
  • https://lumen.laravel.com/
  • Laravel -v 6.x : Laravel is a web application framework with expressive, elegant syntax. 
  • https://laravel.com/
  • Nginx: It is a web-server that accelerates content and application delivery, improves security, facilitates availability and scalability for the busiest web sites on the Internet.
  • https://www.nginx.com/
  • We will be using php-7.4 alongside with the fpm procces manager.
  • We will be using mysql 8.0 and take advantage of it’s blazing speed.

Setup

Create the microservices-workspace folder:

->$ mkdir microservices-workspace && cd microservices-workspace

->$ mkdir apps

Now inside our workspace we create the docker folder and our two components curator and dipenser folders inside the apps folder.

  • Curator is the Laravel app that will contain the views and the core logic, alongside with the migrations and the models.
  • Dispenser is the Lumen app that will behave as the microservice that will dispense/answer the calls coming from the curator.

->$ composer create-project --prefer-dist laravel/laravel apps/curator

->$ omposer create-project --prefer-dist laravel/lumen apps/dispenser

We will create a docker folder that we will take care of later:

->$ mkdir docker

Finally, we need to create a docker-compose file at the root of our project:

->$ touch docker-compose.yml

nginx laravel mysql microservices lumen

Bootstrap 5 Complete Course with Examples

Bootstrap 5 Tutorial - Bootstrap 5 Crash Course for Beginners

Nest.JS Tutorial for Beginners

Hello Vue 3: A First Look at Vue 3 and the Composition API

Building a simple Applications with Vue 3

Deno Crash Course: Explore Deno and Create a full REST API with Deno

How to Build a Real-time Chat App with Deno and WebSockets

Convert HTML to Markdown Online

HTML entity encoder decoder Online

Microservices Boilerplate — with Lumen + Laravel + Nginx + Mysql → part (2/3)

Now that our setup is done, and the foundations for a scalable architecture is ready, we can move forward and think about the design of…

Best MySQL DigitalOcean Performance – ScaleGrid vs. DigitalOcean Managed Databases

Compare ScaleGrid MySQL vs. DigitalOcean Managed Databases - See which offers the best MySQL throughput, latency, and pricing on DigitalOcean across workloads.

Create a Docker for Laravel applications with Nginx and MySQL

Learn how to create a Docker setup for Laravel application with Nginx and MySQL

Php how to delete multiple rows through checkbox using ajax in laravel

In this article i will let you know to delete multiple rows through checkbox using ajax in laravel and before delete we will give a confirmation message.

How To Set Up Laravel App on Docker, With NGINX and MySQL

Deploying Your Laravel App on Docker, With NGINX and MySQL ... The original post was also uploaded here: Laravel Application on Docker.