My experiments with Nginx, Docker, and Python web hosting.
Each folder is a standalone project and contains its own README.md which describes how to run it, and how it works.
To run the projects:
- Install Docker Desktop.
- Run
git clone https://github.com/yuxiliu1995/webdev-experiments.git. - Go into each folder and follow the
README.mdwithin.
Table of contents:
hello: A website that showsHello World!.counter: Counts how many times it is hit by HTTP requests and displays it on the webpage.reverse-proxy: Performs reverse proxying, with two servers on the backend. One takes 2/3 of the load, and the other 1/3. It also does caching for 2 seconds.wsgi: An attempt at recreating WSGI according to WSGI for Web Developers (Ryan Wilson-Perkin) - YouTube.doublestroop: A website that serves a double Stroop test puzzle, and checks the user's answers. It uses Flask.weather: Select a location on a map and get a weather forecast for that location. It uses Leaflet for rendering the map, and NOAA or OpenWeatherMap for retrieving the weather forecast by an API call.torrent: Enter a magnet link and get the information about the magnet resource as well as the peers connected. It uses Flask and WebTorrent (javascript).docker: Something rather low-level: how to use TCP ports. It has two Docker engines that create two containers. The first one,Dockerfile_telnet, creates a container that runs a telnet server. The second one,Dockerfile, creates a container that runs asshserver. TheREADME.mdin the folder describes how to connect to thesshserver from the localhost machine, and how you can create the world's smallest webserver usingncandbashthat is listening on a port 80, then tunnel it out of the container into the localhost port.opossum search: I saw it in Google Gemini's paper and figured it's worth a try.