4.Python教程--项目部署篇(全)

it2023-11-27  73

Python人工智能总目录

人工智能总目录网页链接

文章目录

Python人工智能总目录 13、Python运维Day0113.1 运维1. 运维概述2. 运维工具3. Linux常用命令4. 周期性计划任务5. awk的使用 14、Python项目部署Day0114.1 项目部署1. 概念2. 项目部署(nginx+uwsgi+django)3. 部署在线商城项目

13、Python运维

Day01

13.1 运维

1. 运维概述

1、运维概述 1、什么是运维 服务器运行维护 2、名词 1、IDC(互联网数据中心) 服务器租用、服务器托管、机柜租用 2、监控软件 常用监控软件 :zabbix、nagios、cactti 3、常用Linux操作系统 RedHat CentOS Ubuntu 4、虚拟化(见图) 5、Web正向代理 1、访问原来无法访问的资源(google) 2、对Web服务器隐藏用户信息 6、nginx反向代理 1、流程 客户端->代理服务器->将请求转发给公司内部网络的服务器 2、作用 1、保证内网安全,使用反向代理阻止WEB攻击 2、负载均衡,优化网站负载 3、负载均衡规则 1、轮询 :逐一循环调度 2、权重(weight) : 指定轮询几率,权重值和访问比例成正比 3、ip_hash:根据客户端IP分配固定的后端服务器 3、nginx反向代理实现负载均衡 修改nginx配置文件配置nginx调度器 upstream servers{ server 10.10.10.11; server 10.10.10.12 weight=2; server 10.10.10.13; server 10.10.10.14 backup; } server{ listen 80; server_name www.lion.com; localtion /{ proxy_pass http://servers ... ... } }

2. 运维工具

2、运维工具 1、xshell(软件,安装在windows) 安全终端模拟软件 2、xshell使用方法 文件-新建-输入服务器IP-输入用户名-输入密码-确认连接 3、windows <-> Linux 1、安装lszrz sudo apt-get install lrzsz 2、windows -> Linux xshell终端 :rz 3、Linux -> windows xshell终端 :sz 文件名

3. Linux常用命令

3、Linux常用命令 1、ifconfig : IP地址和MAC地址 2、ping :测试网络连通性 ping IP地址 -c 次数 3、nslookup : 解析域名对应的IP地址 nslookup www.baidu.com 4、sudo /etc/init.d/networking restart 重启网络 5、top Linux下任务管理器,动态显示CPU及内存使用率 6、ps -aux 显示系统进程命令(PID) ps -aux | grep 'mysql' 7、ssh 远程连接到服务器 ssh 用户名@IP地址 8、scp 复制文件到远程服务器 scp 文件名 用户名@IP地址:绝对路径 9、kill 杀死一个进程 sudo kill 进程PID号 10、df -h 查看磁盘使用情况 11、ls -lh 文件名: h提供易读容量单位 12、chmod 修改文件权限 chmod +x 文件名 chmod 644 文件名 rw-r--r-- r : 4 w : 2 x : 1 13、wc -l 统计文件行数 wc -l /etc/passwd 14、sort 对文件内容进行排序 sort 文件名 15、uniq -c 去重重复行,并统计每行出现的次数(相邻行) sort 文件名 | uniq -c 16、du -sh 目录名: 显示目录大小 17、du -ah 目录名: 显示目录下所有文件,子目录,子目录中文件所占空间 18、grep ps -aux | grep mysql ^ : 开头 $ : 结尾 19、find 1、find 路径 -name '文件名' find 路径 -iname '文件名' ##忽略大小写 2、find 路径 -ctime +3 # 3天以前文件 -1 # 1天以内文件 find 路径 -cmin +5 3、find 路径 -size +10M find 路径 -size -1G

4. 周期性计划任务

4、周期性计划任务 1、进入周期性计划任务设置 crontab -e 按4 2、设置周期性计划任务 * * * * * 分 时 日 月 周 分:0-59 时:0-23 日:1-31 月:1-12 周:0-6 * :所有可能值 , :多个时间点 00 00 1,5 * * python3 /home/tarena/a.py / :指定时间间隔频率 */10 * * * * python3 /home/tarena/a.py - :指定一个时间段 0点到6点之间,每隔1个小时执行命令 0 0-6/1 * * * python3 /home/tarena/a.py 1、每分钟执行一次a.py * * * * * python3 /home/tarena/a.py 2、每小时的第3分钟和第15分钟执行 3,15 * * * * python3 /home/tarena/a.py 3、每天18:00-23:00,每小时执行 0 18-23/1 * * * python3 /home/tarena/a.py 4、每周六、日的0点0分执行 0 0 * * 6,0 python3 /home/tarena/a.py

5. awk的使用

5、awk的使用 1、语法格式 :awk 选项 '动作' 文件列表 2、用法 :Linux 命令 | awk 选项 '动作' 3、示例 1、awk '{print "AAA"}' ip.txt 2、df -h | awk '{print $1}' 3、显示当前系统的所有用户名 cat /etc/passwd | awk -F ":" '{print $1}' 4、提取本机的IP地址 ifconfig | head -2 | tail -1 | awk '{print $2}' | awk -F ':' '{print $2}' 5、nginx的访问日志路径: /var/log/nginx/access.log 访问记录 : 127.0.0.1 - - [29/Jan/2019:19:34:42 +0800] "GET / HTTP/1.1" 200 396 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:64.0) Gecko/20100101 Firefox/64.0" 1、把访问过我的IP地址输出 awk '{print $1}' access.log | sort | uniq 2、统计有多少个IP访问过我 awk '{print $1}' access.log | sort | uniq | wc -l *3、统计每个IP地址访问我的次数,把访问次数最多的前10个IP输出 awk '{print $1}' access.log | sort | uniq -c | sort -rn -k 1 | head -10 4、sort的参数 sort -n : 以数值方式来排序 sort -r : 倒序排列 sort -k 数字: 按照第 几 列进行排序 sort -rnk 1 : 将第1列按照数值方式倒序排

14、Python项目部署

Day01

14.1 项目部署

1. 概念

目标: 打开浏览器输入:www.tiger.com进入django项目首页 1、概念 1、Django项目(Web应用) 2、Web服务 1、nginx :高并发处理的好 2、apache:稳定 LAMP :Linux、Apache、MySQL、Python/Php LNMP :Linux、Nginx、MySQL、Python/Php 3、uwsgi 是Web服务与Web框架之间简单而通用的接口

2. 项目部署(nginx+uwsgi+django)

2、项目部署(nginx+uwsgi+django) 1、部署环境准备 1、确保django项目能够运行 2、安装nginx(使用apt-get安装) 1、安装 :sudo apt-get install nginx 2、启动 :sudo /etc/init.d/nginx restart 3、验证 :打开浏览器,输入127.0.0.1:80-->出现Welcome to Nginx界面 3、安装uwsgi(必须使用pip3安装) 1、安装 :sudo pip3 install uwsgi 2、验证 :uwsgi --http :8888 --chdir /home/tarena/project/fruitday/ --module fruitday.wsgi

3. 部署在线商城项目

3、部署在线商城项目 1、配置uwsgi(配置文件) 1、在项目目录(manage.py所在路径)中新建uwsgi配置文件:fruitdayUwsgi.ini 2、vi fruitdayUwsgi.ini [uwsgi] # 指定和nginx通信的端口 socket=127.0.0.1:8001 # 指定项目路径 chdir=/home/tarena/project/fruitday # 指定wsgi.py路径 wsgi-file=fruitday/wsgi.py # 进程数 processes=4 # 线程数 thread=2 # 本项目的uwsgi自身占用端口 stats=127.0.0.1:8080 2、配置nginx(配置文件) 1、sudo -i 2、cd /etc/nginx/sites-enabled 3、vi projectNginx.conf server{ # 监听本项目的端口,浏览器输入的端口 listen 80; server_name www.lion.com; charset utf-8; # 收集项目静态文件的路径 location /static{ alias /home/tarena/project/fruitday/static; } # 和uwsgi通信端口和通信文件uwsgi_params location /{ include uwsgi_params; uwsgi_pass 127.0.0.1:8001; } } 4、sudo /etc/init.d/nginx restart 5、拷贝uwsgi_params文件到项目目录 cp /etc/nginx/uwsgi_params /home/tarena/project/fruitday/ 6、关闭nginx默认监听端口80 1、sudo -i 2、cd /etc/nginx/sites-enabled/ 3、vi default # 把原来默认的80改为800 listen 800 default_server listen [::]:800 default_server; 7、sudo /etc/init.d/nginx restart 3、收集静态文件(配置django项目) 1、在settings.py中添加路径(STATIC_ROOT) STATIC_ROOT = '/home/tarena/project/fruitday/static/' 2、收集静态文件 python3 manage.py collectstatic 4、uwsgi启动项目 1、切换到项目目录 cd /home/tarena/project/fruitday 2、利用uwsgi启动项目 uwsgi --ini fruitdayUwsgi.ini 5、添加本地DNS解析 1、sudo -i 2、vi /etc/hosts ## 添加如下内容: 127.0.0.1 www.lion.com 3、重启网络 /etc/init.d/networking restart 6、最终验证 打开浏览器,输入:www.lion.com/user/login 跳转到登录界面,部署成功 #### pip3不能使用的解决方法 ##### 1、cd /home/tarena/project/setuptools-33.1.1 2、sudo python3 setup.py install 3、sudo apt-get autoremove python3-pip 4、sudo python3 easy_install.py pip 5、sudo apt-get install python3-pip ## 执行pip3 list会报错 ## 错误:cannot import name 'main' 6、sudo vi /usr/bin/pip3 把原来的3行代码注释掉,添加新代码后保存退出: from pip import __main__ if __name__ == '__main__': sys.exit(__main__._main()) 7、pip3 list
最新回复(0)