使用systemd部署服務(wù)的過(guò)程解析
1、前言
通常,我們?cè)陂_(kāi)發(fā)過(guò)程中,難免需要去部署我們的服務(wù),但是,我們應(yīng)該如何去做呢?如果主機(jī)重啟了,服務(wù)怎么自己?jiǎn)?dòng)呢?可能你的心里已經(jīng)有了幾種不同的答案,接下來(lái)我們就一起看看吧。
2、如何部署服務(wù)
假設(shè),我們現(xiàn)在有一個(gè)python項(xiàng)目(名為xx),現(xiàn)在我們想要將其部署在Linux服務(wù)器上,我們應(yīng)該如何操作呢?
xx的內(nèi)容
#!/usr/bin/python import time i=0 while True: print i i+=1 time.sleep(60)
2.1、后臺(tái)進(jìn)程方式啟動(dòng)
第一種方式,我們可以直接將這個(gè)項(xiàng)目以后臺(tái)進(jìn)程的方式進(jìn)行啟動(dòng)。
nohup python xx &
2.2、使用systemd方式啟動(dòng)
第二種方式,我們可以通過(guò)systemd將項(xiàng)目進(jìn)行托管。
關(guān)于systemd:systemd是Linux平臺(tái)的一款軟件,其支持以守護(hù)進(jìn)程方式啟動(dòng)任務(wù),支持cgroup資源隔離,可以非常高效的在Linux啟動(dòng)過(guò)程中加載我們的服務(wù)。
2.2.1、創(chuàng)建service文件
xx文件所在路徑:/root/
service文件所在路徑:/etc/systemd/system/
xx.service內(nèi)容
[Unit] Description=myself service [Service] ExecStart=/root/xx [Install] WantedBy=multi-user.target
由于我們?cè)趚x文件中定義了解釋器,所以我們可以直接給xx增加可執(zhí)行權(quán)限,在啟動(dòng)命令中直接指定xx的路徑即可。
2.2.2、啟動(dòng)服務(wù)
指定service文件使能xx服務(wù)的命令:
systemctl -f enable /etc/systemd/system/xx.service
啟動(dòng)xx服務(wù):
systemctl start xx
查看xx服務(wù)狀態(tài):
systemctl status xx
3、如何自動(dòng)啟動(dòng)
3.1、自動(dòng)啟動(dòng)文件
3.1.1、rc.local
對(duì)于后臺(tái)進(jìn)程部署的服務(wù),我們可以將啟動(dòng)命令添加到開(kāi)機(jī)自啟文件中。
自動(dòng)啟動(dòng)文件路徑:/etc/rc.local
。
3.1.2、rc.d
我們除了可以將啟動(dòng)命令直接加入到rc.local文件中,也可以直接將可執(zhí)行腳本移動(dòng)到/etc/rc.d/init.d/
路徑下。
3.2、systemd
systemd默認(rèn)會(huì)在服務(wù)器啟動(dòng)的時(shí)候啟動(dòng)我們的服務(wù),因?yàn)槲覀円呀?jīng)enable了服務(wù)。但是我們?yōu)榱朔乐狗?wù)在異常退出后無(wú)法恢復(fù),我們可以向service文件中增加[Service]
配置塊中增加Restart=on-failure
的配置以達(dá)到當(dāng)服務(wù)異常退出的時(shí)候自動(dòng)重啟服務(wù)的效果。
到此這篇關(guān)于使用systemd部署服務(wù)的過(guò)程解析的文章就介紹到這了,更多相關(guān)systemd部署服務(wù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
用smtplib和email封裝python發(fā)送郵件模塊類(lèi)分享
本文針對(duì)發(fā)郵件相關(guān)的操作進(jìn)行了封裝,包括發(fā)送文本、HTML、帶附件的郵件,使用Python發(fā)郵件,主要用到smtplib和email兩個(gè)模塊,需要的朋友可以參考下2014-02-02Python中ModuleNotFoundError錯(cuò)誤的問(wèn)題解決
本文主要介紹了Python中ModuleNotFoundError錯(cuò)誤的問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02Python 如何實(shí)現(xiàn)文件自動(dòng)去重
這篇文章主要介紹了Python 實(shí)現(xiàn)文件自動(dòng)去重操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06Python項(xiàng)目 基于Scapy實(shí)現(xiàn)SYN泛洪攻擊的方法
今天小編就為大家分享一篇Python項(xiàng)目 基于Scapy實(shí)現(xiàn)SYN泛洪攻擊的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-07-07利用Python如何實(shí)現(xiàn)K-means聚類(lèi)算法
聚類(lèi)算法有很多種(幾十種),K-Means是聚類(lèi)算法中的最常用的一種,算法最大的特點(diǎn)是簡(jiǎn)單,好理解,運(yùn)算速度快,下面這篇文章主要給大家介紹了關(guān)于利用Python如何實(shí)現(xiàn)K-means聚類(lèi)算法的相關(guān)資料,需要的朋友可以參考下2021-08-08