python项目部署到服务器流程

自己记录学习用的,有问题欢迎指出哈。

linux服务器基础命令:


cd /  --切换到根目录
cd ./  -- 当前目录
cd ../  -- 上一级
cd 目录名称  -- 当前目录下的下一级


ls -l --查看文件列表 
ls    -- 同上
ls -a  --全部文件列表(包括默认隐藏)
ll --human     -- 查看大小(对人类友好,编译后)
ll --h  --同上(简写)
alias ll='ls -l'  为ls -l 命令去别名 ll  --设置别名


rm -rf 文件名或者文件夹   --删除文件(慎用,无法找回)
mv 源文件名或者源文件夹 目标文件夹目标文件名   --移动文件(文件夹)到指定位置
cp 源文件 目标文件      --复制文件
cp -R  文件夹  --深度复制文件夹

touch 文件名  --创建文件
mkdir 路径 --创建文件夹
mkdir -p /a/b/c   -- -p是递归创建所有不存在的文件夹

tar -xvf  文件路径 --解压文件
unzip  --解压.zip格式文件
tar -zcvf savedata.tar.gz savedata/ --打包并压缩文件

cat 文件名 --查看文件内容(从头到尾全部)
head -n 数字  文件名  --查看文件前几行内容
tail -n 数字  文件名  --查看尾部几行内容
tail -f 文件名   --持续滚动查看文件内容

pwd --查看当前路径

chmod 771 ttt.txt  --改变文件权限 -- rw-  r--  x--  r 读 4   w 写 2     x 执行 1
有x执行权限 可以省略例如 python test.py 的python 执行命令

编辑文件内容:
 vi 文件名
 vim 文件名  
 --如果没有文件,会创建对应文件
  i 进入边界模式,编辑模式命令:    
                dd   --删除整行
                /内容 --搜索
                 set number 设置行号
                 u 撤销(取消编辑模式)
                esc 取消编辑模式
   q!  --退出文件 不保存
    wq! --保存并退出


ps aux | grep 关键字  --查看相关进程 | grep 关键字      --筛选相关

kill -9  进程id    --结束进程


wc -l 文件名        --查询文件行数




echo aaa  --打印  结果 aaa
echo aaa > aaa.txt  将aaa插入到aaa.txt  覆盖全文
echo aa111a >> aaa.txt   将aaa插入到aaa.txt  累加



curl -i 地址 // 请求地址
curl -X POST 地址  //post请求
curl -X POST 地址 -H 'Content-type: application.json'  -d '{"name":"name"}'



### 关机 shutdown  慎用!!!!!






后台运行python.py进程命令:

 nohup python b.py>file1.log  &
 或
 nohup python -u b.py>file1.log 2>&1 &      -u可以实时更新到file1.log中使用tail -f file1.log 
 查看

<!-- 
 0、1和2分别表示标准输入、标准输出和标准错误信息输出,可以用来指定需要重定向的标准输入或输出。

在一般使用时,默认的是标准输出,既1。当我们需要特殊用途时,可以使用其他标号。

例如,将某个程序的错误信息输出到log文件中:./program 2>log。

这样标准输出还是在屏幕上,但是错误信息会输出到log文件中。
也可以实现0,1,2之间的重定向。2>&1:将错误信息重定向到标准输出。 -->

上传下载文件工具:

yum install lrzsz  文件上传下载工具  

rz  --上传文件  
sz 文件名  --下载文件

linux系统定时任务

--crontab 定时执行 指定程序 
crontab -e   --进入编辑(其他与文件编辑一致)


内容:
* * * * * run
- - - - -
| | | | |
| | | | ----- 星期中星期几 (0 - 6) (星期天 = 0或7)
| | | ------- 月份 (1 - 12)
| | --------- 一个月中的第几天 (1 - 31)
| ----------- 小时 (0 - 23)
------------- 分钟 (0 - 59) 


例如:
15 * * * * /path/to/command   每小时的第15分钟运行
0,30 9-18 * * 1-5  sh /python/run.sh  工作日半小时执行一次

docker 容器:

docker images 查看镜像列表
docker ps -a   查看容器列表
docker pull 镜像名:版本    拉取镜像、下载镜像
docker run  --name 名称 -itd 镜像名:版本 命令
docker run 包含了docker pull
    -it -d 后台运行 
    --rm 容器停止删除 (exit)
    --name 取名称 


容器内部的退出,有两种 
exit 会退出并停止容器
ctrl + p + q 退出不停止容器


docker start/stop/restart 容器id或者容器名  stop 停止不删除容器
docker rm 容器id或者容器名称   删除容器
docker rmi 镜像id或者镜像名称  删除镜像


docker exec -it  容器id或者容器名 命令  执行容器内命令 ex:docker exec -it 容器id /bin/bash
docker run  --name 名称 -itd  拉取并后台运行容器
-v 本地目录:服务器目录 挂载卷
-p 本地端口:服务器端口
镜像名:版本 --命令

操作系统:

linux 一个大类的操作系统
centos ubuntu android   --操作系统
<!-- 对应安装 包命令 -->
centos yum   例如:yum install **
ubuntu apt
linux  wget
centos 7-8-9

linux 安装 conda环境:


#下载脚本
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
# 运行
sh Miniconda3-latest-Linux-x86_64.sh
#这一步提示选择no
You can undo this by running conda init --reverse $SHELL? [yes|no]: no
#查看shell是什么
echo $SHELL
# output
# /bin/bash
eval "$(/安装路径/bin/conda shell.bash hook)"
# 初始化
conda init
# 加载环境变量
source ~/.bashrc
# 默认不加载conda的shell
conda config --set auto_activate_base false

# conda常用命令
conda env list
conda create -n 名称 python=版本
conda activate 名称
conda deactivate  返回

linux 如何部署python项目:

1、进入docker容器(centos镜像)

docker exec -it 容器名/容器id /bin/bash

2、进入conda 创建的python环境中 

conda activate 名称

3、安装依赖

pip install Flask Gunicorn

安装应用依赖

 pip install -r  requirements.txt
 --python终端生成配置文件 pip list --format=freeze > requirements.txt

# 配置Gunicorn(创建 gunicorn.conf 文件 与app.py 同层级)

bind = '127.0.0.1:8000'

workers = 4

# 进入对应目录  启动Gunicorn  重启需要kill -9 原本的程序

gunicorn -D  -c gunicorn.conf app:app  
gunicorn -D --reload -c gunicorn.config.py app:app  # 更新文件后 同步更新

# nginx配置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值