Ivy Consultants Inc.

Consulting Services for Security, Networking, Wi-Fi and Windows Server

In this lesson, you will learn how to manage system services in Linux using systemctl, a command-line utility for controlling the systemd system and service manager. Our focus will be on managing NGINX, a popular web server and reverse proxy service, using systemd.

Objectives

By the end of this lesson, you will understand how to:

  • Start, stop, and restart the NGINX service.
  • Enable and disable NGINX to start on boot.
  • Check the status of NGINX.
  • Reload NGINX configurations.

Starting, Stopping, and Restarting NGINX

Starting NGINX

To start the NGINX service immediately:

sudo systemctl start nginx

Stopping NGINX

To stop the NGINX service:

sudo systemctl stop nginx

Restarting NGINX

To restart the NGINX service (useful for reloading it with the latest configuration):

sudo systemctl restart nginx

Enabling and Disabling NGINX

Enabling NGINX

To enable NGINX to start automatically at boot:

sudo systemctl enable nginx

Disabling NGINX

To prevent NGINX from starting automatically at boot:

sudo systemctl disable nginx

Checking the Status of NGINX

To check the status of NGINX, including whether it is active, enabled, and its recent logs:

sudo systemctl status nginx

Reloading NGINX Configurations

If you’ve made configuration changes to NGINX and you don’t want to restart the service completely, you can reload the configuration:

sudo systemctl reload nginx

Managing All Services

To list all services that systemd knows about, whether active or not:

sudo systemctl list-unit-files --type=service

Best Practices

  • Always check the status of NGINX after starting, stopping, or restarting to ensure it’s in the desired state.
  • When enabling or disabling services like NGINX, consider the impact on the system’s performance and boot time.
  • Use the reload function judiciously to apply configuration updates to NGINX without disrupting the service.

Summary

systemctl is a powerful tool that provides broad control over services in Linux systems using systemd. Understanding how to manage services like NGINX with systemctl is essential for system administrators and users who want to ensure their web services are running efficiently and securely