Port 9000 (PHP-FPM, SonarQube)
Port 9000 has several popular unofficial uses: PHP-FPM listens on 127.0.0.1:9000 in the usual Nginx setup, and SonarQube serves its web interface on 9000. IANA registers the number for CSlistener.
- Service
- PHP-FPM, SonarQube
- Protocol
- TCP
- IANA registry
- Assigned to a different service: cslistener (CSlistener), TCP/UDP. The use described here is not registered.
- Commonly used by
Check if a port is open on your IP
We only check the address you are visiting from, one TCP port at a time. You cannot enter someone else’s address: this is not a port scanner.
Is it safe to open port 9000?
PHP-FPM must never be reachable from outside: its FastCGI interface executes PHP for whoever connects. Keep it on 127.0.0.1 or a Unix socket, and put SonarQube or other consoles behind a login and TLS.
“Port 9000 is already in use”: how to fix it
The error means another program is already listening on port 9000. Find its process ID (PID), then stop that program or start yours on a different port.
Windows (Command Prompt or PowerShell as administrator)
netstat -ano | findstr :9000taskkill /PID <PID> /FmacOS
lsof -nP -iTCP:9000 -sTCP:LISTENkill <PID>Linux
sudo ss -ltnp | grep :9000sudo lsof -i :9000sudo kill <PID>Replace <PID> with the number from the last column (Windows) or the PID column (macOS, Linux).
Why a port can look closed when your server is running
Most home networks sit behind a router doing NAT: the router owns the public address, and your computer has a private one such as 192.168.1.10. A connection from the internet reaches the router and stops there unless you add a port forwarding rule to your computer.
Many mobile and some home providers go further and use carrier-grade NAT (CGNAT): several customers share one public address, and your router itself gets an address from 100.64.0.0/10. Then no rule on your side can open a port; ask the provider for a public IP or use a tunnel or VPN service.
Even with forwarding in place, the firewall on the computer (Windows Defender Firewall, ufw, firewalld) must allow the port, and the program must listen on all interfaces (0.0.0.0), not only on 127.0.0.1.
UDP cannot be checked this way: a UDP service usually stays silent to packets it does not understand, so “no answer” means nothing. This check uses TCP only.
Frequently asked questions
What is port 9000 used for?
Port 9000 has several popular unofficial uses: PHP-FPM listens on 127.0.0.1:9000 in the usual Nginx setup, and SonarQube serves its web interface on 9000. IANA registers the number for CSlistener.
Is port 9000 TCP or UDP?
Port 9000 uses TCP. This use is not registered with IANA.
Is it safe to open port 9000?
PHP-FPM must never be reachable from outside: its FastCGI interface executes PHP for whoever connects. Keep it on 127.0.0.1 or a Unix socket, and put SonarQube or other consoles behind a login and TLS.
How do I free port 9000 if it is already in use?
Find the process: on Windows run netstat -ano | findstr :9000 and stop it with taskkill /PID <pid> /F; on macOS or Linux run lsof -i :9000 and stop it with kill <pid>.