Ports

Your sites are served on 80 and 443, always. Those are Apache's ports, not the site's — there is no per-site port to change, which is the point: https://myapp.test works with nothing after the hostname.

The port you do choose is the one a proxy site forwards to, and the Ports panel is where you find out what is really listening where.

Checking one port

Type a number and press Check. You get every process holding it, with its PID, the command, the user, and the full argv — so you know what you are looking at before you do anything to it.

The same information from a terminal:

sudo lsof -nP -iTCP:80 -sTCP:LISTEN

Seeing everything at once

Rescan lists every listening TCP port on the machine in one pass, which is much cheaper than probing ports one at a time. Filter by port number or process name to narrow it.

The panel also keeps a short list of ports a dev machine tends to care about — 80, 443, 3000, 3306, 5173, 5432, 6379, 8000, 8080, 9000, 27017 — labelled with what usually owns them.

Stopping something

Kill process sends SIGTERM and waits two seconds for the process to exit. If it is still there, you are offered SIGKILL. The graceful signal comes first because dev servers generally want to clean up after themselves.

Some processes are refused outright, and the panel says why:

RefusedReason
PID 1 and belowSystem process
Vhostly's own server and its parentThe app would kill itself
Whatever holds Vhostly's API portSame, by a different route
launchd, kernel_task, WindowServer, loginwindow, systemstatsCritical macOS process

Apache is a special case. Killing an httpd worker accomplishes nothing — Apache respawns it immediately. The panel marks those rows and points you at the Apache panel, where stopping the service is the thing that actually works.

When 80 or 443 is taken

If something else already owns them, Apache will not start and every site is down at once. Usual culprits: nginx installed for something else, macOS's own Apache running from an old experiment, another local development tool, or a container publishing to the host.

Find it, stop it, then start Apache from the Apache panel. Moving Vhostly's sites to a different port is not an option — that is what the fixed 80/443 buys you.

Proxy upstreams

If a proxy site is enabled and nothing is listening on the port it forwards to, Vhostly tells you which site and which port. Apache will answer with 503 until the upstream comes up.

That is normally just a dev server you have not started yet. If the port has moved for good, edit the site rather than restarting things — and if you need a free port to move to, the app will suggest the lowest one available above whatever you give it.