python django的centos7部署

第一步:准备环境

1、准备centos7服务器

服务器可自行购买

2、安装宝塔Linux面板

Centos安装命令:
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
Ubuntu/Deepin安装命令:
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh
Debian安装命令:
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh
Fedora安装命令:
wget -O install.sh http://download.bt.cn/install/install_6.0.sh && bash install.sh

3、安装python对应的版本

进入目录下载python对应的版本
cd /tmp
wget https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tgz

如果想要快速下载可以使用迅雷下载对应的python版本,再推送到推送到服务器
可以使用pscp推送远程
pscp.exe下载
2》将下载的pscp.exe拷贝到C:\Windows\System32

3》搜索cmd,以管理员方式运行,是用pscp命令进行文件拷贝

推送文件指令

pscp D:\cwm2.0\cwm-app.zip root@172.18.190.64:/home/djn/
root@172.18.190.64's password:
解压文件
tar -zxvf Python-3.7.2.tgz
放到一个指定的文件夹中
mkdir /usr/local/python3
编译
Python-3.7.2/configure --prefix=/usr/local/python3/
编译安装
sudo make
sudo make install
建立一个软链接
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
建立pip软链接
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

4、安装配置虚拟环境

安装virtualenv、virtualenvwrapper
pip3 install virtualenv
pip3 install virtualenvwrapper

注:virtualenv 是python虚拟环境包,virtualenvwrapper是虚拟环境管理包

创建虚拟环境存放文件夹

自己定义创建到哪个目录下

mkdir ~/.virtualenvs
修改.bashrc文件
vim .bashrc
# 添加下面三行代码
# 指定virtualenvwrapper执行的python版本
VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3
# 指定虚拟环境存放目录,.virtualenvs目录名是我们刚建的
export WORKON_HOME=/home/$USER/.virtualenvs
# virtualenvwrapper.sh所在目录
source /usr/local/bin/virtualenvwrapper.sh
启动配置文件 使修改立即生效
source .bashrc
创建虚拟环境
mkvirtualenv  虚拟环境名
切换虚拟环境
workon # 回车会出现所有的虚拟环境
workon 虚拟环境名 # 切换到该虚拟环境
退出虚拟环境
deactivate  # 什么都不需要选

5、安装项目依赖包

可以一个一个装,不过要注意安装的版本号
pip install flask==2.1.1
建议通过freeze 导出所有依赖包

在项目环境下执行

pip freeze >requirements.txt

到服务器虚拟环境执行

pip install -r requirements.txt

第二步:导入项目到centos服务器

到宝塔控制面板可以本地直接上传文件(不建议)

文件>>>上传>>>选择目录

终端拉取远程仓库代码到本地
git clone 仓库地址
在宝塔网站面板添加项目站点,并选择项目所在的根目录

第三步:编写Uwsgi的配置文件

配置uwsgi.ini

在项目根目录配置


[uwsgi]# socket nginx把请求转发给uwsgi走socket
socket = 和uwsgi交互的端口号chdir= 项目文件目录
wsgi-file = 项目的wsgi.py路径
module=项目名称.wsgi:application# process-related settings
# master
master = true# pythonpath=/usr/local/lib/python3.7/site-packages
home =#云服务器上的虚拟环境路径# maximum number of worker processes
processes = 4# ... with appropriate permissions - may be needed
# chmod-socket = 664  #分配socket的权限
# clear environment on exit
vacuum = truetouch-logreopen = /home/log/touchforlog
daemonize = /home/log/Calculator_uwsgi.log# LK new settingbuffer-size = 65536
env = DJANGO_SETTINGS_MODULE=项目名称.settings
module = django.core.wsgi:get_wsgi_application()
pidfile = ./uwsgi.pidwsgi]
编写启动、暂停、重启文件

start.sh文件

# 启动文件内容:
uwsgi --ini 你的uwsgi.ini文件全称(带后缀) --safe-pidfile ./uwsgi.pid

stop.sh文件

#暂停文件内容
uwsgi --stop ./uwsgi.pid

restart.sh文件

# 重启文件内容
uwsgi --stop ./uwsgi.pid
sleep 1
git pull
sleep 1
git submodule update
sleep 1
uwsgi --ini 你的uwsgi.ini文件全称(带后缀)--safe-pidfile ./uwsgi.pid
sleep 5

第四步:编写Nginx的server配置

在Nginx配置信息中添加server
server {listen         监听对外的端口号server_name    访问域名配置charset UTF-8;access_log off;#access_log      /home/log/contract_nginx_access.log;error_log       项目运行日子路径client_max_body_size 75M;location / {include uwsgi_params;uwsgi_pass 127.0.0.1:(uwsg交互的端口号)uwsgi_read_timeout 1800;  uwsgi_send_timeout 300;  proxy_read_timeout 300;  }location /static {expires 30d;autoindex on;add_header Cache-Control private;alias /usr/static; # 静态文件的路径地址}}

在宝塔安全页面添加对外端口号放行

第五步:通过Uwsgi启动项目

有start.sh 文件

在项目根目录执行

./start.sh

没有配置启动文件

在项目根目录执行:

uwsgi --ini (uwsgi.ini文件全称(带后缀))--safe-pidfile ./uwsgi.pid

python django + uwsgi+Nginx宝塔centos7的部署方案相关推荐

  1. Django + Uwsgi + Nginx 实现生产环境部署1

    项目开发完毕后,需要将代码放到服务器上,这样用户才能访问.接下来我们一步一步来进行一波部署操作. 1. 简单粗暴 项目开发完毕,在部署之前需要再配置文件中将 ALLOWED_HOSTS配置设置为:当前 ...

  2. Django + Uwsgi + Nginx 实现生产环境部署

    uwsgi介绍 uWSGI是一个Web服务器,它实现了WSGI协议.uwsgi.http等协议.Nginx中HttpUwsgiModule的作用是与uWSGI服务器进行交换. 要注意 WSGI / u ...

  3. django+uwsgi+nginx阿里云服务器部署

    一.环境介绍: (1)阿里云cms(ubumtu18.0.1) (2) git (3)mysql5.7 (4)python (5) uwsgi (6) nginx (7)django2.0 二:环境配 ...

  4. Django + Uwsgi + Nginx 的生产环境部署项目知识点

    什么是WSGI: WSGI是一种python专用的web协议 和http类似 WSGI是一种规范,它定义了使用python编写的web app(django)与web server(uWSGI)之间接 ...

  5. Django + Uwsgi + Nginx 的生产环境部署

    在centos 7中安装python3环境 # 1.yum更新yum源 yum update # 2.安装Python 3.7所需的依赖否则安装后没有pip3包 yum install zlib-de ...

  6. python3.6 django部署_Centos7 django+uwsgi+nginx+python3.6.8部署

    安装依赖 yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-d ...

  7. 如何让nginx执行python代码_生产环境部署Python语言代码(django+uwsgi+nginx)

    本文主要向大家介绍了生产环境部署Python语言代码(django+uwsgi+nginx),通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. 基础环境不做介绍,在django开发w ...

  8. 瞬间心情愉悦,头发都少掉了几根!---Django+uwsgi+Nginx项目部署超详细步骤

    文章目录 瞬间心情愉悦,头发都少掉了几根!---Django+uwsgi+Nginx项目部署超详细步骤 先决条件 步骤 本地运行测试 上传服务器 环境安装 准备django程序 完美解决! 瞬间心情愉 ...

  9. django+uwsgi+nginx部署

    最近线上部署运维工单系统,使用django+uwsgi+nginx部署,发现这篇文章,很详细,觉得不错,转载一下: 写了那么长时间的django,一直没跟nginx结合一下,访问的时候老是得加端口号, ...

最新文章

  1. (转)金额转中文大写
  2. 员工未回复群消息被罚200元,企业:符合公司规章制度
  3. 在C#中使用SerialPort类实现串口通信
  4. 2109春第一次课程设计实验报告
  5. 使用 Chrome 开发者工具进行 JavaScript 问题定位与调试
  6. cocos2d-x初探学习笔记(8)--场景特效
  7. 【带着canvas去流浪(11)】Three.js入门学习笔记
  8. 关于“绑定(binding)”技术
  9. [转]malloc的内存用free释放后为何系统回收不了
  10. ubuntu14.04 pygame安装 python2.7
  11. linux下verilog功能验证,Verilog 条件语句介绍
  12. leaflet地图之 获取经纬度
  13. 3进制计算机发展,三进制计算机(中国三进制计算机)
  14. 市场爆发在即 分布式电站运维出路何在?
  15. 高通骁龙450智能模块msm8953 android 4G
  16. VBA案例8:实现在ppt中写vba,控制动态图
  17. 获取 AWS 免费套餐
  18. java poi 动态导出word表格带合并效果
  19. java android studio 安卓开发 - 使用java发送邮件
  20. mysql: “Warning: Using a password on the command line interface can be insecure.“ 解决方法

热门文章

  1. 计算机交互式登录进程初始化失败,Windows 7开机提示“交互式登录进程初始化失败”的解决方法...
  2. 快速开发EasyUI Datagrid报表 thinkphp框架 ppt和视频教程
  3. 弱人工智能时代我们将何去何从
  4. 新鲜出炉的京东面试题
  5. 获取本机ip和端口号
  6. js 把字符串转成json对象的三种方法
  7. 测试、开发、运维等 IT 岗位薪酬体系!
  8. 【STM32】Keil5(MDK-ARM)安装教程详解
  9. 哪个微信公众号第三方平台可以设置渠道二维码?
  10. 数组双指针之快慢指针