seems the cherryPy have a standalone web server, is this suggested to deploy the application on Apache Server? or just use the standalone one? If so, any pros and cons between these decision? Thanks.
I recommend running cherrypy behind a general-purpose web server such as apache or nginx. While cherrypy is a powerful tool, apache (or similar) is much better at some things, most notably:
For example, cherrypy can serve static files, but Apache can do it much faster (after all, that's what it was written for in the first place), and it offers a lot of flexibility, such as selecting alternative content based on
Additionally, you can add all sorts of tools - traffic analysers, load balancing, bandwidth throttling, subnet filters, etc., without changing your cherrypy application at all.
By running cherrypy behind a proper web server, you can focus on your core functionality, and leave the rest to proven technology.