GNU/Linux >> Belajar Linux >  >> Linux

Ubuntu – Mulai, Berhenti, Mulai Ulang Layanan

Saat aplikasi berjalan di latar belakang, itu disebut layanan. Ini penting untuk menjalankan sistem atau aplikasi perangkat lunak kami. Beberapa layanan umum yang akan Anda temukan di sebagian besar server adalah Apache, MySQL, NGINX, dll. Saat sistem boot, layanan ini dikonfigurasi untuk memulai secara otomatis.

Saya menggunakan Ubuntu untuk meng-host situs web saya. Saya juga menggunakan MySQL untuk menyimpan semua data situs web saya. Terkadang, saya melakukan pembaruan rutin dan penting untuk memulai kembali layanan ini. Dalam tutorial ini, kita akan mempelajari berbagai cara untuk memulai, menghentikan, dan memulai ulang layanan di Ubuntu.

Cara Berbeda untuk Memulai, Menghentikan, Memulai Ulang Layanan di Ubuntu

  1. perintah systemctl
  2. perintah layanan
  3. init skrip

Menggunakan systemctl untuk memulai, menghentikan, dan memulai ulang layanan Ubuntu

Ini adalah cara yang lebih disukai untuk mengelola layanan Ubuntu. Jika Anda tidak yakin dengan nama layanannya, Anda dapat menjalankan systemctl --all perintah untuk membuat daftar semua layanan. Tapi, mungkin ada ratusan layanan yang berjalan, jadi lebih baik memfilter daftar menggunakan grep perintah.

Mari kita coba mencari tahu nama layanan server HTTP MySQL dan Apache.

# systemctl --all | grep -i mysql
  mysql.service                                                                          loaded    active   running   MySQL Community Server                                                       
# systemctl --all | grep -i apache
  apache2.service                                                                        loaded    active   running   The Apache HTTP Server                                                       
# 

Jadi, nama layanan MySQL adalah “mysql.service” dan nama layanan server HTTP Apache adalah “apache2.service”.

Mari pelajari cara mengelola layanan ini menggunakan perintah systemctl.

1. Hentikan layanan menggunakan systemctl

# systemctl stop mysql.service 
#

Perintah tidak memberikan output apa pun jika eksekusi berhasil.

2. Memeriksa Status Layanan menggunakan systemctl

Kami dapat memeriksa status layanan menggunakan perintah di bawah ini.

# systemctl status mysql.service 
● mysql.service - MySQL Community Server
   Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
   Active: inactive (dead) since Sat 2020-05-02 17:39:22 UTC; 9s ago
 Main PID: 26948 (code=exited, status=0/SUCCESS)

3. Mulai layanan menggunakan systemctl

# systemctl start mysql.service 
# 
# systemctl status mysql.service 
● mysql.service - MySQL Community Server
   Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2020-05-02 17:41:43 UTC; 3s ago
  Process: 30254 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid (code=exited, s
  Process: 30233 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
 Main PID: 30256 (mysqld)
    Tasks: 27 (limit: 2318)
   CGroup: /system.slice/mysql.service
           └─30256 /usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid

Perhatikan bahwa ketika kami menghentikan layanan, nilai "Aktif" tidak aktif (mati). Setelah memulai layanan, itu berubah menjadi aktif (berjalan).

4. Mulai ulang layanan menggunakan systemctl

# systemctl restart apache2.service
# systemctl status apache2.service 
● apache2.service - The Apache HTTP Server
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
  Drop-In: /lib/systemd/system/apache2.service.d
           └─apache2-systemd.conf
   Active: active (running) since Sat 2020-05-02 17:55:09 UTC; 8s ago

Kiat :Tidak perlu menggunakan nama layanan lengkap dengan perintah systemctl. Misalnya, jika kita menjalankan “systemctl restart mysql” maka secara otomatis akan menambahkan “.service” padanya dan menjalankan perintah “systemctl restart mysql.service”.

Mengelola Layanan Ubuntu menggunakan Perintah layanan

Kami dapat membuat daftar semua layanan menggunakan service --status-all memerintah. Jika perlu, gunakan perintah grep untuk menyaring layanan yang Anda cari.

# service --status-all | grep mysql
 [ + ]  mysql
#

Dalam perintah layanan, pertama-tama kita harus menentukan nama layanan dan kemudian perintah yang akan dijalankan.

Menghentikan Layanan:

# service mysql stop

Memulai Layanan:

# service mysql start

Memulai Ulang Layanan:

# service mysql restart

Memeriksa Status Layanan:

# service mysql status
● mysql.service - MySQL Community Server
   Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2020-05-02 18:19:34 UTC; 39s ago
  Process: 31768 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid (code=exited, s
  Process: 31746 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
 Main PID: 31770 (mysqld)
    Tasks: 27 (limit: 2318)
   CGroup: /system.slice/mysql.service
           └─31770 /usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid

Skrip init Ubuntu untuk Mengelola Layanan

Skrip init layanan terletak di /etc/init.d/ direktori. Kita dapat menggunakan skrip ini untuk mengelola layanan. Namun, tidak disarankan untuk menggunakannya lagi dan lebih baik menggunakan perintah systemctl.

Menghentikan Layanan:

# /etc/init.d/mysql stop
[ ok ] Stopping mysql (via systemctl): mysql.service.
#

Memulai Layanan:

# /etc/init.d/mysql start
[ ok ] Starting mysql (via systemctl): mysql.service.
#

Memulai Ulang Layanan:

# /etc/init.d/mysql restart
[ ok ] Restarting mysql (via systemctl): mysql.service.
#

Memeriksa Status Layanan:

# /etc/init.d/mysql status
● mysql.service - MySQL Community Server
   Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2020-05-02 18:26:30 UTC; 17s ago

Masalah izin saat memulai/menghentikan layanan

Jika Anda tidak masuk sebagai pengguna root, perintah di atas akan meminta Anda untuk memberikan kata sandi pengguna root untuk dieksekusi. Jika kata sandi yang salah dimasukkan, kesalahan otentikasi gagal akan ditampilkan dan perintah tidak akan dijalankan.

Jika Anda berada di daftar sudoers, Anda dapat menjalankan perintah ini sebagai pengguna sudo. Jika Anda tidak ada dalam daftar sudoers, pesan kesalahan akan ditampilkan bahwa Anda tidak ada dalam daftar sudoers dan insiden tersebut akan dilaporkan.

test@localhost:~$ systemctl stop mysql
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Authentication is required to stop 'mysql.service'.
Authenticating as: root
Password: 
polkit-agent-helper-1: pam_authenticate failed: Authentication failure
==== AUTHENTICATION FAILED ===
Failed to stop mysql.service: Access denied
See system logs and 'systemctl status mysql.service' for details.
test@localhost:~$ sudo systemctl stop mysql
[sudo] password for test: 
test is not in the sudoers file.  This incident will be reported.
test@localhost:~$ 

Jadi, jika Anda ingin mengelola layanan apa pun, pastikan Anda memiliki hak istimewa yang diperlukan untuk menjalankan perintah ini.

Kesimpulan

Kami mempelajari berbagai cara untuk mengelola layanan di Ubuntu. perintah systemctl adalah pendekatan yang disukai untuk memulai/menghentikan/memulai ulang layanan di Ubuntu. Namun, skrip init mencetak status perintah, yang dapat berguna dalam skrip shell untuk menjalankannya dan segera mendapatkan status perintah.


Linux
  1. Cara Memulai, Menghentikan, dan Memulai Ulang Layanan di Server Khusus Linux

  2. Mulai, Mulai Ulang, dan Hentikan Server Media Plex Ubuntu/Debian secara manual

  3. Mulai, Hentikan, atau Mulai Ulang Layanan di CentOS 8 - Proses Langkah demi Langkah?

  1. Mulai, Hentikan, dan Mulai Ulang layanan di server systemd RHEL 7 Linux

  2. Cara memulai/menghentikan/memulai ulang layanan di Panel Web CentOS

  3. Bagaimana cara me-restart server MySQL jarak jauh yang berjalan di Ubuntu linux?

  1. Cara Memulai, Menghentikan, dan Memulai Ulang Layanan di Linux

  2. Mulai, Berhenti, dan Mulai Ulang Crond Daemon di Linux

  3. Cara Memulai, Menghentikan, dan Memulai Ulang Layanan Zimbra