宝塔面板成功部署Django项目流程(图文)
作者:Ouchihui 发布时间:2022-07-29 13:11:19
上线 Django
项目记录,超简单,避免无意义的踩坑!
第一步:安装python管理器
在宝塔在线面板安装“ python项目管理器
”
第二步:安装适配python版本
因为服务器 centos7
系统默认的 python
版本是 2.7
而我们项目是基于最新版 Django
来开发的,本地环境是 python2.7
的,为了尽量保证环境的相似,避免踩无意义的坑。
第三步:导出项目包到requirments.txt
python
的安装时间比较长,所以先做一些别的工作,同时在
在本地项目下执行如下命令导出:
python -m pip freeze > requirements.txt
导出的包挺多的,不要怕,虽然似乎自己也没用到那些包,在宝塔环境中,我们会使用虚拟环境运行,所以不用担心
更改 settings.py
中对应内容如下:
DEBUG = True
ALLOWED_HOSTS = ['*']
STATIC_URL = '/static/'
# STATICFILES_DIRS = [
# os.path.join(BASE_DIR, "static")
# ]
STATIC_ROOT = os.path.join(BASE_DIR, "static")
第四步:上传本地项目到服务器
上传本地项目到 www/wwwroot/
目录下
第五步:管理器中添加项目
在 python项目管理器
中配置,添加项目
按照如下图类似配置即可
这里勾选“是否安装模块依赖”,会自动帮我们读取项目下的 requirements.txt
,然后安装响应的模块,所以这里的时间会比较长。
管理器默认使用 pip
安装项目根目录 requirements.txt
内的模块,如有其他模块需要安装请手动进入虚拟环境安装
进入虚拟环境方法:
在命令行输入 source 项目路径/项目名_venv/bin/activate
如: source /data/python/project1_venv/bin/activate
第六步:映射域名
映射域名
我们需要一个容易记住的域名,所以给项目绑定一个预留的域名 safe.top15.cn
第七步:配置站点
配置 Nginx
映射成功后,可在面板侧边栏“网站”中,发现多了我们的 python
项目
此时,就可以显示对应项目的一些“ 站点配置
”
//指定静态文件
location /static/
{
alias /www/wwwroot/ThreatScan/static/;
}
Nginx
的配置按照如下,上图有误:
第八步:重启项目
因为修改了一些东西,所以我们需要在 python管理器
中重启项目
一定要用 uwsgi
能启动了
来源:https://www.cnblogs.com/ouchihui/p/13169057.html
猜你喜欢
- 前言很多时候开发者需要删除文件。可能是他错误地创建了文件,或者不再需要该文件。无论出于何种原因,都有一些方法可以通过Python来删除文件,
- 解释器模式(Interpreter Pattern)是什么解释器模式是一种行为型模式,它定义了一种语言文法,并且定义了一个解释器,用来解释这
- 这里列出了javascript 中的document.execCommand() 的各种参数说明:2D-Position 允许通过
- 拓扑排序几乎在所有的项目,甚至日常生活,待完成的不同任务之间通常都会存在着某些依赖关系,这些依赖关系会为它们的执行顺序行程表部分约束。对于这
- 本文实例讲述了PHP实现的redis主从数据库状态检测功能。分享给大家供大家参考,具体如下:实例:<?php/** * 检测多个主从r
- php高并发之opcache今天工作的时候接触到客户的一台服务器,业务逻辑比较简单 。估算pv在120w左右吧,用的是阿里云2c4g的服务器
- 导语:谷歌浏览器中有个很有名的彩蛋:当你网络出现问题时,就会出现一个“小恐龙游戏”。🦖相信很多人都玩过 chrome 上提供的恐龙跑跑游戏,
- 以下的文章主要介绍的是MySQL 查询缓存的实际应用代码以及查看MySQL 查询缓存的大小 ,碎片整理,清除缓存以及监视MySQL 查询缓存
- Crawler全名是DomCrawler,是Symfony框架的组件。令人发指的是DomCrawler的没有中文文档,Symfony也没有翻
- 什么是粘包问题最近在使用Golang编写Socket层,发现有时候接收端会一次读到多个数据包的问题。于是通过查阅资料,发现这个就是传说中的T
- Python中多线程使用到Threading模块。Threading模块中用到的主要的类是Thread,我们先来写一个简单的多线程代码:#
- 什么是冗余字段?在设计数据库时,某一字段属于一个表,但它又同时出现在另一个或多个表,且完全等同于它在其本来所属表的意义表示,那么这个字段就是
- 前面我们讲了 TCP 编程,我们知道 TCP 可以建立可靠连接,并且通信双方都可以以流的形式发送数据。本文我们再来介绍另一个常用的协议–UD
- 今天有点囧a=['XXXX_game.sql', 'XXXX_game_sp.sql', 'XXXX
- 本文实例分析了php5.4传引用时报错问题。分享给大家供大家参考,具体如下:php5.3系列版本以及以前版本,传引用没有什么问题,升级到ph
- numpy库概述numpy库处理的最基础数据类型是由同种元素构成的多维数组,简称为“数组”数组的特点:数组中所有元素的类型必须相同数组中元素
- 本文实例为大家分享了Python KNN分类算法的具体代码,供大家参考,具体内容如下KNN分类算法应该算得上是机器学习中最简单的分类算法了,
- 1.安装时选择的自动安装,忘了用户名和密码导致现在试了几个Oracle默认用户名密码後(表格中附带默认用户名及密码),都提示无效的用户名、密
- 序言:刚结束公司的三个月试用期,意味着我即将正式步入社会成为广大从事IT行业的一员。作为一个编程小白,无论从技术层面还是知识层面都是比较薄弱
- 背景(background)在项目中经常会使用。这篇文章主要讲解的是实际项目中的5个实例。通过具体的分析来达到学习的目的。1,Li列表通过u