Linux与Anaconda环境部署与管理(运维交接)

news2025/4/23 13:30:11

文章目录

  • 一、前言
  • 二、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.coloradmin.cn/o/2340807.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

IOT项目——物联网 GPS

GeoLinker - 物联网 GPS 可视化工具 项目来源制作引导 项目来源 [视频链接] https://youtu.be/vi_cIuxDpcA?sigMaOKv681bAirQF8 想要在任何地方追踪任何东西吗&#xff1f;在本视频中&#xff0c;我们将向您展示如何使用 ESP32 和 Neo-6M GPS 模块构建 GPS 跟踪器——这是一…

Java学习手册:HTTP 协议基础知识

一、HTTP 协议概述 HTTP&#xff08;HyperText Transfer Protocol&#xff09;即超文本传输协议&#xff0c;是用于从万维网&#xff08;WWW&#xff1a;World Wide Web &#xff09;服务器传输超文本到本地浏览器的传输协议。它是一个应用层协议&#xff0c;基于请求-响应模型…

【含文档+PPT+源码】基于微信小程序的健康饮食食谱推荐平台的设计与实现

课程目标&#xff1a; 教你从零开始部署运行项目&#xff0c;学习环境搭建、项目导入及部署&#xff0c;含项目源码、文档、数据库、软件等资料 课程简介&#xff1a; 本课程演示的是一款基于微信小程序的健康饮食食谱推荐平台的设计与实现&#xff0c;主要针对计算机相关专…

Redis 慢查询分析与优化

Redis 慢查询分析与优化 参考书籍 &#xff1a; https://weread.qq.com/web/reader/d5432be0813ab98b6g0133f5kd8232f00235d82c8d161fb2 以下从配置参数、耗时细分、分析工具、优化策略四个维度深入解析 Redis 慢查询问题&#xff0c;结合实战调优建议&#xff0c;帮助开发者…

使用达梦官方管理工具SQLark快速生成数据库ER图并导出

在数据库设计与开发中&#xff0c;实体-关系图&#xff08;ER 图&#xff09;作为数据建模的核心工具&#xff0c;能够直观呈现表结构、字段属性及表间关系&#xff0c;是团队沟通和文档维护的重要工具。然而&#xff0c;许多开发者在实际工作中常面临一个痛点&#xff1a;手动…

模型 替罪羊效应

系列文章分享模型&#xff0c;了解更多&#x1f449; 模型_思维模型目录。转嫁罪责于无辜&#xff0c;维系群体控制与稳定 1 替罪羊效应的应用 1.1 多品牌危机中的行业“背锅侠” 行业背景&#xff1a;食品行业爆发大规模安全危机&#xff0c;多家企业卷入某类食品重金属超标…

TapData × 梦加速计划 | 与 AI 共舞,TapData 携 AI Ready 实时数据平台亮相加速营,企业数据基础设施现代化

在实时跃动的数据节拍中&#xff0c;TapData 与 AI 共舞&#xff0c;踏出智能未来的新一步。 4月10日&#xff0c;由前海产业发展集团、深圳市前海梦工场、斑马星球科创加速平台等联合发起的「梦加速计划下一位独角兽营」正式启航。 本次加速营以“打造下一位独角兽企业”为目…

15.电感特性在EMC设计中的运用

电感特性在EMC设计中的运用 1. 共模电感与差模电感的差异2. 电感的高频等效特性![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/b4dc000672af4dd69a528450eb42cf10.png)3. 电感在EMC设计中的使用注意事项3.1 LC滤波计算3.2 并联型多级浪涌防护的电感退耦 1. 共模电感…

uniapp Vue2升级到Vue3,并发布到微信小程序的快捷方法

目录 前言&#xff1a;升级项目的两种方式步骤一、新建项目 【选择-默认模版】二、修改-pages.json三、补充-缺少的文件四、修改-Main.js按照 [官方文档-vue2升级vue3迁移指南](https://uniapp.dcloud.net.cn/tutorial/migration-to-vue3.html) 修改 五、升级-uni-ui扩展组件的…

数据重构如何兼顾效率与性能稳定?zStorage 全闪存分布式存储的技术实践与实测数据

点击蓝字 关注我们 zStorage 作为数据库场景下的全闪存分布式存储&#xff0c;除了性能要好&#xff0c;更重要的是要在各种情况下都能保持“稳定”的好。一个高并发的交易型业务数据库&#xff0c;如果出现轻微的IO抖动&#xff0c;就可能造成数据库并发事务提交的排队&#x…

A2A + MCP:构建实用人工智能系统的超强组合

构建真正有效的连接型人工智能系统的挑战 如果你正在构建人工智能应用&#xff0c;这种情况可能听起来很熟悉&#xff1a; 你需要特定的人工智能能力来解决业务问题。你找到了完成每个单独任务的出色工具。但把所有东西连接在一起却占据了大部分开发时间&#xff0c;还创建了…

力扣每日打卡17 49. 字母异位词分组 (中等)

力扣 49. 字母异位词分组 中等 前言一、题目内容二、解题方法1. 哈希函数2.官方题解2.1 前言2.2 方法一&#xff1a;排序2.2 方法二&#xff1a;计数 前言 这是刷算法题的第十七天&#xff0c;用到的语言是JS 题目&#xff1a;力扣 49. 字母异位词分组 (中等) 一、题目内容 给…

Word处理控件Spire.Doc系列教程:C# 为 Word 文档设置背景颜色或背景图片

在 Word 文档中&#xff0c;白色是默认的背景设置。一般情况下&#xff0c;简洁的白色背景足以满足绝大多数场景的使用需求。但是&#xff0c;如果您需要创建简历、宣传册或其他创意文档&#xff0c;设置独特的背景颜色或图片能够极大地增强文档的视觉冲击力。本文将演示如何使…

掌握 Altium Designer:轻松定制“交换器件”工具栏

在PCB设计过程中&#xff0c;快速交换器件&#xff08;如电阻、电容、IC等&#xff09;是提高效率的关键。Altium Designer提供了灵活的工具栏定制功能&#xff0c;让用户可以创建专属的"交换器件"工具栏&#xff0c;将常用操作集中管理&#xff0c;减少菜单切换时间…

【C++ Qt】信号和槽(内配思维导图 图文并茂 通俗易懂)

每日激励&#xff1a;“不设限和自我肯定的心态&#xff1a;I can do all things。 — Stephen Curry” 绪论​&#xff1a; 本章是Qt中的第三章&#xff0c;也是我们理解Qt中必备的点 信号槽&#xff0c;它本质由信号和槽两个来实现&#xff0c;其中将细致的讲述如何自定义信号…

从零开始构建微博爬虫:实现自动获取并保存微博内容

从零开始构建微博爬虫&#xff1a;实现自动获取并保存微博内容 前言 在信息爆炸的时代&#xff0c;社交媒体平台已经成为信息传播的重要渠道&#xff0c;其中微博作为中国最大的社交媒体平台之一&#xff0c;包含了大量有价值的信息和数据。对于研究人员、数据分析师或者只是…

三餐四季、灯火阑珊

2025年4月22日&#xff0c;15~28℃&#xff0c;挺好的 待办&#xff1a; 教学技能大赛教案&#xff08;2025年4月24日&#xff0c;校赛&#xff0c;小组合作&#xff0c;其他成员给力&#xff0c;暂不影响校赛进度&#xff0c;搁置&#xff09; 教学技能大赛PPT&#xff08;202…

基于javaweb的SSM+Maven教材管理系统设计与实现(源码+文档+部署讲解)

技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论文…

NineData 与飞书深度集成,企业级数据管理审批流程全面自动化

NineData 正式推出与飞书审批系统的深度集成功能&#xff0c;企业用户在 NineData 平台发起的审批工单&#xff0c;将自动推送至审批人的飞书中&#xff0c;审批人可以直接在飞书进行审批并通过/拒绝。该功能实现跨系统协作&#xff0c;带来巨大的审批效率提升&#xff0c;为各…

mockMvc构建web单元测试学习笔记

web应用本来需要依靠tomcat这个环境运行 现在用mockMvc是为了模拟这个web环境&#xff0c;简化测试 什么是mock(模拟) 模拟对象---mock object是以可控方式模拟真实对象行为的假对象&#xff0c;通过模拟输入数据&#xff0c;验证程序达到预期结果 为什么使用mock对象 因为…