Elastic Beanstalk Multi Container PHP-FPM + Nginx Demo App

Overview

Elastic Beanstalk Multi Container PHP-FPM + Nginx Demo App

This demo app shows you how to run a simple PHP application using the PHP-FPM and Nginx Docker images from the official Docker library.

Run the App

Follow the steps below to deploy this application to an Elastic Beanstalk Multi-container Docker environment. Accept the default settings unless indicated otherwise in the steps below:

  1. Download the ZIP file from the Releases section of this repository.
  2. Login to the Elastic Beanstalk Management Console
  3. Click 'Create New Application' and give your app a name and description
  4. Click 'Create web server' and select an IAM instance profile to use.
    Note: Please ensure the IAM instance profile you select has the necessary permissions. For more information, see Container Instance Role
  5. Choose 'Multi-container Docker' in the 'Predefined configuration' dropdown and click Next
  6. Upload the ZIP file downloaded in step 1
  7. Review and launch the application
Comments
  • Invalid Dockerrun.aws.json version

    Invalid Dockerrun.aws.json version

    Getting

    INFO  [26070] - [Application update/AppDeployStage0/AppDeployPreHook/03build.sh] : Activity execution failed, because: Invalid Dockerrun.aws.json version, abort deployment (ElasticBeanstalk::ExternalInvocationError)
    caused by: Invalid Dockerrun.aws.json version, abort deployment (Executor::NonZeroExitStatus)
    

    In the eb-activity.log. Enclosing version number in double-quotes does not help. Could it have something to do with my environment? I left mostly everything default.

    opened by kazysgurskas 1
  • Sorry but Not works...

    Sorry but Not works...

    2019-10-03 12:29:55 UTC+0200 | ERROR | Create environment operation is complete, but with errors. For more information, see troubleshooting documentation. -- | -- | -- 2019-10-03 12:29:47 UTC+0200 | WARN | Environment health has transitioned from Pending to Degraded. Command failed on all instances. Initialization completed 22 seconds ago and took 2 minutes. 2019-10-03 12:28:53 UTC+0200 | INFO | Command execution completed on all instances. Summary: [Successful: 0, Failed: 1]. 2019-10-03 12:28:53 UTC+0200 | ERROR | [Instance: i-02aaac5f276d1c2bc] Command failed on instance. Return code: 1 Output: Invalid Dockerrun.aws.json version, abort deployment. Hook /opt/elasticbeanstalk/hooks/appdeploy/pre/03build.sh failed. For more detail, check /var/log/eb-activity.log using console or EB CLI. 2019-10-03 12:28:48 UTC+0200 | ERROR | Invalid Dockerrun.aws.json version, abort deployment

    opened by xavisan 0
  • Real ip from ebs

    Real ip from ebs

    Hello, How can i get real ip from client? In nginx i have: proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Host $server_name; real_ip_header X-Forwarded-For; set_real_ip_from 10.0.0.0/8; Already fixed log format but still see ip from docker network, i mean ip is 172.17.0.1.

    opened by No1zzz 1
  • Reconfigure for multiple golang apps?

    Reconfigure for multiple golang apps?

    What do I need to change in order to use a golang app? I will eventually have several apps, running on different ports, each with their own "location /SomeOtherPage" entries. Changing conf.d/default.conf to this doesn't seem to work:

    `server { listen 80; server_name localhost;

    location / {
        proxy_pass          http://127.0.0.1:5001;
        proxy_http_version  1.1;
        proxy_set_header    Connection          $connection_upgrade;
        proxy_set_header    Upgrade             $http_upgrade;
        proxy_set_header    Host                $host;
        proxy_set_header    X-Real-IP           $remote_addr;
        proxy_set_header    X-Forwarded-For     $proxy_add_x_forwarded_for;
    
        }
    

    }`

    opened by dbvrac 2
  • weird naming

    weird naming

    This will not configure a nginx proxy, in fact it will configure a (more or less) standard nginx instance which uses php-fpm via TCP (which is several orders of magnitude slower than unix sockets, btw) on a seperate container.

    I think you should fix your nomenclature - its really confusing and will mislead beginners. Also : you should consider changing the example to unix sockets ... using TCP is a really, really bad idea unless you are absolutely forced to do so (like in a restricted intranet without filesystem access to your FPM daemon) - use the full power of AWS ... EC2 instances can be pretty limited if you dont want to invest hundreds of dollars, performance is a key factor

    opened by InternetPseudonym 0
  • example broken for single instance elastic beanstalk

    example broken for single instance elastic beanstalk

    Deploying Dockerrun.aws.json to a single ec2 instance managed by EB does not work. The elastic IP does not connect correctly to the running nginx container.

    • the ec2 instance is in a public subnet
    • the route table, igw, NAT and security groups are all correct
    • I can run a simple http server on the host machine (not in docker) and I can make http requests to the ec2 instance just fine.
    opened by againer 0
Owner
AWS Samples
AWS Samples
Engintron for cPanel/WHM is the easiest way to integrate Nginx on your cPanel/WHM server.

Engintron for cPanel/WHM is the easiest way to integrate Nginx on your cPanel/WHM server. Engintron will improve the performance & web serving capacity of your server, while reducing CPU/RAM load at the same time. It does that by installing & configuring the popular Nginx webserver to act as a reverse caching proxy for static files (like CSS, JS, images etc.) with an additional micro-cache layer to significantly improve performance of dynamic content generated by CMSs like WordPress, Joomla or Drupal as well as forum software like vBulletin, phpBB, SMF or e-commerce solutions like Magento, OpenCart, PrestaShop and others.

Engintron 632 Dec 14, 2022
Satu platform demo ringkas untuk rujukan Basic PHP

praktisphpmysql Satu platform demo ringkas untuk rujukan Basic PHP Demo https://legoom.biz.my/praktisphpmysql/ Belajar Koding Kemasukan Mei dan Septem

RB 11 Jun 21, 2022
Demo of using geo data in PHP web applications

phpgeo-demo Demo of using geo data in PHP web applications Goals Demonstrate basic data storage and retrieval methods using Geo specific data Orient t

J Corry 2 Jul 10, 2016
Demo for "Migrating into Layout Builder" from DrupalCon in 2021.

Migrating Into Layout Builder Demo For DrupalCon in 2021, I presented on Migrating Into Layout Builder. For this presentation, I came up with this sim

Chris Wells 10 Nov 3, 2022
A demo of deploying mediawiki to kubernetes

emwcon-demo Files needed for a demo of deploying mediawiki to kubernetes Prerequisites docker a kubernetes cluster a copy of mediawiki/core moved into

J H 7 Jun 22, 2022
Demo of automated testing use cases for the 2022 nationals

Tests automatisés aux finales nationales 2022 Test d'API (Module C2) Pour le module C2, les spécifications de l'API seront fournies dans la spécificat

Worldskills France - Web Technologies 1 Oct 15, 2021
Twitter like application made with Laravel in 10 hours. Demo at

Critter, A Twitter like application written with Laravel in under 10 hours by @msurguy Imagine Twitter is down again. It's dark outside, and how can y

Maksim Surguy 58 Nov 30, 2022
The completed blog demo project from Laravel 8 From Scratch.

Laravel From Scratch Blog Demo Project http://laravelfromscratch.com Installation First clone this repository, install the dependencies, and setup you

Jeffrey Way 379 Jan 5, 2023
TinyFileManager is web based file manager and it is a simple, fast and small file manager with a single file, multi-language ready web application

TinyFileManager is web based file manager and it is a simple, fast and small file manager with a single file, multi-language ready web application for storing, uploading, editing and managing files and folders online via web browser. The Application runs on PHP 5.5+, It allows the creation of multiple users and each user can have its own directory and a build-in support for managing text files with cloud9 IDE and it supports syntax highlighting for over 150+ languages and over 35+ themes.

Prasath Mani 3.5k Jan 7, 2023
A Multi-Framework Composer Library Installer

A Multi-Framework Composer Library Installer This is for PHP package authors to require in their composer.json. It will install their package to the c

Composer 1.4k Jan 3, 2023
Multi files uploader & image resizer

A PHP base class that you can use to upload any file into the server. It is a very lightweight class and highly customizable. You can use this class with any framework or with core PHP.

LCW 3 Aug 22, 2022
PHP backend Scripts to add and Manage Live tv Streaming android app

PHP Backend to Manage Live TV Streaming Android app Follow Given Steps to Setup Local Environment to run this php Script Setting Up Local Environment

Bikash Thapa 11 May 10, 2022
Retrieve MySejahtera App's data from MySejahtera API and show to users via web browser. Written in PHP

MySejahtera-PHP-Web Retrieve MySejahtera App's data from MySejahtera API and show to users via web browser. Written in PHP. Disclaimer This web app is

Sam Sam 3 Oct 21, 2022
SPFtoolbox is a Javascript and PHP app to look up DNS records such as SPF, MX, Whois, and more

SPFtoolbox is a Javascript and PHP app to look up DNS records such as SPF, MX, Whois, and more

Charles Barnes 216 Dec 30, 2022
A simple todo app, built with bootstrap, php native, mysql

A simple todo app, built with bootstrap, php native, mysql

Muhammad Fatkurozi 1 Apr 3, 2022
A Responsive Web Chat App Using Php , MySql and JavaScript

Web-Chat-App A Responsive Web Chat App Using Php , MySql and JavaScript Prerequisites XAMPP [Php Runtime Environment] click HERE To Download XAMPP Set

Luttapi 4 Jul 12, 2022
Instagram Clone App made with Laravel a PHP Framework

About Laravel Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experie

null 0 Jun 29, 2022
¡BACKEND OVER APP! API REST IMPLEMENTANDO CONCEPTOS DE ARQUITECTURA HEXAGONAL, DDD, TDD Y SOLID. HECHO EN LARAVEL & PHP

¡BACKEND OVER APP! API REST IMPLEMENTANDO CONCEPTOS DE ARQUITECTURA HEXAGONAL, DDD, TDD Y SOLID. HECHO EN LARAVEL & PHP

Cristian Camilo Vasquez 17 Dec 27, 2022
Crater is an open-source web & mobile app that helps you track expenses, payments & create professional invoices & estimates.

Introduction Crater is an open-source web & mobile app that helps you track expenses, payments & create professional invoices & estimates. Web Applica

Bytefury 6.7k Jan 1, 2023