Linux與Anaconda環境部署與管理(運維交接)

文章目錄

  • 一、前言
  • 二、Linux基礎命令
  • 三、進程管理與監控
  • 四、后臺任務與服務管理
  • 五、Anaconda環境管理
  • 六、JAR包的運行與管理
  • 七、網絡與端口映射
  • 八、安全與權限管理
  • 九、故障排查與日志分析
  • 十、附錄


一、前言

本文將詳細介紹Linux系統下的常用命令以及Anaconda環境管理,包括服務部署、進程管理、環境配置等核心操作。


二、Linux基礎命令

文件與目錄管理

ls                  # 列出目錄內容
ls -la              # 列出所有文件(包括隱藏文件)的詳細信息
cd <目錄名>          # 切換目錄
mkdir <目錄名>       # 創建新目錄
pwd                 # 顯示當前工作目錄路徑
cp <源文件> <目標文件> # 復制文件
mv <源文件> <目標文件> # 移動或重命名文件
rm <文件名>          # 刪除文件
rm -r <目錄名>       # 遞歸刪除目錄及其內容
touch <文件名>       # 創建空文件或更新文件時間戳

文件內容查看

cat <文件名>         # 查看文件內容
less <文件名>        # 分頁查看文件內容
head -n <行數> <文件名> # 查看文件頭部內容
tail -n <行數> <文件名> # 查看文件尾部內容
tail -f <文件名>     # 實時監控文件末尾(常用于日志查看)
grep <關鍵詞> <文件名> # 在文件中搜索關鍵詞

文件權限管理

chmod <權限> <文件名> # 修改文件權限
chown <用戶>:<> <文件名> # 修改文件所有者

了解即可,實際開發中使用Xshell等工具


三、進程管理與監控

查看進程

ps aux              # 顯示所有進程
ps -ef | grep <關鍵詞> # 查找特定進程
top                 # 實時顯示系統進程狀態

查看端口使用情況

lsof -i :<端口號>    # 查看指定端口的占用情況
netstat -tulpn      # 顯示所有監聽端口
netstat -tulpn | grep <端口號> # 查找特定端口
ss -tulpn           # 顯示所有監聽端口(更新的命令)

例如,查看12345端口的占用情況:

lsof -i :12345

輸出內容通常包括進程ID(PID)、進程名稱、用戶名等信息。

終止進程

kill <PID>          # 正常終止進程
kill -9 <PID>       # 強制終止進程
pkill <進程名>       # 根據進程名終止進程
killall <進程名>     # 終止所有同名進程

例如,如果要終止進程ID為1234的進程:

kill -9 1234

四、后臺任務與服務管理

后臺運行程序

command &           # 在后臺運行命令
nohup command &     # 在后臺運行命令,并忽略掛起信號(即使終端關閉也能繼續運行)

后臺任務管理

jobs                # 列出當前終端的后臺任務
bg %<任務號>         # 將任務放到后臺運行
fg %<任務號>         # 將后臺任務調到前臺

后臺掛載與日志重定向

使用nohup命令可以讓程序在后臺運行,即使終端關閉也不會影響程序執行:

nohup python3 script.py > output.log 2>&1 &

這個命令的各部分含義:

  • nohup: 忽略掛起信號,使命令在終端關閉時繼續運行
  • python3 script.py: 要執行的命令
  • > output.log: 將標準輸出重定向到日志文件
  • 2>&1: 將標準錯誤也重定向到同一個日志文件
  • &: 在后臺運行

實際應用示例:

cd test/
nohup python3 /usr/local/test.py > test.log 2>&1 &

路徑說明

  • 如果命令中使用了絕對路徑(如/usr/local/test.py),則無論當前工作目錄在哪里,都會執行指定的絕對路徑文件
  • 如果使用相對路徑(如./test.py),則會在當前工作目錄下查找文件

要監控日志文件的實時更新,可以使用:

tail -f test.log

開機自啟動配置

在Linux系統中,有多種方法實現程序開機自啟動:

使用systemd服務(推薦,這一步可能遇到非常多的報錯,結合gpt和網上教程實際解決即可)

  1. 創建服務配置文件:
sudo vi /etc/systemd/system/myservice.service
  1. 編輯服務文件內容:
[Unit]
Description=My Python Service
After=network.target[Service]
User=username
WorkingDirectory=/path/to/app
ExecStart=/usr/bin/python3 /path/to/app/script.py
Restart=always
RestartSec=10[Install]
WantedBy=multi-user.target

然后點Esc后輸入:wq(寫入退出)即可,不寫入退出是q!

  1. 啟用服務:
sudo systemctl enable myservice
sudo systemctl start myservice

五、Anaconda環境管理

Anaconda是一個開源的Python發行版,專注于簡化包管理和部署。它非常適合用于科學計算和數據分析任務。

安裝Anaconda

  1. 下載Anaconda安裝包:

wget有時不太好使,然后可以下載完,用Xftp上傳
官網地址:https://www.anaconda.com/download/success
然后再按網上的教程安裝即可。

  1. 執行:
nohup jupyter notebook --ip=0.0.0.0 --port=8888 --no-browser --allow-root > jupyter.log 2>&1 &

創建環境

conda create -n myenv python=3.9

這將創建一個名為myenv的環境,并安裝Python 3.9版本。

激活環境

conda activate myenv

查看環境列表

conda env list

conda info --envs

安裝包

conda install numpy pandas matplotlib

安裝requirements.txt

pip install -r requirements.txt

刪除環境

conda remove --name myenv --all

環境變量配置

有時當當前用戶權限不足時,需要指定臨時目錄,啟動app.py時,容易權限不足:

export GRADIO_TEMP_DIR=$(pwd)/temp

這將設置GRADIO_TEMP_DIR環境變量為當前目錄下的temp文件夾。


六、JAR包的運行與管理

后臺運行JAR包

nohup java -jar your-application.jar > app.log 2>&1 &

最好還是按照以上設置開機自啟動,及編寫對應啟動和關閉的腳本。
同時部署的內容,地址、啟動關閉步驟,要在內網下同步管理起來,方便其他人使用。


七、網絡與端口映射

端口映射是將內部網絡的服務映射到外部網絡的過程,使外部網絡可以訪問內部服務。

當數據庫處于受端口映射中時,不能直接訪問,需要通過中間層(如SSH隧道)進行連接。


八、安全與權限管理

用戶權限管理

sudo useradd -m username    # 創建新用戶
sudo passwd username        # 設置用戶密碼
sudo usermod -aG sudo username  # 將用戶添加到sudo組
sudo -u username command    # 以指定用戶身份執行命令

文件權限

文件權限由三組權限組成(所有者、用戶組和其他人),每組有三種權限(讀、寫、執行):

chmod 755 file    # 設置權限為 rwxr-xr-x
chmod u+x file    # 給所有者添加執行權限
chmod g-w file    # 從用戶組移除寫權限
chmod o=r file    # 設置其他人只有讀權限

sudo與權限提升

當需要執行需要高級權限的命令時:

sudo command      # 使用sudo執行命令
sudo -i           # 切換到root用戶環境

具體可以看這一篇博客:Linux 權限體系詳解:777、755、644、600、chmod、chown、chgrp 和 umask;SUID、SGID 和 Sticky Bit;ACL (訪問控制列表) 是什么?


九、故障排查與日志分析

常見問題排查思路

  1. 檢查服務狀態:
systemctl status service-name
  1. 查看日志文件:
journalctl -u service-name
tail -f /var/log/application.log
  1. 檢查磁盤空間:
df -h
du -sh /path/to/directory
  1. 檢查內存使用:
free -h
  1. 檢查CPU使用:
top
htop

日志分析工具

  • grep: 搜索關鍵詞
grep "ERROR" logfile.log
  • awk: 復雜日志解析
awk '{print $1,$4}' logfile.log
  • sed: 文本替換和處理
sed 's/ERROR/CRITICAL/g' logfile.log

十、附錄

除了我的博客外,以下是我收藏的,
部署程序可以用寶塔面板。

其他不錯的安裝教程博客:

  • CentOS7安裝MySQL8(親測無坑百分百安裝成功)
  • 【centos8.0】安裝rabbitMQ史上最全教程
  • 【Redis】基于 CentOS 7.9 的詳細安裝教程
  • AJ-Report 初學(入門教程)

其中AJ-Reprot部署發行版即可,在Linux部署只需準備好使用環境和改配置文件即可。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/77822.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/77822.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/77822.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

php:實現壓縮文件上傳、解壓、文件更名、刪除上傳臨時文件、存入數據庫等操作

一、效果圖 1.上傳文件 2.壓縮包文件 3.itemno1文件 二層結構 或 三層結構 4.上傳到系統路徑\ItemNo 5.更名后的itemno1文件(命名:當天日期+六位隨機數) 二、普通實現 1、內容介紹 含有兩種結構 二層結構:zip->料號文件夾->料號文件三層結構:zip->總文件夾-&g…

基于大語言模型的減肥健身計劃系統設計與實現

基于大語言模型的減肥健身計劃系統設計與實現 【包含內容】 【一】項目提供完整源代碼及詳細注釋 【二】系統設計思路與實現說明 【三】功能演示與部署指南 【技術棧】 ①&#xff1a;系統環境&#xff1a;Python 3.x Django 4.2 ②&#xff1a;開發環境&#xff1a;Web服務…

c#開發大沖鋒游戲登錄器

1 前言 本文主要分享登錄器的簡要開發過程&#xff0c;只適合小白選手&#xff0c;高手請自動避讓。 此項目是復刻大沖鋒計劃中的子集。 &#xff08;注&#xff1a;大沖鋒是迅雷代理的一款次時代多職業第一人稱FPS射擊游戲&#xff0c;目前已經關服嗝屁。&#xff09; 2 …

Linux[基礎指令][2]

Linux[基礎指令][2] cp(復制) 格式:cp [-rf] 源文件 {普通文件,目錄} 拷貝 cp -r 遞歸拷貝目錄 藍色為目錄,白色為具體文件 拷貝后面加一個不存在的文件會新建文件再拷貝 cp -ir -i是覆蓋的時候詢問 如果目標文件存在就會覆蓋原有文件 mv(重命名/剪切) 格式:mv 源文件…

React18+ 項目搭建-從初始化、技術選型到開發部署的全流程規劃

搭建一個 React 項目需要從項目初始化、技術選型到開發部署的全流程規劃。以下是詳細步驟和推薦的技術棧&#xff1a; 一、項目初始化 1. 選擇腳手架工具 推薦工具&#xff1a; Vite&#xff08;現代輕量級工具&#xff0c;支持 React 模板&#xff0c;速度快&#xff09;&am…

人工智能學習框架完全指南(2025年更新版)

一、核心框架分類與適用場景 人工智能框架根據功能可分為深度學習框架、機器學習框架、強化學習框架和傳統工具庫,以下是主流工具及選型建議: 1. 深度學習框架 (1)PyTorch 核心優勢:動態計算圖、靈活性強,適合科研與快速原型開發,支持多模態任務(如NLP、CV) 。技術生…

MySQL 詳解之事務管理

MySQL 詳解之事務管理 在數據庫領域,事務是一個核心概念,它確保了數據操作的可靠性和一致性。尤其是在處理涉及多個步驟且必須全部成功或全部失敗的業務場景時,事務更是不可或缺。本篇文章將深入探討 MySQL 中的事務管理,幫助您全面理解事務的工作原理及其在實際應用中的重…

SpringAI+DeepSeek大模型應用開發——5 ChatPDF

ChatPDF 知識庫 RAG檢索增強 由于訓練大模型非常耗時&#xff0c;再加上訓練語料本身比較滯后&#xff0c;所以大模型存在知識限制問題&#xff1a; 知識數據比較落后&#xff0c;往往是幾個月之前的&#xff1b;不包含太過專業領域或者企業私有的數據&#xff1b; 為了解決…

SSH 互信被破壞能導致 RAC 異常關閉嗎

一、 SSH 互信和 RAC 的關系 1、SSH 互信對 RAC 的作用 Oracle 11g R2 在安裝 Grid Infrastructure 的時候&#xff0c;能夠通過安裝程序配置節 點間的 SSH 用戶等效性&#xff0c;之所以要在安裝之前配置 SSH 用戶等效性&#xff0c;是為了能 夠在安裝前使用 C…

【數字圖像處理】立體視覺信息提取

雙目立體視覺原理 設一個為參考平面&#xff0c;一個為目標平面。增加了一個攝像頭后&#xff0c;P與Q在目標面T上有分別的成像點 雙目立體視覺&#xff1a;從兩個不同的位置觀察同一物體&#xff0c;用三角測量原理計算攝像機到該物體的距離的 方法 原理&#xff1a;三角測量…

基于springboot+vue的校園二手物品交易平臺

開發語言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服務器&#xff1a;tomcat7數據庫&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;數據庫工具&#xff1a;Navicat11開發軟件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;…

【Redis】Redis基本命令(1)

KEYS 返回所有滿足樣式&#xff08;pattern&#xff09;的key。 KEY * 返回所有key&#xff0c;不簡易使用 性能問題&#xff1a;當 Redis 存儲百萬級鍵時&#xff0c;會消耗大量 CPU 和內存資源&#xff0c;Redis 是單線程模型&#xff0c;KEYS * 執行期間會阻塞其他所有命令…

C#通用常見面試題-精心整理

以下是優化后的版本,在原有內容基礎上補充了應用場景,其他結構保持不變: 上位機面試題解答(技術詳解+示例) C#-IOC框架 1. 值類型和引用類型的本質區別 解釋 值類型:存儲在棧中,直接保存數據值(如 int, struct)。引用類型:存儲在堆中,變量保存對象地址(如 class,…

K8S節點出現Evicted狀態“被驅逐”

在Kubernetes集群中&#xff0c;Pod狀態為“被驅逐&#xff08;evicted&#xff09;”表示Pod無法在當前節點上繼續運行&#xff0c;已被集群從節點上移除。 問題分析&#xff1a; 節點磁盤空間不足 &#xff0c;使用df -h查看磁盤使用情況 可以看到根目錄 / 已100%滿&#x…

[密碼學基礎]國密算法深度解析:中國密碼標準的自主化之路

國密算法深度解析&#xff1a;中國密碼標準的自主化之路 國密算法&#xff08;SM系列算法&#xff09;是中國自主研發的密碼技術標準體系&#xff0c;旨在打破國際密碼技術壟斷&#xff0c;保障國家信息安全。本文將從技術原理、應用場景和生態發展三個維度&#xff0c;全面解…

Linux 網絡基礎(三) TCP/IP協議

一、TCP 與 IP 的關系 IP 層的核心作用是定位主機&#xff0c;具有將數據從主機 A 發送到主機 B 的能力&#xff0c;但是能力并不能保證一定能夠做到&#xff0c;所以這時就需要 TCP 起作用了&#xff0c;TCP 可以通過超時重傳、擁塞控制等策略來保證數據能夠發送到 B 主機。 所…

基于 Vue 的Tiptap 富文本編輯器使用指南

目錄 &#x1f9f0; 技術棧 &#x1f4e6; 所需依賴 &#x1f4c1; 文件結構 &#x1f9f1; 編輯器組件實現&#xff08;components/Editor.vue&#xff09; ? 常用操作指令 &#x1f9e0; 小貼士 &#x1f9e9; Tiptap 擴展功能使用說明&#xff08;含快捷鍵與命令&am…

統計圖表ECharts

統計某個時間段&#xff0c;觀看人數 ①、數據表 ②、業務代碼 RestController RequstMapping(value"/admin/vod/videoVisitor") CrossOrigin public class VideoVisitorController{Autowriedprivate VideoVisitorService videoVisitorService;//課程統計的接口…

ubuntu 安裝 redis server

ubuntu 安裝 redis server sudo apt update sudo apt install redis-server The following NEW packages will be installed:libhiredis0.14 libjemalloc2 liblua5.1-0 lua-bitop lua-cjson redis-server redis-toolssudo systemctl start redis-server sudo systemctl ena…

【白雪講堂】[特殊字符]內容戰略地圖|GEO優化框架下的內容全景布局

&#x1f4cd;內容戰略地圖&#xff5c;GEO優化框架下的內容全景布局 1?? 頂層目標&#xff1a;GEO優化戰略 目標關鍵詞&#xff1a; 被AI理解&#xff08;AEO&#xff09; 被AI優先推薦&#xff08;GEO&#xff09; 在關鍵場景中被AI復讀引用 2?? 三大引擎邏輯&#x…