網站首頁 編程語言 正文
1、前言
通常,我們在開發過程中,難免需要去部署我們的服務,但是,我們應該如何去做呢?如果主機重啟了,服務怎么自己啟動呢?可能你的心里已經有了幾種不同的答案,接下來我們就一起看看吧。
2、如何部署服務
假設,我們現在有一個python項目(名為xx),現在我們想要將其部署在Linux服務器上,我們應該如何操作呢?
xx的內容
#!/usr/bin/python import time i=0 while True: print i i+=1 time.sleep(60)
2.1、后臺進程方式啟動
第一種方式,我們可以直接將這個項目以后臺進程的方式進行啟動。
nohup python xx &
2.2、使用systemd方式啟動
第二種方式,我們可以通過systemd將項目進行托管。
關于systemd:systemd是Linux平臺的一款軟件,其支持以守護進程方式啟動任務,支持cgroup資源隔離,可以非常高效的在Linux啟動過程中加載我們的服務。
2.2.1、創建service文件
xx文件所在路徑:/root/
service文件所在路徑:/etc/systemd/system/
xx.service內容
[Unit] Description=myself service [Service] ExecStart=/root/xx [Install] WantedBy=multi-user.target
由于我們在xx文件中定義了解釋器,所以我們可以直接給xx增加可執行權限,在啟動命令中直接指定xx的路徑即可。
2.2.2、啟動服務
指定service文件使能xx服務的命令:
systemctl -f enable /etc/systemd/system/xx.service
啟動xx服務:
systemctl start xx
查看xx服務狀態:
systemctl status xx
3、如何自動啟動
3.1、自動啟動文件
3.1.1、rc.local
對于后臺進程部署的服務,我們可以將啟動命令添加到開機自啟文件中。
自動啟動文件路徑:/etc/rc.local
。
3.1.2、rc.d
我們除了可以將啟動命令直接加入到rc.local文件中,也可以直接將可執行腳本移動到/etc/rc.d/init.d/
路徑下。
3.2、systemd
systemd默認會在服務器啟動的時候啟動我們的服務,因為我們已經enable了服務。但是我們為了防止服務在異常退出后無法恢復,我們可以向service文件中增加[Service]
配置塊中增加Restart=on-failure
的配置以達到當服務異常退出的時候自動重啟服務的效果。
原文鏈接:https://juejin.cn/post/7107584360815001613
相關推薦
- 2022-10-12 Golang中panic的異常處理_Golang
- 2022-09-26 Dockerfile部署帶有ssh的Ubuntu
- 2022-11-16 python3?如何解壓縮.gz文件_python
- 2022-06-02 python獲取字符串中的email_python
- 2022-06-06 ceph集群RadosGW對象存儲使用詳解_其它綜合
- 2022-11-02 Pytest運行及其控制臺輸出信息_python
- 2022-07-18 SQL?Server使用T-SQL進階之公用表表達式(CTE)_MsSql
- 2022-06-21 Android?Studio實現登錄界面功能_Android
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支