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. C# Socket编程笔记
  2. 自己就是最好的投资标的
  3. der解码规则_DER编码简介
  4. Android网络请求开源框架retrofit的基本GET用法(2.4版本)
  5. offline .net3.5
  6. EventBus学习
  7. spring mvc学习(14) the superclass “javax.servlet.http.HttpServlet” was not found
  8. 正确使用招呼语、称呼语_5
  9. 特斯拉:感谢A股股民!
  10. testng 组_TestNG组
  11. Xcode6 viewDidLoad 中View的subviews 为空
  12. tkMessageBox only show one window
  13. 软考(软件设计师)考点总结 -- 计算机组成与体系结构
  14. 【visio】visio绘制流程图教程
  15. [二分 树形DP] CEOI2017. Mousetrap
  16. ArcGIS——地理配准操作
  17. 还贷款 月供贷款计算
  18. Ros同一局域网下多机通信
  19. hp服务器的网络显示红叉,惠普笔记本白屏后重启后显示红叉网络信号联不上网的原因?...
  20. aes相关资料整理及代码C/C++

热门文章

  1. 同文输入法 android,同文输入法(com.osfans.trime) - 3.1.3 - 应用 - 酷安
  2. win10中office文件图标显示白色不正常处理
  3. 飞鸽传书网,打造精准化生活搜索
  4. 计算机科学与技术毕业要掌握,2020版计算机科学与技术专业(卓越工程师)培养目标与毕业要求...
  5. iFIX 6.1新功能之 - OPC UA Client Driver
  6. (转)关于无良培训机构的恶意抹黑疯狂Java的反驳(v2)
  7. 2020年1月编程语言排行榜:C语言获得“2019 年度编程语言”
  8. php 使用阿里云存储
  9. matlab差分算子的灰度图像边缘检测,灰度图像的 Sobel 边缘检测算法的 HDL实现(一)...
  10. Linux上后台运行python脚本,并查看脚本日志