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.mzph.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…