GithubHelp home page GithubHelp logo

brucewu16899 / nginx-php-fpm-1 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from dwchiang/nginx-php-fpm

0.0 0.0 0.0 283 KB

Running PHP 8.0/7.4/7.3 with merged nginx & php-fpm on Alpine and Debian in cloud native way. Arch supports amd64/arm64.

Home Page: https://hub.docker.com/r/dwchiang/nginx-php-fpm

License: Apache License 2.0

Makefile 2.11% Shell 6.51% PHP 83.13% Blade 8.25%

nginx-php-fpm-1's Introduction

dwchiang/nginx-php-fpm

A Docker image (Dockerfile) that merged nginx & php-fpm into one bite on Debian/Alpine for cloud native, AWS Fargate, Amazon ECS, amd64/arm64.

Brought to you by Ernest Chiang, an AWS Community Hero.

GitHub Workflow Status Docker Pulls

You may also be interested in: Workshops: Running Laravel on AWS ECS.


Supported tags and respective Dockerfile links

PHP 8.0

PHP 7.4

PHP 7.3


Quick reference


Features

  • EXPOSE 80.
  • Using supervisord to manage the processes of nginx and php-fpm.
  • Load minimized PHP Extensions.
  • Run scripts in /docker-entrypoint.d/

Getting Started


Original Intention

I love PHP since PHP3 (1997) and I'm very happy to run more PHP applications and services in a cloud native way. I mainly tunes it to run on Amazon ECS, but you can run on any platforms or local machines.


Introduction

This Docker image is designed to run all kinds of PHP applications by decoupling into 2 parts:

  • Part 1: Base image,
  • Part 2: PHP extension installation & PHP application and configuration.

These two parts are separated Dockerfiles. This project repository will maintain the Part 1: base images, and having some reference examples for Part 2. You can find a Dockerfile of Part 2 as reference, and modify it for fitting into your project by adding some PHP extensions and maybe a few extra scripts.

Part 1: Base image

The base image is basically merged from official php-fpm and nginx Dockerfiles. Plus supervisord to manage the processes of nginx and php-fpm. Plus configuration files for nginx.

Here list some useful pathes you may want to modify at Part 2:

  • /usr/share/nginx/html: Place your static files here.
  • /var/www/html: Place your PHP application files here.
  • /etc/nginx/conf.d/*.conf: If you have some other extra nginx conf files, place here.
  • /etc/supervisor/conf.d/*.conf: If you have some other extra supervisor conf files, place here.
  • /docker-entrypoint.d/*.sh: If you have some other extra shell scripts, place here. Filename format {number}-{customName}.sh. Remember to chmod +x` on these script files.

You can find the base image Dockerfiles in these folders:

  • buster
  • alpine3.12

These base images will be uploaded to dwchiang/nginx-php-fpm on Docker Hub.

Part 2: PHP extension installation & PHP application and configuration

Part 2 is designed to be flexible.

Flexible means you can install minimized PHP extensions based on the needs of your PHP application. (Or any PHP extensions you wants.)

You can get into your container and check the included PHP modules by using php -m.

You can find these Dockerfiles in the root folder of this repository dwchiang/nginx-php-fpm on GitHub:

  • Dockerfile-8.5.5-laravel-buster: Running Laravel 8.5.5 on Buster (Debian 10)
  • Dockerfile-8.5.5-laravel-alpine3.12: Running Laravel 8.5.5 on Alpine 3.12
  • Dockerfile-7.30.0-laravel-buster: Running Laravel 7.30.0 on Buster (Debian 10)
  • Dockerfile-7.30.0-laravel-alpine3.12: Running Laravel 7.30.0 on Alpine 3.12
  • Dockerfile-7.25.0-laravel-buster: Running Laravel 7.25.0 on Buster (Debian 10)
  • Dockerfile-7.25.0-laravel-alpine3.12: Running Laravel 7.25.0 on Alpine 3.12

This project will not upload the images of Part 2 on Docker Hub.

Please kindly use Part 2 as your Dockerfile reference to build your own Dockerfile, and enjoy the fun :)

You can also have a try to this Workshops: Running Laravel on AWS ECS.

Please find the docker build detailed parameters at the buildlaravel section in the Makefile.


License

View license information of nginx, PHP, Laravel for the software contained in this image.

As with all Docker images, these likely also contain other software which may be under other licenses (such as Bash, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained).

Some additional license information which was able to be auto-detected might be found in the repo-info repository's nginx/ directory and the repo-info repository's php/ directory.

As for any pre-built image usage, it is the image user's responsibility to ensure that any use of this image complies with any relevant licenses for all software contained within.

nginx-php-fpm-1's People

Contributors

dwchiang avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.