目标 : 在浏览器输入 www.python1.com 回车

   进入到Django项目主页
  1. 概念

    1. Django项目(Web应用)
      该文章中的django项目为fruitday
    2. Web服务

      1. nginx : 高并发处理的好
      2. Apache : 稳定
        LNMP : Linux Nginx MySQL Python/PHP/Perl
        LAMP : Linux Apache MySQL Python/PHP/Perl
    3. uwsgi
      是Web服务器与Web框架之间一种简单而通用的接口
  2. 项目部署

    1. 部署环境准备

      1. 确保Django项目能够运行
      2. 安装Web服务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 :9000 --chdir /home/tarena/myproject/fruitday/ --module fruitday.wsgi
    2. 在线商城部署

      1. 配置uwsgi(配置文件)
        和nginx通信端口 自身启动占用的端口

        1. 在项目目录(manager.py所在路径)中新建uwsgi启动文件:fruitdayUwsgi.ini
        2. 在配置文件中写入如下内容:
          [uwsgi]

          指定和nginx通信的端口

          socket=127.0.0.1:8001

          项目路径

          chdir=/home/tarena/myproject/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.python1.com;
          # 指定字符集
          charset utf-8;# 指定收集静态文件路径
          location /static{alias /home/tarena/myproject/fruitday/static;

          }

          # 和uwsgi通信端口和通信文件
          location /{include uwsgi_params;uwsgi_pass 127.0.0.1:8001;

          }

          }

        4. 拷贝uwsgi_params到项目根目录

          1. sudo -i
          2. cd /etc/nginx
          3. cp uwsgi_params /home/tarena/myproject/fruitday
        5. 改掉nginx默认的server(80)

          1. sudo -i
          2. cd /etc/nginx/sites-enabled
          3. vi deault #把listen的端口由80改为800
            server {
            listen 800 default_server;
            listen [::]:80 default_server;
        6. 重启nginx服务
          sudo /etc/init.d/nginx restart
      3. 收集静态文件

        1. 在settings.py文件中添加路径(STATIC_ROOT)
          STATIC_ROOT = '/home/tarena/myproject/fruitday/static'
        2. 收集静态文件

          1. cd /home/tarena/myproject/fruitday
          2. python3 manage.py collectstatic
      4. 添加本地DNS解析

        1. sudo -i
        2. vi /etc/hosts
          127.0.0.1 www.python1.com
        3. 重启网络服务
          sudo /etc/init.d/networking restart
      5. uwsgi启动项目

        1. 切换到项目目录
          cd /home/tarena/myproject/fruitday
        2. 利用uwsgi启动项目
          uwsgi --ini fruitdayUwsgi.ini
      6. 打开浏览器,输入 www.python1.com
        直接进入项目主页

亲身验证切实可行的python项目部署方案相关推荐

  1. python项目部署

    第 1 章 部署基础知识 1.1 部署基础 学习目标: 了解 传统项目生命周期的阶段特点 了解 新型项目生命周期的特点 了解 部署方案的一般流程 1.1.1 项目生命周期 世间万物皆有其生命,软件项目 ...

  2. 华为云·云享专家公开课:45分钟掌握Python项目部署与调度核心逻辑直播

    爬虫项目在编写完成后往往需要部署到服务器上,会经历哪些阶段?如何运行Python 的 EGG 包?华为云专家在线公开课将于 5.22日19:00为你揭秘,45分钟让你轻松掌握Python项目部署与调度 ...

  3. 如何将Python项目部署到新电脑上运行?

    如何将Python项目部署到新电脑上运行? 在工作中,可能需要在新服务器上部署项目代码,例如新增服务器.把测试环境的代码部署到生产环境等. 在生活中,也会遇到换新电脑,需要将自己在旧电脑上写的(项目) ...

  4. 小奎因的 PYTHON 项目部署与调度直播分享来了

    " 阅读本文大概需要 10 分钟. " "凉风有性 秋月无边--" 编不下去了. 自从上次发布开源库 aiowebsocket 之后,小奎因已经很久没有在公众号 ...

  5. python 怎么部署_如何把Python项目部署到服务器上

    如何把Python项目部署到服务器上 一,不需要域名的情况下 1,访问阿里云官网 2,注册登录(建议支付宝授权) 3,登陆后--->产品-->云服务器ECS 4,滚动条拉倒页面底部--&g ...

  6. Maven项目部署方案

    以xbank项目做为应用背景,简单说明一下Maven项目的部署方案: 1.项目说明 xbank基础服务端的11个子项目均采用Maven搭建: 其中各项目功能设计如下: froad-xbank-serv ...

  7. python项目部署到docker_使用docker 部署python 项目

    使用python 开发了一个restfu api程序,使用docker镜像部署.主要有如下步骤,简单记录以供以后参考. 1. 创建DockerFile文件 创建一个DockerFile文件,文件名为D ...

  8. 如何将本地python项目部署到服务器上_如何将本地的Django项目部署到云服务器

    如何将本地的Django项目部署到云服务器 开发环境 开发语言: Python 后台框架:Django 前端框架:bootstrap web服务器:nginx wsgi服务器:uwsgi 查看本地项目 ...

  9. python项目部署失败的原因_python – 使用scrapyd部署项目时出错

    我的项目文件夹中有多个蜘蛛,想要一次运行所有的蜘蛛,所以我决定使用scrapyd服务运行它们. 我已经开始通过看到 here来做到这一点 首先,我在当前项目文件夹中 >我打开了scrapy.cf ...

最新文章

  1. 30、Arrays工具类
  2. python%20语言 20培训_Python语言学习之20个值得学习的Python技巧
  3. SAP MM MIGO + 311 针对预留单做转库不能修改目的地存储地点!
  4. 对于python 3.x与python2.x中新型类的继承特性总结
  5. 2016年科技阅读列表
  6. Magento--修改已存在的订单的运费
  7. java main 命令行_java Main 命令行
  8. extJs相关名字解释
  9. k8s核心技术-Pod(健康检查)_健康检查的方式_以及pod崩溃后如何处理---K8S_Google工作笔记0023
  10. excelexportentity中设置null不显示的方法_如何在 Creator3D 中切换模型贴图,超级简单!...
  11. iPhone开发学习笔记005——使用XIB自定义一个UIView,然后将这个view添加到controller的view...
  12. vue-video-player 一款vue的前端视频播放插件 支持m3u8
  13. dojo实现省份地市级联报错(一)
  14. 杨丫头,送你只大喵~!!
  15. R语言绘图的中文字体处理
  16. 第十七章、程序管理与 SELinux 初探
  17. UE4多人 mysql_UE4 添加多人联机功能
  18. Google AI逆天了!
  19. 保险怎么买?有哪些销售渠道?各自的优缺点是什么?
  20. 苹果电脑和Windows怎么切换 苹果电脑安装双系统的利弊

热门文章

  1. python 笔试题 英方_经典算法题 :找字符串中的逆序对(百度笔试题)
  2. java 相加的函数_Java8 Collectors求和功能的自定义扩展操作
  3. 贪心算法区间调度问题思路代码证明
  4. java aio为什么不稳定_为什么我不提倡在Java中使用static
  5. 自学计算机二级office用什么书,暑假里想要自学计算机二级office有哪些什么好的建议...
  6. 邮件header中的subject或者from解码
  7. python3 split()函数
  8. qt 中如何播放声音(QSound)
  9. LeetCode:62. 不同路径
  10. 【业务知识】档案数字化加工处理过程