How to host a PHP file with AWS?


After many hours of reading documentation and messing around with Amazon Web Services. I am unable to figure out how to host a PHP page.

Currently I am using the S3 service for a basic website, but I know that this service does not support dynamic pages. I was able to use the Elastic Beanstalk to make the Sample Application running PHP. But i have really no idea how to use it. I read up on some other services but they don’t seem to do what I want or they are just way to confusing.

So what I want to be able to do is host a website with amazon that has dynamic PHP pages. Is this possible and what services do you use?


For a PHP app, you really have two choices in AWS.

Elastic Beanstalk is a service that takes your code, and manages the runtime environment for you – once you’ve set it up, it’s very easy to deploy, and you don’t have to worry about managing servers – AWS does pretty much everything for you. You have less control over the environment, but if your server will run in EB then this is a pretty easy path.

EC2 is closer to conventional hosting. You need to decide how your servers are configured & deployed (what packages get installed, what version of linux, instance size, etc), your system architecture (do you have separate instances for cache or database, whether or not you need a load balancer, etc) and how you manage availability and scalability (multiple zones, multiple data centers, auto scaling rules, etc).

Now, those are all things that you can use – you dont have to. If you’re just trying to learn about php in AWS, you can start with a single EC2 instance, deploy your code, and get it running in a few minutes without worring about any of the stuff in the previous paragraph. Just create an instance from the Amazon Linux AMI, install apache & php, open the appropriate ports in the firewall (AKA the EC2 security group), deploy your code, and you should be up & running.

Leave a Reply