This project was completed as part of the AWS DevOps Engineer Intern Assignment.
The objective was to launch an AWS EC2 instance, configure a Linux server, deploy a static website using Nginx, manage the project with Git & GitHub, and document the complete implementation.
| Field | Details |
|---|---|
| Name | Jai Dev |
| College | Punjab Technical University |
| Branch | B.Tech β Computer Science Engineering |
| jaidevvalmiki2244@gmail.com | |
| GitHub | https://github.com/JaidevCodes |
- Launch an Ubuntu EC2 Instance
- Configure Security Groups
- Connect via SSH
- Install and Configure Nginx
- Host a Static Website
- Perform Linux Administration Tasks
- Upload Project to GitHub
- Prepare Documentation
- Amazon EC2
- Amazon VPC
- Security Groups
- Internet Gateway
- AWS EC2
- Ubuntu Linux
- Nginx
- HTML5
- Git
- GitHub
AWS-DevOps-Intern-Assignment/
β
βββ index.html
βββ README.md
βββ screenshots/
β βββ ec2-dashboard.png
β βββ security-group.png
β βββ ssh-login.png
β βββ nginx-installation.png
β βββ website.png
β βββ ...
βββ report/
βββ AWS_DevOps_Intern_Assignment_Report.pdf
- Ubuntu Server
- t2.micro
- Default VPC
| Type | Port |
|---|---|
| SSH | 22 |
| HTTP | 80 |
ssh -i your-key.pem ubuntu@<EC2-Public-IP>Update packages
sudo apt updateInstall Nginx
sudo apt install nginx -yCheck status
sudo systemctl status nginxRestart Nginx
sudo systemctl restart nginxDisk Usage
df -hMemory Usage
free -hRunning Processes
ps auxEdit Website
sudo nano /var/www/html/index.htmlThe default Nginx page was replaced with a custom HTML page containing:
- Name
- College
- Branch
- Current Date
The website was successfully accessed using the EC2 Public IP.
Initialize Repository
git initAdd Files
git add .Commit
git commit -m "Initial Commit"Push
git push origin mainInitially, I tried connecting to the EC2 instance using Windows Command Prompt (CMD). After facing connection issues, I switched to PowerShell, but the problem persisted. Finally, I used Git Bash, where the SSH connection worked successfully after using the correct private key and command syntax.
Resolution
- Switched from CMD β PowerShell β Git Bash
- Verified the correct
.pemfile - Used the proper SSH command
While pushing the project, Git returned a non-fast-forward error because the remote repository already contained commits.
Resolution
git pull origin main
git push origin mainI initially forgot to push the screenshots folder to GitHub.
Resolution
git add .
git commit -m "Added screenshots"
git push- AWS EC2 Instance Management
- Linux Server Administration
- Security Group Configuration
- SSH Connectivity
- Installing Nginx
- Hosting Static Websites
- Git & GitHub Workflow
- Troubleshooting SSH and Git Issues
Approximately 5 Hours
The repository includes screenshots for:
- EC2 Dashboard
- Security Group
- SSH Login
- Nginx Installation
- Nginx Running Status
- Linux Commands
- Hosted Website
- GitHub Repository
The complete project documentation is available in the report included with this repository.
This assignment provided hands-on experience with AWS infrastructure, Linux server administration, Nginx web hosting, Git version control, and GitHub collaboration. It strengthened my understanding of DevOps fundamentals and practical cloud deployment workflows.
As part of the bonus task, Docker was installed and configured on the Ubuntu EC2 instance.
sudo apt update
sudo apt install docker.io -y
sudo systemctl start docker
sudo systemctl enable docker
sudo docker run hello-worldDocker service was verified to be running successfully.
sudo systemctl status dockerThe hello-world container was executed successfully, confirming that Docker was installed and functioning correctly.
sudo docker run hello-worldIf you found this project useful, feel free to star the repository.
GitHub Repository:
https://github.com/JaidevCodes/AWS-DevOps-Intern-Assignment

