共計(jì) 2529 個(gè)字符,預(yù)計(jì)需要花費(fèi) 7 分鐘才能閱讀完成。
這篇文章主要為大家展示了“Linux 系統(tǒng)服務(wù) systemctl 怎么用”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓丸趣 TV 小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“Linux 系統(tǒng)服務(wù) systemctl 怎么用”這篇文章吧。
服務(wù):常駐系統(tǒng)內(nèi)存中的進(jìn)程且可以提供一些系統(tǒng)和網(wǎng)絡(luò)功能; 現(xiàn)在最新的 Linux 系統(tǒng)都統(tǒng)一使用 systemctl 進(jìn)行服務(wù)的管理。
1、運(yùn)行級(jí)別的分類 runlevel
運(yùn)行級(jí)別 0:系統(tǒng)停機(jī)狀態(tài)
運(yùn)行級(jí)別 1:?jiǎn)斡脩艄ぷ鳡顟B(tài),root 權(quán)限,用于系統(tǒng)維護(hù),禁止遠(yuǎn)程登陸
運(yùn)行級(jí)別 2:多用戶狀態(tài) (沒(méi)有 NFS)
運(yùn)行級(jí)別 3:完全的多用戶狀態(tài) (有 NFS)
運(yùn)行級(jí)別 4:系統(tǒng)未使用,保留
運(yùn)行級(jí)別 5:X11 控制臺(tái)
運(yùn)行級(jí)別 6:系統(tǒng)正常關(guān)閉并重啟
2、管理服務(wù) systemctl (root 權(quán)限)
systemctl [opt] xxx.service
status 查看當(dāng)前服務(wù)狀態(tài)
start 啟動(dòng)服務(wù)
stop 關(guān)閉服務(wù)
restart 重啟服務(wù)
enable 設(shè)置開機(jī)啟動(dòng)
disable 設(shè)置開機(jī)不啟動(dòng)
reload 后面不接具體服務(wù)名,重新加載配置文件
mask 注銷服務(wù)
unmask 取消注銷
3. 一些常用命令 systemctl
查看當(dāng)前已經(jīng)啟動(dòng)的服務(wù) systemctl list-units
查看所有服務(wù) systemctl list-unit-files
查看服務(wù)有哪些依賴 systemctl list-dependencies xx.service
查看服務(wù)有哪些依賴 (反向) systemctl list-dependencies –reverse xx.service
4.system 服務(wù)相關(guān)的一些目錄 (Centos 環(huán)境,Debian 類的環(huán)境可能會(huì)有稍許不同)
/usr/lib/systemd/system/ 系統(tǒng)安裝的軟件默認(rèn)啟動(dòng)腳本目錄
/etc/systemd/system/ 用戶根據(jù)自己需要建立的啟動(dòng)腳本目錄
/etc/sysconfig/ 服務(wù)初始化選項(xiàng)目錄
/var/lib/ 服務(wù)運(yùn)行時(shí)產(chǎn)生的數(shù)據(jù)存儲(chǔ)目錄
/etc/xxx/ 各服務(wù)配置目錄
5. 結(jié)合一個(gè)例子來(lái)具體講解,一臺(tái)機(jī)開啟兩個(gè) ssh 服務(wù)
我們最常使用的 ssh 服務(wù),系統(tǒng)默認(rèn) ssh 服務(wù) 22 端口,我現(xiàn)在想再開一個(gè) ssh 服務(wù),端口 8888
1. 系統(tǒng)服務(wù)啟動(dòng)腳本 /usr/lib/systemd/system/sshd.service,將其復(fù)制到 /etc/systemd/system/ 下,并改名為 sshd2.service,文件內(nèi)容如下
[Unit] Description=OpenSSH server daemon Documentation=man:sshd(8) man:sshd_config(5) After=network.target sshd-keygen.service Wants=sshd-keygen.service [Service] Type=notify EnvironmentFile=/etc/sysconfig/sshd ExecStart=/usr/sbin/sshd -D $OPTIONS ExecReload=/bin/kill -HUP $MAINPID KillMode=process Restart=on-failure RestartSec=42s [Install] WantedBy=multi-user.target
因?yàn)橐貑⒁粋€(gè)新的服務(wù),所以要修改一下 ExecStart 這一行,讀取新的配置文件 sshd2_config,改為
ExecStart=/usr/sbin/sshd -D $OPTIONS -f /etc/ssh/sshd2_config
2. 到 /etc/ssh/ 下,將 sshd_config 復(fù)制到 sshd2_config,并修改端口那一行
Port 8888
3. 運(yùn)行命令 systemctl reload 重新加載一下配置
4. 運(yùn)行命令 systemctl status sshd2.service 查看狀態(tài)
5 運(yùn)行命令 systemctl start sshd2.service 開啟服務(wù)
6. 運(yùn)行命令 systemctl enable sshd2.service 設(shè)置開機(jī)啟動(dòng)
7. 在另一臺(tái)機(jī)器上登錄 ssh fancy@ip -p8888 就可以登錄了
注意 1,防火墻要打開 8888 端口
注意 2,官方建議用戶自己新建的服務(wù)腳本最好存放在 /etc/systemd/system/ 目錄下,實(shí)際情況下存放在系統(tǒng)服務(wù)目錄 /usr/lib/systemd/system/ 下也是沒(méi)有問(wèn)題的,看個(gè)人選擇了
6、我們?cè)賮?lái)舉個(gè)例子,做一個(gè)自己的服務(wù)
1. 在 /root/bin/ 下創(chuàng)建一個(gè) shell 腳本 fancy_test.sh,并修改其權(quán)限,chmod u+x fancy_test.sh,內(nèi)容如下
#!/bin/bash logdate=$(date +%s) logdir= /root/log/ logname=fancy.${logdate}.log #echo $logname touch ${logdir}${logname}
意思是,運(yùn)行該服務(wù)時(shí),在 /root/log/ 目錄下創(chuàng)建一個(gè)日志文件
2. 在 /etc/systemd/system/ 下創(chuàng)建啟動(dòng)腳本 fancy_test.service,輸入一下內(nèi)容
[Unit] Description=fancy_test server daemon [Service] Type=simple ExecStart=/root/bin/fancy_test.sh [Install] WantedBy=multi-user.target
3. 運(yùn)行命令 systemctl reload
4. 運(yùn)行命令 systemctl start fancy_test.service
5. 此時(shí)你會(huì)看到在 /root/log/ 目錄下創(chuàng)建了一個(gè)日志文件
注意,我們這個(gè)是最簡(jiǎn)單的服務(wù),執(zhí)行幾個(gè)命令而已,所以沒(méi)有配置文件,也不會(huì)常駐內(nèi)存,運(yùn)行一次就結(jié)束
以上是“Linux 系統(tǒng)服務(wù) systemctl 怎么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注丸趣 TV 行業(yè)資訊頻道!