找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 文档 工具 设计
查看: 326|回复: 0

Django+Nginx+uWSGI+Mariadb+Redis 部署完整版

[复制链接]

2万

主题

1249

回帖

2万

积分

超级版主

教育辅助界扛把子

附加身份标识
精华
1
热心
7
听众
1
威望
48
贡献
14329
违规
0
书币
50008
注册时间
2020-4-8

论坛元老灌水之王

发表于 2021-10-31 03:16 | 显示全部楼层 |阅读模式
Django+Nginx+uWSGI+Mariadb+Redis 部署完整版

1. 软件描述

[Plain Text] 纯文本查看 复制代码
Django:2.2Nginx:1.14
uWSGI:2.0.19.1
Mariadb:10.4.21-MariaDB MariaDB Server
Redis:5.0.3
OS:CentOS:8.0
Python:3.6.8


2. 前提准备

2.1 数据库安装

  • 安装Mariadb
    准备一个文件mariadb_install.sh 把脚本放进去,然后执行
    bash mariadb_install.sh  安装即可。
    [Bash shell] 纯文本查看 复制代码
    #!/bin/bash
    
    ############################################### 脚本说明 ###############################################
    # 所属任务:任务一:
    # 执行示例:bash mariadb_install.sh
    # 详细说明: 
    
    ########################################################################################################
    
    #任务操作 - 开始
    yum remove MariaDB -y
    echo "--------步骤3:通过在线方式安装MariaDB--------"
    #创建YUM源文件
    touch /etc/yum.repos.d/MariaDB.repo
    
    #将MariaDB YUM源配置信息写入文件
    echo [mariadb] > /etc/yum.repos.d/MariaDB.repo
    echo name = MariaDB >> /etc/yum.repos.d/MariaDB.repo
    echo baseurl = https://mirrors.aliyun.com/mariadb/yum/10.4/centos8-amd64 >> /etc/yum.repos.d/MariaDB.repo
    echo module_hotfixes=1 >> /etc/yum.repos.d/MariaDB.repo
    echo gpgkey= https://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB >> /etc/yum.repos.d/MariaDB.repo
    echo gpgcheck=1 >> /etc/yum.repos.d/MariaDB.repo
    
    #安装MariaDB
    yum install MariaDB-server -y
    
    #启动mariadb服务
    systemctl start mariadb
    
    #查看MariaDB运行信息
    systemctl status mariadb | head  -10
    
    #配置mariadb服务和开机自启动
    systemctl enable mariadb

    按照以上步骤安装完毕,然后再进行初始化数据库
    [Bash shell] 纯文本查看 复制代码
    # 初始化数据库
    mysql_secure_installation
    按照提示信息输入密码,默认初始密码为空可以直接回车,这里需要自己读每一步的英文,反正就是设置密码,然后问你是否删除匿名用户什么的,按照提示进行初始化即可。
  • 安装Redis
    [Bash shell] 纯文本查看 复制代码
    yum -y install redis
  • 安装Python3.6
    方法1:使用源码编译:centos8 python3.8.3的安装和虚拟环境的创建
    方法2:使用在线安装:
    [Bash shell] 纯文本查看 复制代码
    yum -y install python3
    也可以使用源码编译和使用虚拟环境,在我的文章中有个文章可以看一下


2.2 项目准备


1.开源项目
2.或者自己整个项目也可以

2.3 服务器安装


[Bash shell] 纯文本查看 复制代码
yum -y install nginx

3 准备部署


  • 安装uWSGI
    [Bash shell] 纯文本查看 复制代码
    pip3 install uwsgi
    # 如果出错可能原因是没有安装以下软件
    yum -y install python3-devel
    yum -y install mysql-devel gcc gcc-devel
  • 在项目目录中创建文件uwsgi.ini这个文件随意命名。
    [Plain Text] 纯文本查看 复制代码
    [uwsgi]
    # 使用套接字主要是和nginx搭配
    socket=127.0.0.1:8000
    # 项目目录绝对路径
    chdir = /var/www/my_notes
    # 项目中wsgi.py所在的文件目录,相对路径
    wsgi-file = my_notes/wsgi.py
    # 进程数
    processes = 4
    # 线程数
    threads = 2
    # 展示项目状态
    # stats = 127.0.0.1:9191
    # 项目运行的pid主要是为了停止项目
    pidfile=uwsgi.pidfile
    # 运行日志
    daemonize=uwsgi.log
    # 是否开启主进程
    master=true
  • 配置nginx
    [Plain Text] 纯文本查看 复制代码
    # 主要改变这么多,其他的不用动
        location / {
          include uwsgi_params;
          uwsgi_pass 127.0.0.1:8000;
          proxy_set_header Host $http_host:$server_port;
          proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          proxy_set_header X-Forwarded-Proto $scheme;
          proxy_connect_timeout 600;
          proxy_read_timeout 600;
        }
        location /static/ {
            # 静态目录
           alias /var/www/my_notes/static/;
        }


==启动命令==
[Bash shell] 纯文本查看 复制代码
systemctl start mysql
systemctl start redis
# 开启项目
uwsgi --ini uwsgi.in
# 停止项目
uwsgi --stop uwsgi.pidfile
# 开启nginx
systemctl start nginx
Great works are not done by strength, but by persistence! 历尽艰辛的飞升者,成了围剿孙悟空的十万天兵之一。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 需要先绑定手机号


免责声明:
本站所发布的第三方软件及资源(包括但不仅限于文字/图片/音频/视频等仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢某程序或某个资源,请支持正版软件及版权方利益,注册或购买,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To: admin@cdsy.xyz

QQ|Archiver|手机版|小黑屋|城东书院 ( 湘ICP备19021508号-1|湘公网安备 43102202000103号 )

GMT+8, 2024-11-23 16:17 , Processed in 0.046721 second(s), 27 queries .

Powered by Discuz! CDSY.XYZ

Copyright © 2019-2023, Tencent Cloud.

快速回复 返回顶部 返回列表