当前位置: 首页 > news >正文

Python 后端基础(十六):Linux 部署基础,目录、进程、端口、日志和常用命令讲清楚

学后端不能只会在本机点运行。

真实项目最终要部署到服务器,而服务器大多数是 Linux。你不一定一开始就很精通 Linux,但必须会看目录、查进程、看端口、读日志、启动服务。

【一、为什么后端要学 Linux】

因为项目上线后,很多问题都发生在服务器上:

- 服务有没有启动。

- 端口有没有被占用。

- 日志报了什么错。

- 配置文件路径对不对。

- 磁盘满没满。

- 进程是不是挂了。

- Nginx 有没有转发到后端。

如果完全不会 Linux,项目一部署就卡住。

【二、常见目录】

常见目录含义:

/home 普通用户目录

/root root 用户目录

/etc 配置文件

/var/log 日志文件

/opt 第三方应用安装目录

/usr/bin 常用命令

/tmp 临时文件

项目常放在:

/opt/myapp

/home/ubuntu/myapp

日志常放在:

/var/log/myapp

【三、常用文件命令】

pwd # 查看当前目录

ls -lah # 查看文件列表

cd /opt/myapp # 进入目录

mkdir logs # 创建目录

cp a.txt b.txt # 复制文件

mv a.txt b.txt # 移动或重命名

rm file.txt # 删除文件

删除命令要小心,尤其是:

rm -rf

不要在不确定路径时乱用。

【四、查看日志】

日志排查常用:

tail -f app.log

tail -n 100 app.log

less app.log

grep "ERROR" app.log

`tail -f` 会实时追踪日志,非常适合看接口请求和报错。

如果你项目部署后访问失败,第一反应应该是看日志,而不是盲猜。

【五、进程管理】

查看进程:

ps aux | grep python

查看端口:

netstat -tunlp

或者:

ss -tunlp

杀进程:

kill PID

kill -9 PID

`kill -9` 是强杀,不要随便用,优先正常停止服务。

【六、端口是什么】

端口可以理解成服务器上的服务入口。

常见端口:

22 SSH

80 HTTP

443 HTTPS

3306 MySQL

6379 Redis

8000 常见后端开发端口

如果服务启动失败,可能是端口被占用。

查看 8000 端口:

lsof -i:8000

【七、后台运行服务】

开发时可能这样启动:

uvicorn main:app --host 0.0.0.0 --port 8000

但关闭终端后服务会停。

生产环境通常会用:

- systemd

- supervisor

- Docker

- pm2

systemd 服务示例概念:

systemctl start myapp

systemctl stop myapp

systemctl status myapp

【八、环境变量】

线上配置不要写死在代码里。

常见环境变量:

DATABASE_URL

REDIS_URL

JWT_SECRET

OPENAI_API_KEY

ENV

查看:

echo $DATABASE_URL

临时设置:

export ENV=production

【九、常见坑】

- 本地能跑,服务器路径不对。

- 忘记开放安全组或防火墙端口。

- 服务只监听 `127.0.0.1`,外部访问不到。

- 日志没有写文件,出错无法排查。

- `.env` 没配置,启动时报密钥错误。

- 用 root 跑所有服务,权限风险高。

【十、面试常问】

1. 线上服务访问不了,你怎么排查?

先看服务是否启动,再看端口是否监听,再看 Nginx 配置和安全组,最后看应用日志。排查顺序是进程、端口、网络、配置、日志。

2. 怎么查看某个端口被谁占用?

可以用 `lsof -i:端口`、`netstat -tunlp` 或 `ss -tunlp` 查看监听端口和进程信息。

3. 为什么生产环境不能直接用开发服务器?

开发服务器主要用于本地调试,不适合生产环境的并发、稳定性、进程管理和安全要求。生产一般使用 Gunicorn/Uvicorn workers、Nginx、systemd 或 Docker。

http://www.jsqmd.com/news/1133083/

相关文章:

  • 2026年无锡细胞存储行业发展现状与机构业务布局梳理
  • 解放双手的FGO刷本革命:Fate/Grand Automata实战指南
  • 免费获取9大网盘高速下载权限的完整指南:LinkSwift网盘直链下载助手
  • 5分钟掌握AMD Ryzen SDT调试工具:免费解锁处理器隐藏性能
  • 基于SecGPT-14B构建AI驱动的攻击脚本智能分析与自动化预警系统
  • BetterNCM安装器:让网易云音乐插件管理变得像点外卖一样简单
  • 家长必看!孩子用AI作业提分18%却毁掉考试?3个避坑指南
  • 网易云音乐插件管理器终极指南:5分钟打造个性化音乐体验
  • Fastboot Enhance:Windows平台终极Android刷机工具箱,新手3分钟上手指南
  • 电脑微信、QQ 缓存完整清理教程(官方自带工具,安全不丢聊天记录)
  • 终极Wand-Enhancer完整指南:5分钟解锁游戏修改器高级功能
  • 告别GPG复杂配置:age现代文件加密工具从入门到实战
  • 3种逆向工程方案深度解析:如何破解Beyond Compare 5的RSA加密授权机制?
  • Appium自动化测试实战:语音通话功能从环境搭建到质量验证
  • 优质多少钱隔音落地窗铝合金窗靠谱吗
  • OpenSSL命令行终极指南:轻松掌握证书管理与加密操作
  • 小样本统计推断:为什么t分布比正态分布更可靠
  • 当代码遇见生命:CRISPR 如何精准“粉碎”不可成药的癌细胞
  • 终极指南:5分钟掌握docx2tex实现Word到LaTeX高效转换
  • DSC法实测PCB Tg值:从ASTM E1356标准到3种常见曲线解读
  • EhViewer:基于Material Design 2的终极开源漫画阅读应用
  • 日韩市场轻量企业级大厂 App 广告素材查询工具|首选 IST(InsightRackr)完整指南
  • Beyond Compare 5授权管理技术深度解析:RSA加密机制与自动化部署实践
  • 打破苹果限制:用OpenCore Legacy Patcher让老款Mac重获新生
  • FastDFS V6.16 发布,支持部署多个storage实例
  • 探索 Google 的 AI 开发者工具矩阵:AI Studio、Gemini 与 AGY 深度解析
  • 实验7-1 自媒体运营分析-数据清洗与预处
  • 如何高效使用免费开源项目管理工具GanttProject:5个提升效率的秘诀
  • 如何在Windows 10/11上实现经典游戏联机:IPXWrapper终极解决方案
  • 如何快速掌握思源宋体:专业设计的7种粗细完整使用秘诀