Can anyone explain what web services are, how do they work and how to create and deploy a web service?
A webservice isn’t a very specific term. It can be used to define a service that accepts requests from the clients and send them appropriate results, or it can be a service that establish connection between two separate softwares, or something as simple as a static HTML website.
How webservices work, or how they are deployed depends totally on what they are intended to do. If it is a simple website you can use Apache or Nginx to host it. If it is a Node app that queries the database, aggregates the result, and send out the required result, you might want to expose a random port with some IP whitelisting.
If you want to learn how to deploy a website and use Nginx reverse proxy, you can refer to A step by step guide to use NGINX. If you have something specific in mind, feel free to let me know.