本教程采用宝塔来快速部署Django项目

一.安装宝塔

宝塔面板是提升运维效率的服务器管理软件,支持一键LAMP/LNMP/集群/监控/网站/FTP/数据库/JAVA等100多项服务器管理功能。

当然我们也可以使用他来部署Django。

  1. 进入宝塔官网地址:https://www.bt.cn/

  2. 点击Linux版,再次点击下方的立即安装

  3. 注意,因为我们需要借助宝塔的python任务管理器(目前只支持CentOS7.X版本),所以我们的服务器的操作系统最好为CentOS7.X版本

  4. 确定服务器操作系统没有问题后,复制下方链接

使用远程连接工具连接上你的远程服务器,我这里使用的是FinalShell,将刚刚复制的输入进你的远程服务器中,静静等待宝塔安装完成。

当你的服务器命令行上出现如下字样,代表宝塔安装成功,并将这些信息记录下来,因为这将是你登录宝塔的网址,用户名,密码

外网面板地址: http://服务器IP:8888/891ca0c3
内网面板地址: http://IP:8888/891ca0c3
username: XXXXX
password: XXXXX

我们登录宝塔页面一般使用外网面板地址

至此宝塔安装完成。

二.Django的部署

A.本地项目打包:

  1. 项目环境依赖导出

    打开pycharm并进入到你的本地项目中,打开终端在终端中输入:

     pip freeze > requirements.txt
    

    将本项目所依赖包的信息全部导出,以便于在服务器上安装项目运行环境
    执行后会在项目目录下生成requirements.txt文件,如果内容为空则导出失败,尝试升级pip或使用pip3



  2. 项目打包

    将项目文件打包为压缩文件,便于上传至服务器

    注意为了便于将项目文件解压到服务器网站目录下,打包时进入项目目录,选中全部文件后进行压缩。不要直接压缩项目文件夹

  3. 部署服务器

    1. 登录宝塔页面,点击左侧菜单栏下的软件商店

      服务器宝塔面板->软件商店->应用搜索“python”->安装“Python项目管理器 1.9”

    2. 安装python项目环境

      打开Python项目管理器,选自一个与自己项目匹配的python环境进行安装(所需时间较长,5-30分钟左右)

    3. 创建站点

      添加一个站点,作为Django项目服务的网站站点


  1. 上传Django项目源码

    删除站点文件夹下如图所示的两个文件

    将项目源码压缩包上传,并解压,最终效果如下图

 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210701190825765.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ2MTAzMzc2,size_16,color_FFFFFF,t_70#pic_center)
  1. 添加和修改配置文件

    添加uwsgi配置文件

 ![在这里插入图片描述](https://img-blog.csdnimg.cn/202107011908357.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ2MTAzMzc2,size_16,color_FFFFFF,t_70#pic_center)在站点文件下新建文件uwsgi.ini,并写入以下配置代码```#添加配置选择[uwsgi]#配置和nginx连接的socket连接(注意此处端口号)socket=127.0.0.1:8000#配置项目路径,项目的所在目录(改为自己项目目录路径)chdir=/www/wwwroot/crryg.top/#配置wsgi接口模块文件路径,wsgi.py这个文件所在的目录(改为自己项目目录路径)wsgi-file=xishan01/wsgi.py#配置启动的进程数processes=4#配置每个进程的线程数threads=2#配置启动管理主进程master=True#配置存放主进程的进程号文件pidfile=uwsgi.pid#配置dump日志记录daemonize=uwsgi.log```注意配置文件中socker的端口号(例8000),后面的配置文件端口号要与此一致。**修改站点配置文件**点击网站-》设置![在这里插入图片描述](https://img-blog.csdnimg.cn/20210701190845856.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ2MTAzMzc2,size_16,color_FFFFFF,t_70#pic_center)配置文件![在这里插入图片描述](https://img-blog.csdnimg.cn/20210701190853604.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ2MTAzMzc2,size_16,color_FFFFFF,t_70#pic_center)在站点配置文件下添加如下代码,并把路径改为自己项目的```location / {include uwsgi_params;uwsgi_pass 127.0.0.1:8000;  #端口要和uwsgi里配置的一样uwsgi_param UWSGI_SCRIPT xishan01.wsgi;  #wsgi.py所在的目录名+.wsgiuwsgi_param UWSGI_CHDIR /www/wwwroot/crryg.top/; #项目路径}location /static/ {alias /www/wwwroot/crryg.top/static/; #静态资源路径}```
  1. 添加和启动Django项目

    在Python项目管理器中添加Django项目,如下图所示

    恭喜你,Django项目已经部署完成,如下图所示,还有一些小的修改项目就可以成功运行了。

  2. 特别修改

    此时使用浏览器网站,会发现页面提示Internal Server Error或403 Forbidden

    因为此时还需要更改两个地方才能让项目正常运行

    1. 学习如何进入项目的虚拟环境

      对项目依赖环境的增删改以及项目的运行和管理都要在项目的虚拟环境下进行,这个虚拟环境是在Python项目管理器里添加项目时生成的文件夹xiangmu01_venv。
      使用如下指令进入虚拟环境,其中路径中的crryg.top和xiangmu01_venv更换成自己项目的

      source /www/wwwroot/crryg.top/xiangmu01/bin/activatecd /www/wwwroot/crryg.top
      

      在虚拟环境中,可以为项目安装新的依赖包,升级或降级依赖包的版本,并测试项目的运行

nv更换成自己项目的

  ```bashsource /www/wwwroot/crryg.top/xiangmu01/bin/activatecd /www/wwwroot/crryg.top```在虚拟环境中,可以为项目安装新的依赖包,升级或降级依赖包的版本,并测试项目的运行

通过宝塔部署Django项目相关推荐

  1. python项目管理器 宝塔面板 django 404_宝塔面板成功部署Django项目流程(图文)

    上线 Django 项目记录,超简单,避免无意义的踩坑! 第一步:安装python管理器 在宝塔在线面板安装" python项目管理器 " 第二步:安装适配python版本 因为服 ...

  2. 使用宝塔面板快速部署Django项目

    对于不熟悉linux的人而言使用第三方工具快速部署是一个很好的选择! 云服务准备 1.在服务器供应商管理后台安全组里开放必要端口. 国内的云服务器是把所有的端口给屏蔽了的,如果想使用的话需要自己在服务 ...

  3. 宝塔面板部署django项目

    由于直接部署在服务器上一直不成功,所以安装了宝塔面板用来部署django项目.使用nginx+mysql+uwsgi启动 一.安装宝塔面板 Centos安装命令: yum install -y wge ...

  4. 宝塔部署Django

    宝塔部署 django 1.安装宝塔,建网站 ​ 首先安装宝塔(不做介绍),需要的一些,建网站,添加站点,端口根据你自己的实际情况设置.没有域名就填自己的ip地址.如果端口没有开放的话,需要自己去安全 ...

  5. 使用Gunicorn Ngnx Supervisor部署Django项目

    Django作为最受欢迎基于Python的Web框架之一,为用户提供了一个轻量级的测试Server,但这个Server最好不要用于生产环境.那么如果我们需要在生产环境上面部署Django项目,那么我们 ...

  6. 基于nginx和uWSGI在Ubuntu系统上部署Django项目

    1. nginx 1.1 安装 sudo apt-get install nginx 1.2启动.停止和重启 sudo /etc/init.d/nginx start sudo /etc/init.d ...

  7. docker部署django项目、mysql主从搭建、django实现读写分离

    目录 docker部署django项目 1.1 基于python基础镜像 将本地django项目打包并发到远程服务器上 将服务器上的.zip django项目解压 部署的具体流程 1.2 基于dock ...

  8. nginx、uwsgi部署django项目理论+实战

    基本环境: Ubuntu 16.04.4 LTS python 3.5 virtualenv django project deployable #理论分析   部署django项目有很多方法,方法推 ...

  9. centos7根据端口查进程_记录一次CentOs7下Nginx+WSGI部署Django项目(超详细)

    记录一次Django部署的文章,不是很熟悉Linux系统,踩了不少坑,本篇文章相当于是一个总结,我会在本文中详细介绍,部署单个Django项目和多个Django的方法,如读者有更好的方法,欢迎留言一起 ...

最新文章

  1. Legacy autograd function with non-static forward method is deprecated. Please use new-style autograd
  2. BZOJ 2724蒲公英 (分块) 【内有块大小证明】
  3. 【java】DecimalFormat与JTextArea的区别
  4. JAVA——网络编程
  5. java jndi jboss_jboss结合spring中如何配置jndi
  6. 读《研发的那些事》有感
  7. 如何在 iPhone 和 Mac 上的 Apple Notes 中使用智能文件夹?
  8. Retinex理论,单尺度Retinex、多尺度Retinex(MSR)、带颜色恢复的多尺度 Retinex(MSRCR)原理
  9. IEEE期刊最新的影响因子
  10. Panel的基本用法
  11. magicbook的linux是哪个版本,荣耀MagicBook 2019预装Linux 影响使用吗
  12. asp.netcore 关于静态文件的访问权限控制(UseStaticFiles)
  13. 如何判断一个数是不是整数
  14. 58同城自动登录。。分享给大家
  15. mysql中文日期转换_mysql 日期转换
  16. mysql expire_mysql expire_logs_days是怎么生效和计算出来的
  17. [bx]与loop指令
  18. 迪克莫利-PLC之父
  19. 手机火狐浏览html文件在哪里,火狐手机浏览器书签在哪?
  20. 2022-2028全球与中国DevOps工具市场现状及未来发展趋势

热门文章

  1. JavaScript声明数组
  2. 我的优点是会使用计算机用英语怎,如何用英语描述自己的优点?
  3. JS获取页面class相同的控件
  4. iPad开发 - UIPopoverController控制器
  5. 燕山大学计算机专业前景,燕山大学值得考吗?2020多少分能上燕山大学?
  6. 【显卡】一文搞懂显卡
  7. 区块链技术应用落地蚂蚁链区块链合同
  8. js 循环二维数组
  9. 不需要再手工指定JVM启动参数-XX:+UseCompressedOops
  10. Neuron Newsletter 2022-07|新增非 A11 驱动、即将支持 OPC DA