• Linux入门第三讲(完结)


    准备工作

    • 将项目代码拉到linux本地环境

    • 安装环境

      • 虚拟机当中有python冲突

        • 自己安装一个新版本python

          apt-get install python3.7
          apt-get install python3.7-venv
          
          • 1
          • 2
      • 创建虚拟环境

        python3.7 -m venv venv
        
        • 1
      • 激活虚拟环境

         source venv/bin/activate
        
        • 1
      • 安装依赖

        pip install -r requirements.txt
        
        • 1

    Nginx

    • Nginx

      高性能http服务器反向代理服务器.

    • 为什么使用Nginx

      一个域名对应的只有一个IP, 一个IP对应一台服务器, 一台服务器可以启动多个服务.

      那么我们怎么让服务器知道当前的请求应该由哪个服务来处理呢?

      统一管理当前服务器内开启的对外暴露服务.

      • 减少了对外暴露的端口, 隐藏真实服务地址, 增加了安全性.
    • 安装nginx

      apt-get install nginx
      
      • 1
    • 启动和关闭nginx

      service nginx start
      service nginx restart
      service nginx stop
      
      • 1
      • 2
      • 3
      • 127.0.0.1, 0.0.0.0, localhost的区别

        • localhost

          localhost就是一个默认的本机域名, 你可以手动对其进行配置

        • 127.0.0.1

          回环地址, 127开头的地址是一类向自身发送通信的特殊地址

        • 0.0.0.0

          代表本机所有IP地址, 如果你想让外部可以访问到你的服务, 则需要将服务绑定到0.0.0.0地址上.

    • nginx部署静态资源

      • 修改nginx配置文件

        vim /etc/nginx/sites-available/default
        
        // 添加以下配置
        location /static/ {
                alias /var/static/;     // 当前静态资源保存的路径
                autoindex on;
                add_header Cache-Control private;
                expires 30d;
                }
        
        • 1
        • 2
        • 3
        • 4
        • 5
        • 6
        • 7
        • 8
        • 9
      • 重启nginx

      • 配置静态资源的好处

        前后端分离, 静态资源的问题可以由前端自由管理和控制.

    uWSGI

    https://uwsgi-docs.readthedocs.io/en/latest/
    
    • 1
    • 什么是uWSGI

      WSGI只是一种协议, 用来解决一个请求到服务端, 服务端与内部应用的交互.

      uWSGI是一个项目, 目的是通过统一的API和配置风格, 集成应用服务器, 代理, 进程管理, 监控等功能

    • 为什么需要uWSGI

      • 性能问题: 通过python manage.py runserver命令来启动的是单进程多线程的应用.
      • uWSGI可以更好地控制并发
    • 安装uWSGI

      # 在创建虚拟环境前和环境后各第一时间安装一次, 避免出错.
      pip3 install uwsgi
      
      • 1
      • 2
    • 配置uWSGI

      https://uwsgi-docs.readthedocs.io/en/latest/Configuration.html
      
      • 1
      • 在当前项目下创建uwsgi.ini

      • 添加以下内容

        [uwsgi]
        # 项目本地服务地址
        http=127.0.0.1:5000
        
        # 观察项目得运行情况
        stats=127.0.0.1:5100
        
        # 项目的虚拟环境
        virtalenv=/home/tunan/my_blog_2/venv
        
        # 项目的根目录
        chdir=/home/tunan/my_blog_2
        
        # 绑定wsgi协议
        wsgi-file=myblog/wsgi.py
        
        # 设置进程数, 跟cpu一致即可.
        processes=12
        
        # 线程数目
        threads=4
        
        # 导出的log日志
        logto=/var/log/myblog.log
        
        # 如果django项目中使用了STATIC, 就要作静态资源的映射
        static-map=/static=static
        
        • 1
        • 2
        • 3
        • 4
        • 5
        • 6
        • 7
        • 8
        • 9
        • 10
        • 11
        • 12
        • 13
        • 14
        • 15
        • 16
        • 17
        • 18
        • 19
        • 20
        • 21
        • 22
        • 23
        • 24
        • 25
        • 26
        • 27
    • 启动uwsgi

      uwsgi --ini uwsgi.ini &
      
      • 1
    • 在nginx中做代理转发

      location /myblog/ {
      	proxy_pass http://127.0.0.1:5000;
      }
      
      * 代理转发之后, http://127.0.0.1:5000的外部地址是http://域名/myblog.  
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 解决url匹配的问题

        url也要做相应的修改, 将myblog添加到最高级路径
        
        • 1
    • 查看nginx日志

      cd /var/log/nginx
      
      • 1
      • access.log

        访问日志

      • error.log

        错误日志

  • 相关阅读:
    Vue学习之--------全局事件总线(2022/8/22)
    金九银十,一个新的王者在8月即将加冕——Treasure project(TPC)重磅来袭,你参与了吗?
    02 CSS技巧
    SD-WAN专线:一带一路市场布局的商业加速器
    算法(二)——数组章节和链表章节
    OSCAR 分享之蚂蚁开源治理的方法和实践
    java毕业设计权益会员管理源码+lw文档+mybatis+系统+mysql数据库+调试
    大学生个人博客网页设计模板 学生个人博客网页成品 简单个人网站作品下载 静态HTML CSS个人网页作业源代码
    R数据分析:孟德尔随机化实操
    Kafka 基础概念及架构
  • 原文地址:https://blog.csdn.net/weixin_50153843/article/details/127434646