Questions: Web Development Hosting and Raspberry Pi/Arduino

Hello!
I’m a newbie in web development, I know some stuff about web & graphic design, hosting websites with CMS like WordPress and I would like to become a Full-Stack Web Developer.

I study, watch a couple of seminars/cources etc and I’m kind of a little confused
so here are my questions:

  1. With only 1 Linux VPS (Ubuntu Server, CentOS etc.) and 1 IP,
    can I host many web-apps?
    (written with either node.js & express or python django/flask
    with different urls (ie: https://app1.com, https://app2.com).
    I'm confused about this because I was using web-hosting management control panels such Webmin or CentOS Web Panel, where I was hosting websites using WordPress, joomla! etc. (PHP).
    Is the process the same? I just create a new account for app1, configure it's hosting, firewall, resources etc, and run the "app.js" using command line?
  2. Should I learn Amazon Web Services or Google Cloud or DigitalOcean?
  3. My major is Industry Design and Production and my focus is on Robotics/Automation.
    Can I create a web-app (hosted on a VPS) where it will connect with an Arduino or Raspberry (in my home with DynDNS (every port will be forwarded etc.) and be able to remote control from anywhere in the world?
    Even better being able to inject Python or C code on them (using security methods of course.
That's all for now! Many thanks!
  1. Yes. On different ports you can have different servers.
  2. Chose the simplest and most affordable. They are all good. I though prefer UpCloud.
  3. Yes. Using fixed IP-addresses this should be possible.
  1. Same port, different URLS possible?
    I want to create a dynamic webpage using python/javascript and I want to be accessible for all people.
    I know the ports (since I’m the developer) but Google or the Public User does not.

Theoretically you can have different url pointing to different ports, but I you may ask anybody more experienced than I am. I pass on this.