How to set up the jupyterhub services?

I write the jhub services below:

c.JupyterHub.services = [
    {
        'name': 'public',
        'url':'http://0.0.0.0:9000',
        'command': [sys.executable, './public_handler.py'],
    }
]

And get the logs below:

swarmhub_jupyter_notebook.1.xwiw2rt3awaf@c5    | 03:26:45.926 - info: [ConfigProxy] Proxy API at http://127.0.0.1:8001/api/routes
swarmhub_jupyter_notebook.1.xwiw2rt3awaf@c5    | [I 2021-11-15 03:26:46.017 JupyterHub app:2362] Starting managed service public at http://0.0.0.0:9000
swarmhub_jupyter_notebook.1.xwiw2rt3awaf@c5    | [I 2021-11-15 03:26:46.018 JupyterHub service:316] Starting service 'public': ['/opt/conda/bin/python', './public_handler.py']
swarmhub_jupyter_notebook.1.xwiw2rt3awaf@c5    | [I 2021-11-15 03:26:46.024 JupyterHub service:121] Spawning /opt/conda/bin/python ./public_handler.py
swarmhub_jupyter_notebook.1.xwiw2rt3awaf@c5    | WARNING:tornado.access:404 GET /services/public/ (10.0.4.87) 1.16ms
swarmhub_jupyter_notebook.1.xwiw2rt3awaf@c5    | [I 2021-11-15 03:26:46.595 JupyterHub proxy:319] Checking routes
swarmhub_jupyter_notebook.1.xwiw2rt3awaf@c5    | [I 2021-11-15 03:26:46.596 JupyterHub proxy:399] Adding default route for Hub: / => http://10.0.4.87:8081
swarmhub_jupyter_notebook.1.xwiw2rt3awaf@c5    | [W 2021-11-15 03:26:46.599 JupyterHub proxy:373] Adding missing route for public (Server(url=http://dcca995330d5:9000/services/public/, bind_url=http://0.0.0.0:9000/services/public/))
swarmhub_jupyter_notebook.1.xwiw2rt3awaf@c5    | [I 2021-11-15 03:26:46.602 JupyterHub proxy:242] Adding service public to proxy /services/public/ => http://dcca995330d5:9000
swarmhub_jupyter_notebook.1.xwiw2rt3awaf@c5    | [I 2021-11-15 03:26:46.612 JupyterHub app:2422] JupyterHub is now running at http://0.0.0.0:8000/

my question is where to find the path /services/public/ and how to get into it?

First, if the proxy and hub are both running on the same machine, you might want "url": "http://127.0.0.1:9000" since everything will be talking to the service over localhost. Unless there are additional components that need to access it across a network.

where to find the path /services/public/ and how to get into it?

That would be added to the public Hub url, so e.g.: http://your-hub-host:8000/services/public/

If you are running a recent JupyterHub, there will also be a link to services from the hub home page:

which will take you there.

If I create the nbviewer services ,where I can find the local path to put my notebook in like this website:
https://jupyter.brynmawr.edu/hub/login

Thanks for your answer. I would have two questions:
1-what if we want to land directly in /services/public rather than choosing it in the browser => services
2-what about when hub and proxy are not running on single machine, e.g., in the case of z2jh