nginx+uwsgi部署django项目

news2025/2/21 19:41:47

1. python3.9环境安装

  1. 安装依赖
yum install zlib zlib-devel libffi-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make wget
  1. 下载源码 官网地址
wget https://www.python.org/ftp/python/3.9.6/Python-3.9.6.tar.xz
  1. 解压 & 编译 & 安装
xz -d Python-3.9.6.tar.xz
tar -xf Python-3.9.6.tar
cd Python-3.9.6
./configure prefix=/usr/local/python3
make && make install
  1. Python解释器配置豆瓣源
pip3 config set global.index-url https://pypi.douban.com/simple/

2. 虚拟环境安装

pip3 install virtualenv
pip3 install virtualenvwrapper
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3.6    #指定虚拟环境默认的python版本
export WORKON_HOME=~/.envs     #指定创建好的新的虚拟环境保存在哪个文件夹下
source /usr/local/bin/virtualenvwrapper.sh    #执行virtualenvwrapper.sh 脚本
source ~/.bashrc

命令使用

mkvirtualenv test  # 创建并切换到test虚拟环境   放在了 ~/.envs 里面
deactivate  # 离开test虚拟环境
rmvirtualenv test # 删除test虚拟环境
workon demo # 切换到demo虚拟环境

3. uwsgi安装配置

pip3 install uwsgi
  1. 使用命令启动uwsgi
#在项目目录中执行
uwsgi --http 192.168.163.128:9000 --file BBS/wsgi.py --static-map=/static=static
  1. 使用配置文件启动 [ini]

    在项目同级目录下创建一个script文件夹,把配置文件放在里面

[uwsgi]
# 指向项目目录
chdir =  /root/projects/BBS/BBS/
#启动uwsgi的用户名和用户组
uid=root
gid=root
#指定项目的application
module=BBS.wsgi:application
#指定sock的文件路径
socket=/root/projects/BBS/script/uwsgi.sock

#virtualenv = /root/.envs/django_env

#启动主进程
master = true
# 进程个数
workers = 2
pidfile=/root/projects/BBS/script/uwsgi.pid
#自定移除unix socket和pid文件,当服务器停止的时候
vacuum =true
#序列化接受的内容,如果可能的话
thunder-lock=true
#启动线程
enable-threads=true
#设置自中断时间
harakiri=30
#设置缓冲
post-buffering=1028
#设置日志目录
daemonize=/root/projects/BBS/script/uwsgi.log

启动命令

#要在虚拟环境中启动哦
#要在script文件夹下启动哦
uwsgi --ini uwsgi.ini

查看uwsgi是否启动

ps -ef |grep -i uwsgi

起来之后会在script文件夹下生成一些文件

image-20230128194359905

4.nginx安装和配置

新建配置yum源

vim /etc/yum.repos.d/nginx.repo

# 写入一下内容
[nginx]
name=nginx repo
#7是centos的版本
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1

安装

yum -y install nginx 

添加Nginx配置文件

cd /etc/nginx/conf.d/

vim bbs.conf  #名字跟项目一样

#写入一下内容
server{
	listen 80;
	server_name 192.168.163.128;
	access_log /var/log/nginx/access.log  main;
	charset utf-8;
	gzip on;
	gzip_types text/plain application/x-javascript text/css text/javascript application/x-httpd-php application/json text/json image/jpeg image/gif image/png application/octet-stream;
	error_page 404         /404.html;
	error_page  500 502 503 504 /50x.html;
	#指定项目路径uwsgi
	location / {
        include uwsgi_params;
        uwsgi_connect_timeout 30;
        uwsgi_pass unix:/root/projects/BBS/script/uwsgi.sock;
	}
	#指定项目静态文件路径
	location /static/ {
		alias /root/projects/BBS/BBS/static/;
		index index.html index.html;
	}
}

5.静态文件配置

#项目settings.py中添加
STATIC_ROOT=os.path.join(BASE_DIR,'static_all')
#收集
python3 manage.py collectstatic --noinput

image-20230128232540817

修改nginx配置文件

 location /static {
                alias /root/projects/BBS/BBS/static_all/;
}

image-20230128232722665

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/184245.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

maven的下载与安装

前言 本篇文章是基于win11系统下载安装Maven的教程。 一、 Maven介绍 1. 什么是Maven? Maven是基于项目对象模型(POM project object model),可以通过一小段描述信息(配置)来管理项目的构建,报告和文档的软件项目管…

【FreeRTOS】详细讲解FreeRTOS中任务管理并通过示例讲述其用法

任务状态 在FreeRTOS中一个任务经创建后会有多个状态,通常可分为以下几种状态: 就绪态:新创建的任务一般处于就绪态。处于就绪态的任务表明其已经存在于就绪列表中,其已经具备所有的任务执行需要条件,只等待调度器调度…

社科院杜兰大学金融管理硕士项目——美丽的风景,在你前行的路上

一个人的强大源于内心的坚定,内心强大的人,是平和的、自信的、乐观的。在工作中也是奋发图强、积极向上的,就像选择来社科院与杜兰大学金融管理硕士充电,为职场发展注入能量,为未来发展奠定基础。近些年来,…

Centos7离线安装MySQL

使用tar.gz文件安装MySQL 1、下载MySQL离线包 下载地址:https://downloads.mysql.com/archives/community/ 根据需要下载对应版本tar.gz文件,下载完成后上传到服务器 2、解压tar.gz文件 tar -zxvf mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz等待解…

【计算机网络】TCP/UDP协议

传输层协议 负责数据能够从发送端传输接收端,这篇文章主要介绍TCP和UDP协议 UDP协议 学习UDP协议需要掌握,UDP协议如何做到封装和解包的,如何做到向上交付的(分用问题) UDP协议格式 封装:添加定长报头 解包&…

用Python掌握QQ群聊天记录数据分析

当你打开QQ群时,你是否想过如何用Python提取里面的数据呢?随着社交媒体的兴起,QQ群成为了人们交流的重要平台,而提取这些数据可以帮助我们了解用户喜好和行为。那么,如何使用Python提取QQ群数据呢? 这里做了一套脚本用于提取QQ群的消息并进行一些简单的处理。 其中包括…

IB、AP、A-LEVEL,哪种最适合自己呢?

刚开始了解新加坡留学的家长和学生,一定看到这些就觉得头大吧。当下国际学校里的课程可以说五花八门,在选择之前一定要弄清楚这些名词背后的含义…… IB是什么 IB(International Baccalaureate)全称为国际预科证书课程&#xff0c…

Linux下rabbitmq的集群搭建

1 修改 3 台机器的主机名称 在三台服务器分别执行 hostnamectl set-hostname master hostnamectl set-hostname node01 hostnamectl set-hostname node022 配置各个节点的 hosts 文件 vim /etc/hosts 192.168.5.6 master 192.168.5.7 node01 192.168.5.8 node023 确保各个节…

【工具】苏格拉底式诘问法解决工作问题

目录一、什么是苏格拉底式诘问法二、苏格拉底式诘问法的细分三、在实际工作中运用苏格拉底式诘问法解决问题一、什么是苏格拉底式诘问法 苏格拉底式诘问法(Socratic Elenchus)是苏格拉底式提问的一种,也叫做"诘问法"。它是由古希腊…

OpenCV-PyQT项目实战(2)QtDesigner 和 PyUIC 快速入门

欢迎关注『OpenCV-PyQT项目实战 Youcans』系列,持续更新中 OpenCV-PyQT项目实战(1)安装与环境配置 OpenCV-PyQT项目实战(2)QtDesigner 和 PyUIC 快速入门 OpenCV-PyQT项目实战(3)信号与槽机制 …

【Java】final的关键字和final的四种用法

final定义 final翻译成中文的意思是 “最终” , 它是java当中的一个关键字,使用final修饰的对象不允许修改或替换其原始值或定义。 假如当final修饰一个类的时候,是不能被其他类继承的。 final的四种用法 修饰类修饰方法修饰变量修饰参数 1.…

Oracle 里的优化器

对于关系型数据库而言,优化器是最核心的部分。主要是因为优化器负责解析SQL。而大家都是通过SQL来访问存储在数据库中的数据。故此,优化器的好坏直接决定该关系型数据库的强弱。 同时,想要做好SQL优化,就必须深入了解优化器。这是…

源表的基础知识

浅谈“源表”的定义、功能及应用 源表与传统电源的区别 源表速度更快; 源表电流、电压分辨率更高; 源表是四象限,可以正电压(源表提供给外部)负电流(外部灌入源表)或者负电压、正电流。 传统电…

3.组件的基本用法

目录 1 创建组件 1.1 用函数创建组件 1.2 使用类创建组件 2 项目上组件的使用方式 3 事件处理 3.1 事件绑定 3.1.1 类组件绑定事件 3.1.2 函数组件绑定事件 3.2 事件对象 4 组件状态 4.1 初始化状态 4.2 获取状态 4.3 设置状态 4.3.1 箭头函数 4.…

win10下Elasticsearch安装配置完整教程

一、在安装Elasticsearch引擎之前,必须安装ES需要的软件环境,安装Java JDK和配置JAVA_HOME环境变量 二.安装ElasticSearch服务,下载和安装es包 https://www.elastic.co/downloads/past-releases Elasticsearch 8.6.1 | Elastic 安装成功之…

数据结构 第五章 数组和广义表

还是会想你:点击收听 1 基本知识点 1、数组可以看作是下标和值的偶对的集合(具有相同类型的数据元素) 注意:数组是同类型值的集合?**错误**2、数组的存储方式:以行为主序(一行存储完成之后继续存储下一行)、以列为主序(一列存储…

【C++修行之路】C++入门之深剖变量

🍿本文主题:C语法中的变量 🎈更多内容:C较C的改进 💕我的主页:蓝色学者 文章目录前言概念什么是变量变量名变量类型为什么要有不同数据类型各自数据类型的本质结语前言 大家好久不见,今天是我…

22.1.29打卡 2023牛客寒假算法基础集训营1 ACDHKLM

2023牛客寒假算法基础集训营1_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ 网上高质量题解太多了, 我这就作为打卡日报随便写写 A 四个变量 a b记录两队得分 c d记录两队最多还能获得的得分 简单模拟 /* ⣿⣿⣿⣿⣿⣿⡷⣯⢿⣿⣷⣻⢯⣿⡽⣻⢿⣿⣿⣿⣿⣿⣿⣿⣿…

Ruoyi-Cloud框架学习-【02 Redis安装搭建+Ruoyi下载+Nacos数据库配置】

Redis服务端与客户端的安装与搭建 参考该博文 https://joycez.blog.csdn.net/article/details/128776284?spm1001.2014.3001.5502 安装文件 链接:https://pan.baidu.com/s/1v19C9Dhh-ZkNQ8l1RVGQkA 提取码:6mim Ruoyi-Cloud下载以及数据库配置 1、前…

MySQL主从复制的数据同步延迟(二)

1、介绍 主从复制环境在单机应用的时候没有问题,但是在实际的生产环境中,会存在 复制延迟 的问题 查看从库同步状态 在从库中执行 show slave status\G : mysql> show slave status\G *************************** 1. row **************…