I got one half day free and I spent it on building a LAMP on AWS AMI. I also wanted to squeeze Flask into Apache. So I also install/update Python 3.6, pip V.20.1, Apache wsgi and Flask. I wrapped up progress for now before I forgot all resources.
On AWS marketplace, everyone can pay for a good suit such as Django. I’m not interested in content creation unless there are interesting topics to resolve. I don’t know what left to do if I bought a solution; and I may get annoyed like everyone else if the solution causes more problems. To build on my own is more realistic and practical.
Installing a LAMP (Linux, Apache, MySQL, PHP) was smooth while following AWS tutorial.
Tutorial: Install a LAMP Web Server with the Amazon Linux AMI
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/install-LAMP.htmlTo build Flask is absolutely a different thing…. still failed before I fell asleep...
If I choose AWS EC2 Ubuntu instance, most tutorials are based on this Linux version. Unfortunately I often am not one of the ‘most’.... I chose AMI because it already got many built-ins. AMI Linux 2 is much like a purified environment. AWS also provides Red Hat, SUSE, Ubuntu, IIS, etc. If I want to use IIS, I try on Azure. Since I’m using AWS, I prefer to try AMI. But there are obvious obstacles…..
Here are some notes when I tried to fix dependencies. Installing Flask requires pip, python3 and apache wsgi module.
My original AMI was equipped with python2.7. I saw python 3.6 and pip 3.6 in the folder, but sudo wasn't able to use it. So I reinstalled them. (pip always complains about version updates anyway...)
1)
Here is a great indication to install python3 on AMI, but some directories are different. Sudo seems designed to refer to /etc/alternatives/ if commands were not found in /usr/bin
How to install Python 3.x on Amazon Linux EC2 instance
https://sixbyseven.dev/how-to-install-python-3-x-on-amazon-ec2-instance/
2)
Here is the resource to install pip
Install Python, pip, and the EB CLI on Linux
https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb-cli3-install-linux.html
3)
After I changed references to latest python3 and pip3.6(v.20.1)
sudo pip install Flask
Finally working.
4)
It’s a little difficult to find Apache wsgi module for AMI. Most tutorials are for Ubuntu. Finally I found a sample…
How to deploy Python Flask app to Apache (Httpd) running on Amazon Linux EC2 instance
https://issue.life/questions/35385431
sudo yum install mod24_wsgi
Currently posed here. There were other attempts to make Apache work for python, without wsgi’s help, configurations for Apache such as WSGIDaemonProcess, WSGIApplicationGroup wouldn’t work. I fixed wsgi fist and successfully started Apache before fixing python3 and pip. Apache still didn’t run python. But if I use python to start a web service, it works…… just not working within Apache’s folders….
There are still ways to go. I may already see the dawn, right?
Comments
Post a Comment