数据可视化6_服务器的基本操作


使用服务器跑项目:

gunicorn -w 4 -b 0.0.0.0 main:app

gunicorn 绿色独角兽

windows不好用

服务器

os
import os
os.system('名字')
可以调出系统文件
浏览器的同源策略

JS代码必须从跟自己同源的网站获取数据,不能从异源的网站获取数据

同源的三要素:

  1. 协议相同

  2. 端口相同

  3. 域名相同[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-p2kkTKIx-1637497809558)(E:\code\Python\1000phone\md\数据可视化\同源策略.jpg)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-I2ZvYPMv-1637497809560)(E:\code\Python\1000phone\md\数据可视化\同源示意图.jpg)]

后端跨域

CORS

在HTTP响应头,加字段

Access-Control-Allow-Origin:* – 允许任何网站来这里跨域取数据

👆告诉浏览器谁可以拿数据

安装cors:

pip install flask-cors

Linux基础命令

命令格式---->命令 参数 命令作用对象

功能键/快捷键

​ Tab - 命令或路径的自动补全

​ 命令 --help

​ Ctrl + w 删除光标前面的单词

​ Ctrl + u 删除光标前面的内容

​ Ctrl + k 删除光标后的内容

​ Ctrl + A 光标移到行首

​ Ctrl + e 光标移到行尾

​ Ctrl + c 终止进程

命令
clear 清楚屏幕输出
who / w 谁连接了我

​ w的功能更强大

whoami 查看当前用户的用户名
exit / logout 退出登录
shutdown 关机

​ shutdown -c 取消关机

man manual 查看命令的帮助手册
cal 8 2000 查看2000年8月的日历
date 当前时间
history 历史命令

​ 如果想再执行一遍,就输出!历史命令编号

​ history -c 清除历史命令

查看进程 ps -ef | grep python

​ init 0 关机,init 6重启

​ kill 进程号(PID)

​ kill/pkill/killall -结束进程

​ pkill 进程名字

top --类似于Windows的任务管理器
jobs – 查看当前会话的后台任务 —> 编号

fg %编号,将后台任务放到前台运行

bg %编号,将任务在后台运行起来

可以在命令后面使用&将任务放到后台运行

netstat – 检测网络和端口状态

​ ntlp - 检测网络和端口状态

​ -n:number ,以数字的方式显示网络地址

​ -l:listen,查看处于监听状态的

​ -t:TCP

​ -p:

pwd print working directory 打印工作目录
cd change directory 切换目录

​ cd /xx 从根目录

​ cd 回根目录

ls list directory contents 列出目录下的文件

​ -a 所有文件

​ -l 长格式

mkdir make directory 创建文件夹

​ -p 自动创建父文件夹

cp /mv -cpoy / move - 赋值/移动文件夹

​ -r 递归式

rm remove 删除
			-r :递归式,

​ -f : 强制

​ -i :交互式

cat concatenate 连接多个文件,显示文件内容

​ -n 显示行号

修改文件权限

chmod u+x,g+x,o+x mycal.py

Linux系统安装软件/服务的方式:
使用包管理工具:最方便最简单 ≈ 软件管家

​ CentOS/Redhat : yum / rpm

​ 搜索: yum search nginx

​ 安装: yum install -y nginx

​ 更新:yum update nginx

​ 更新全部就是yum update

​ 卸载: yum erase -y nginx / yum remove -y nginx

​ 查看信息:yum info nginx

​ 搜索: yum search python3 | grep “programming”

​ 查看所有安装过的包:yum list installed

​ whatis python ----python 是什么

​ which python -----python位置

​ python --version python的版本

​ python3 --version python3的版本

​ Ubuntu用的命令:apt / apt-get

源代码构建安装:麻烦
以python3.8为例
  1. 从官网下载Python源代码

    ​ wget https://www.python.org/ftp/python/3.8.10/Python-3.8.10.tgz

  2. 解压缩和解归档(把一个文件拆成多个文件)

解压缩

gunzip Python-3.8.10.tgz

解归档

tar -xf Python-3.8.10.tar

压缩格式有gzip和xz两种

解压缩

gzip / gunzip - 压缩和解压缩

tar - 归档和解归档

tar -zxf 先解压缩,解压缩了解归档

压缩不等于归档,压缩会变小,归档是多个文件夹变成一个

如果是xz文件:

xz *************** .tar.xz

  1. 补充安装Python解释器需要的底层依赖性

    yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel libdb4-devel libpcap-devel xz-devel libffi-devel libxml2

    检查有没有gcc和make,如果没用就要安装

    gcc --version

    make --version

    如果没用:yum install -y gcc

    如果有:yum update -y gcc

  2. 安装前的配置 ----->Makefile(执行完毕后会生成这个文件)

    ./configure --prefix=/usr/local/python38 --enable-optimizations

  3. 构建和安装

    make && make install

    如果没有安装成功:
    make clean

    ./configure --prefix=/usr/local/python38

  4. 配置环境变量

    vim .bash_profile

    ​ path=…:/usr/local/python3/bin

    :wq

  5. 退出重新登录(点⚡)

    python3 --version

    pip3 --version

  6. 创建一个符号链接(快捷方式)

    ln -s /usr/local/python38/bin/python3 /usr/bin/python3

安装git
  1. 下载Git源代码

    wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.32.0.tar.xz

  2. 解压缩和解归档

    xz -d git-2.32.0.tar.xz

    tar -xvf git-2.32.0.tar

  3. 补充依赖项

    yum install -y curl libcurl libcurl-devel

  4. 安装前的配置

    cd git-2.32.0

    ./configure --prefix=/usr/local

  5. 构建和安装

    make && make install

  6. 检查安装是否成功

    git --version

    【或者可以下载与操作系统对应的二进制程序】

安装mysql
  1. wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.34-1.el7.x86_64.rpm-bundle.tar
  2. mkdir mysql 搞一个文件夹叫mysql
  3. tar -xf mysql-5.7.34-1.el7.x86_64.rpm-bundle.tar -C mysql 把安装包解压到mysql
  4. rpm -ivh rpm的包管理工具

【mysql和maria不能共存,因为是不同的分支,先卸载再安装包,maria在mysql下面,是个隐藏的】

​ rpm -ivh mysql-community-common…

【补充底层依赖项,要在第四步做】

yum install -y libaio libaio-devel

查看包

​ rpm -qa | grep mysql

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RuXNkZ93-1637497809562)(E:\code\Python\1000phone\md\数据可视化\mysql包.png)]

  1. 卸载MariaDB

    yum erase -y mariadb-libs

  2. 启动mysql

    systemctl start mysqld

    systemctl stop mysqld

  3. 查看初始密码
    cat /var/log/mysqld.log | grep password

  4. 用客户端工具连接并修改密码
    mysql -u root -p
    alter user ‘root’@‘localhost’ identified by ‘Xiaoli.429’;

【如果使用CentOS 8.x,需要调整以下两个步骤:
yum install -y perl
不需要安装mysql-community-libs-compat-xxx包】
云服务器 ----->web服务器(网站服务器)----->Apache/Nginx(enginne X)

--------->浏览器--------->http://8.142.38.102

---------->购买域名------->xxxxxx.xxx

--------->DNS解析-------->http://xxxx.xxx

启动和停止服务:

​ 启动Nginx:systemctl start nginx

​ 停止Nginx:systemctl stop nginx

​ 重启Nginx: systemctl restart nginx

​ 开机启动: systemctl enable nginx

​ 禁用自启: systemctl

联网下载

wget 网址

Vim 文本编辑器
工作模式

​ 命令模式

​ 进入编辑模式:i / o / a

​ 撤销:u

​ 翻页:ctrl+f / ctrl +b

​ 翻行:ctrl +e / ctrl+y

​ 删行:dd

​ 删很多行:1000dd

​ 删到行尾:d0

​ 删到行尾:d$

​ 删一个单词:dw

​ 复制/粘贴 yy/p

​ 撤销/恢复:u/ctrl+r

​ 移动光标:h j k l / G gg

​ 移动到某行 100G

​ 0 行首

​ $ 行尾

​ 编辑模式

​ 回到命令模式:ESC

​ 末行模式(底线命令模式)

​ 退出:q / qa / q!

​ 保存:w / w! / w hello.py

​ 保存退出:wq

​ 显示行号/隐藏行号: set nu /set nonu

​ 高亮语法:syntax on / syntax off

​ 自动缩进: set autoindent

​ 设置制表键(TAB)的空格数:set ts=4

​ 将制表键转成空格:set expandtab

​ 替换:1,$s/新闻/哈哈/cgi

​ 1:第一行,$:最后一行,把新闻替换成哈哈,cgi:一些配置的缩写

项目部署上线过程
  1. 克隆项目到云服务器

    git clone depth 1 https://gitee.com/jackfrued/data_viz_2103.git

  2. 启动和初始化数据库

    mysql -u root -p < /root/data_viz_2103/order.sql

    mysql -u root -p < /root/data_viz_2103/stock.sql

    create user ‘guest’@‘localhost’ identified by ‘Guest.618’;

    grant select on data_viz.* to ‘guest’@‘localhost’;

    grant select on stock.* to ‘guest’@‘localhost’;

  3. 修改Nginx配置

    user

  4. 启动Nginx

    启动:systemctl start nginx

    重启:systemctl restart nginx

    查看状态:systemctl status nginx

    开机启动:systemctl enable nginx

    禁止自启:systemctl disable nginx

    停止:systemctl stop nginx

  5. 创建虚拟环境,安装依赖项

    安装virtualvenv 工具:pip3 install virtualenv

    使用virtualvenv创建虚拟环境:virtualenv --python=($which python) venv

    激活虚拟环境

    source venv/bin/activate

    创建依赖项清单

    pip freeze > requirements.txt

    安装依赖项

    pip install -r requirements.txt

  6. 启动Gunicorn

    如果需要修改数据库连接信息,可以先执行export命令配置环境变量

    export DB_USER=guest

    export DB_PASS=Guest.618

    临时变量,退出登录了就失效了

    gunicorn -w 2 -b 127.0.0.1 main:app

  7. 修改nginx配置并重启

    修改:

    vim /etc/nginx/nginx.conf

    http{

    ​ server{

    ​ location /api/ {
    proxy_pass http://127.0.0.1:8000;
    ​ proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    ​ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    ​ }

    ​ }

    }

    重启:

    systemctl restart nginx

    gunicorn的IP地址和location的代理地址要一样

  8. 域名绑定

    购买域名

    域名解析:A---->@---->公网IP地址

  9. 配置HTTPS

    临时变量,退出登录了就失效了

    gunicorn -w 2 -b 127.0.0.1 main:app

  10. 修改nginx配置并重启

    修改:

    vim /etc/nginx/nginx.conf

    http{

    ​ server{

    ​ location /api/ {
    proxy_pass http://127.0.0.1:8000;
    ​ proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    ​ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    ​ }

    ​ }

    }

    重启:

    systemctl restart nginx

    gunicorn的IP地址和location的代理地址要一样

  11. 域名绑定

    购买域名

    域名解析:A---->@---->公网IP地址

  12. 配置HTTPS

购买证书,配置端口,重启

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值