day38-39 (Centos7版本相关命令和操作)

day38-day39

总结

  • Bourne Shell —> bsh

  • Bourne Again Shell —> bash

  • Shell —> 壳程序 —> 人机交互环境

  • 命令格式 —> 命令 参数 目标对象

    • 命令 --help —> 获得命令的帮助

    • man 命令 —> 查看命令的手册

    • 功能键/快捷键:

      • Tab - 命令或路径的自动补全
        • Ctrl+w - 删除光标前面的单词
        • Ctrl+u - 删除光标前所有的内容
        • Ctrl+k - 删除光标后所有的内容
        • Ctrl+a - 光标移到行首
        • Ctrl+e - 光标移到行尾
        • Ctrl+c - 终止进程
  • 基础命令:

    - clear - 清除屏幕输出
    - history - 历史命令 ---> !命令编号 ---> 再次执行命令
        -c:清除历史命令
    - who / w - 查询接入的用户
    - whoami - 查看当前用户的用户名
    - cal / date - 日历 / 日期时间
    - exit / logout - 退出登录
    - shutdown - 关机或重启
    - man - manual - 查看命令的帮助手册
    - whatis - 查看命令的描述信息
    - whereis / which - 查看命令对应的路径
    - pwd - print working directory - 打印工作目录
    - cd  - change directory - 切换目录
        - 绝对路径
        - 相对路径
    - ls  - list directory contents - 列出目录下的内容
        -l:长格式
        -a:所有文件
    - mkdir - make directory - 创建文件夹
        -p:自动创建父文件夹
    - cp / mv - copy / move - 复制/移动文件
        -r:递归式
    - rm - remove - 删除
        -r:递归式
        -f:强制
        -i:交互式
    - cat - concatenate - 连接多个文件(显示文件内容)
        -n:行号
    - gzip / gunzip - 压缩和解压缩
    - tar - 归档和解归档
    - wget - 网络下载器
        ~ 下载搜狐首页:wget https://www.sohu.com/
    - ps - 查看进程
        -aux / -ef ---> 所有进程
    - kill / pkill / killall - 结束进程
        kill PID
        pkill 进程名字
    - top - 类似于Windows的任务管理器
    - jobs - 查看当前会话的后台任务 ---> 编号
        ~ 可以在命令后面使用 & 将任务放到后台运行
        ~ 如果任务已经在前台运行了,可以用Ctrl+z将任务暂停并放到后台 
    - fg %编号 - 将后台任务放到前台运行
    - bg %编号 - 将任务在后台运行起来
    - netstat - 检测网络和端口状态
        -n:number,以数字的方式显示网络地址
        -l:listen,查看处于监听状态的网络服务
        -p:process,显示相关进程的信息
        -t:tcp,基于TCP的网络服务
    
  • Linux系统安装软件/服务的方式:

    - 使用包管理工具:最方便最简单 ---> 软件管家
        CentOS / Redhat:yum / rpm
        Ubuntu:apt / apt-get
        1. YUM - Yellowdog Updater Modified
        ~ 搜索:yum search nginx
        ~ 安装:yum install -y nginx
        ~ 更新:yum update -y nginx
        ~ 卸载:yum erase -y nginx  / yum remove -y nginx
        ~ 查看信息:yum info nginx
        ~ 查看所有安装过的包:yum list installed
        2. RPM - Redhat Package Manager
        ~ 安装:rpm -ivh 软件包文件
        ~ 卸载:rpm -e 软件包名字
        ~ 查看:rpm -qa | grep mysql
        ~ 安装MySQL 5.7.34
            1. 下载安装文件
            wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.34-1.el7.x86_64.rpm-bundle.tar
            2. 解归档到指定文件夹
            mkdir mysql
            tar -xf mysql-5.7.34-1.el7.x86_64.rpm-bundle.tar -C mysql
            cd mysql
            3. 卸载MariaDB的库文件
            yum erase -y mariadb-libs
            4. 补充底层依赖项
            yum install -y libaio libaio-devel
            5. 使用RPM安装
            rpm -ivh mysql-community-common-5.7.34-1.el7.x86_64.rpm
            rpm -ivh mysql-community-libs-5.7.34-1.el7.x86_64.rpm
            rpm -ivh mysql-community-libs-compat-5.7.34-1.el7.x86_64.rpm
            rpm -ivh mysql-community-devel-5.7.34-1.el7.x86_64.rpm
            rpm -ivh mysql-community-client-5.7.34-1.el7.x86_64.rpm
            rpm -ivh mysql-community-server-5.7.34-1.el7.x86_64.rpm
            6. 启动MySQL
            systemctl start mysqld
            7. 查看初始密码
            cat /var/log/mysqld.log | grep password
            8. 用客户端工具连接并修改密码
            mysql -u root -p
            mysql> alter user 'root'@'localhost' identified by 'Luohao.618'; 
            如果使用CentOS 8.x,需要调整以下两个步骤:
            ~ yum install -y perl
            ~ 不需要安装mysql-community-libs-compat-xxx包
    - 源代码构建安装:自己定制,麻烦
        ~ 安装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 / xz -d Python-3.8.10.tar.xz
            tar -xf Python-3.8.10.tar
            3. 补充安装Python解释器需要的底层依赖项
            yum install -y 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
            4. 检查有没有构建工具
            gcc --version
            make --version
            如果没有就安装:yum install -y gcc
            如果有执行更新:yum update -y gcc
            5. 安装前的配置 ---> Makefile
            cd Python-3.8.10
            ./configure --prefix=/usr/local/python38
            6. 构建和安装  ---> 不能断开连接
            make && make install
            7. 配置环境变量
            cd ~
            vim .bash_profile
                ---> 10G$a(光标移到第10行末尾在末尾进入编辑)
                ---> PATH=...:/usr/local/python3/bin
                ---> export PATH
                ---> Esc ---> :wq(进入末行模式,保存退出)
            退出重新登录
            python3 --version
            pip3 --version
            8. 创建一个符号链接(相当于Windows的快捷方式)(非必需)
            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
    - 下载与操作系统对应的二进制程序
    
  • Vim —> 文本编辑神器

~ 工作模式:
   - 命令模式
       - 进入编辑模式:i / o / a
       - 进入末行模式:: / ?
       - 移动光标:h j k l / G gg / w / 0 $
       - 翻页:Ctrl+f / Ctrl+b
       - 翻行:Ctrl+e / Ctrl+y
       - 删除:dd / d0 / d$ / dw
       - 复制/黏贴:yy / p 
       - 撤销/恢复:u / Ctrl+r
       - 保存退出:ZZ
   - 编辑模式
       - 回到命令模式:Esc
   - 末行模式(底线命令模式)
       - 替换:1,$s/新闻/狗屎/cgi
           ~ c - confirm
           ~ g - global
           ~ i - ignore case
       - 退出: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
  • 云服务器 —> Web服务器(网站服务器)—> Apache / Nginx
    —> 浏览器 —> http://47.108.204.85
    —> 购买域名 —> jackfrued.top
    —> DNS解析 —> http://jackfrued.top

  • 启动和停止Nginx服务:
    启动:systemctl start nginx
    停止:systemctl stop nginx
    重启:systemctl restart nginx
    查看状态:systemctl status nginx
    开机启动:systemctl enable nginx
    禁用自启:systemctl disable nginx
  • 启动和停止MySQL服务:
    启动:systemctl start mysqld
    停止:systemctl stop mysqld
  • 项目部署上线过程:

    1. 克隆项目到云服务器
      git clone --depth 1 https://gitee.com/jackfrued/data_viz_2103.git

    2. 启动和初始化数据库
      systemctl start mysqld
      mysql -u root -p < /root/data_viz_2103/order.sql
      mysql -u root -p < /root/data_viz_2103/stock.sql
      mysql -u root -p

      mysql> create user 'guest'@'localhost' identified by 'Guest.618';
      mysql> grant select on stock.* to 'guest'@'localhost';
      mysql> grant select on data_viz.* to 'guest'@'localhost';
      
    3. 修改Nginx配置

      user root;
      
      http {
          server {
      
              root /root/data_viz_2103/static;
      
          }
      }
      
    4. 启动Nginx
      systemctl start nginx
      systemctl restart nginx

    5. 创建虚拟环境,安装依赖项
      安装virtualenv工具:pip3 install virtualenv
      使用virtualenv创建虚拟环境:virtualenv --python=/usr/bin/python3 venv
      激活虚拟环境:source venv/bin/activate
      安装依赖项:pip install -r requirements.txt
    6. 启动Gunicorn

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

      export DB_USER=guest
      export DB_PASS=Guest.618

      gunicorn -w 4 -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
    
    1. 域名绑定
      ~ 购买域名:https://wanwang.aliyun.com/
      ~ 通过备案系统进行备案
      ~ 域名解析:A —> @ —> 云服务器公网IP地址

    2. 配置HTTPS(了解)
      ~ 购买安全证书
      ~ 修改Nginx的配置文件 —> vim /etc/nginx/nginx.conf

    http {
    
        server {
            listen       443 ssl;
            listen       [::]:443 ssl;
            server_name  _;
    
            ssl_certificate /root/cert/python-jack.pem;
            ssl_certificate_key /root/cert/python-jack.key;
            ssl_session_timeout 5m;
            ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
            ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 
            ssl_prefer_server_ciphers on;
    
            root         /root/data_viz_2103/static;
    
            # Load configuration files for the default server block.
            include /etc/nginx/default.d/*.conf;
    
            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;    
            }
    
            error_page 404 /404.html;
            location = /404.html {
            }
    
            error_page 500 502 503 504 /50x.html;
            location = /50x.html {
            }
        }
    }
    

    ~ 重启Nginx服务器:systemctl restart nginx

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值