sudo systemctl start nginx. To make it start automatically at boot, run sudo systemctl enable nginx, or do both at once with sudo systemctl enable --now nginx. Check it with systemctl status nginx: a running service shows Active: active (running). These commands work on every modern Linux distribution that uses systemd, including Ubuntu, Debian, AlmaLinux and Rocky Linux.
Before you start
- Connect with SSH. Commands that change a service need
sudo; root can leave it out. Viewing status and lists works without it. - systemd is the program that starts and supervises services on your server. A unit is one thing it manages; services end in
.service, and you can usually leave the suffix out.
systemctl commands at a glance
start and stop act now. enable and disable only change what happens at the next boot. A service can be running but disabled, or enabled but stopped.
How to start a service and enable it at boot
1
Start and enable
2
Check the status
enabled on the Loaded line means it starts at boot. Press q to leave the status view.Service names differ between distributions
Use the right name, or systemctl reportsUnit ... not found.
On Ubuntu 24.04, SSH listens through
ssh.socket by default. If you change the SSH port, follow how to change the SSH port, not just a restart of ssh.
Restart or reload?
reload tells the program to reread its config while it keeps running, so open connections aren’t dropped. Not every service supports it; if it doesn’t, systemctl says so. sudo systemctl reload-or-restart nginx uses reload when possible and restart otherwise.
How to list services
How to see why a service failed
1
Read the status
Active: line (for example failed (Result: exit-code)) and the last log lines underneath.2
Read more of the log
3
Fix and start again
After fixing the cause, clear the failed state and start it:
How to check it worked
sudo reboot and check again.
Frequently asked questions
What is the difference between systemctl and service?
service nginx restart is an older command. On systemd systems it passes the request on to systemctl, so both work, but systemctl has more options such as enable and status.
Why does systemctl say “Failed to connect to bus” or “System has not been booted with systemd”?
You are in a container, chroot or rescue system where systemd isn’t running. On a normal VPS boot this doesn’t happen.How do I edit a service’s settings without changing the package file?
Runsudo systemctl edit nginx. It creates an override file in /etc/systemd/system/nginx.service.d/ that survives package updates. See create a systemd service.
When do I need systemctl daemon-reload?
After you create or change a unit file by hand. systemctl edit does it for you.
Related guides
VPS and dedicated server guides
Every server guide in one place.
Create a systemd service
Run your own app as a service.
Read logs with journalctl
Find out why a service failed.
Check open ports
See what a service listens on.
Kill a process
Stop a program that hangs.
Checked against the official systemctl manual on 4 November 2026. Our test container doesn’t run systemd as its init system, so service start and stop commands were not tested there. Commands can differ on other distributions or releases.
Need Extra Help?
If you encounter any issues, our support team is ready to assist:- Live Chat: Quick assistance via our website.
- Support Ticket: Open a Ticket
- Discord: Join our Community
- Email: support@freakhosting.com
Last Updated: November 2026