Linux - BBS项目学习 - 项目的完整部署(LNM+Python+Django+uwsgi+redis)

目录

一、LNM+Python Djiango +uwsgi +redis 部署Python项目

1-1项目数据库导入和项目文件修改

1-2 MySQL用户操作

1-2-1 权限操作介绍

1-2-1 项目用户的创建和授权

1-3 Nginx的配置

1-4 uwsgi的配置


一、LNM+Python Djiango +uwsgi +redis 部署Python项目

1-1项目数据库导入和项目文件修改

  • rz上传项目压缩包到/opt
  • 将mysql数据导出sql文件 并上传/opt目录下

注意:在linux下,数据库分大小写,在windos下不分,所以创建数据库的时候必须使用小写

Linux - BBS项目学习 - 项目的完整部署(LNM+Python+Django+uwsgi+redis)

  • 进去 mysql -- 注意服务的开启 systemctl start mysqld.service
  • 创建库 create database bbs charset utf8mb4;
  • 使用创建库 use bbs;
  • 导入指定目录下的项目数据库 source /opt/bbs.sql;
  • 查看导入结果 show tables;

Linux - BBS项目学习 - 项目的完整部署(LNM+Python+Django+uwsgi+redis)

 

  • 解压项目目录 unzip BBS.zip
  • 进入项目目录内,项目核心目录(两层目录)

Linux - BBS项目学习 - 项目的完整部署(LNM+Python+Django+uwsgi+redis)

Linux - BBS项目学习 - 项目的完整部署(LNM+Python+Django+uwsgi+redis)

  • 配置 settings.py 在核心目录内

Linux - BBS项目学习 - 项目的完整部署(LNM+Python+Django+uwsgi+redis)

  • settings.py的数据库连接信息修改

Linux - BBS项目学习 - 项目的完整部署(LNM+Python+Django+uwsgi+redis)

1-2 MySQL用户操作

1-2-1 权限操作介绍

  • grant all 除root用户外的最高权限
  • grant selent,update,insert 生产环境下,通常的项目权限
    • 将del操作,替换成update操作 - 使用状态链,1,0表示可否可视

Linux - BBS项目学习 - 项目的完整部署(LNM+Python+Django+uwsgi+redis)

Linux - BBS项目学习 - 项目的完整部署(LNM+Python+Django+uwsgi+redis)

Linux - BBS项目学习 - 项目的完整部署(LNM+Python+Django+uwsgi+redis)

Linux - BBS项目学习 - 项目的完整部署(LNM+Python+Django+uwsgi+redis)

Linux - BBS项目学习 - 项目的完整部署(LNM+Python+Django+uwsgi+redis)

 

1-2-1 项目用户的创建和授权

Linux - BBS项目学习 - 项目的完整部署(LNM+Python+Django+uwsgi+redis)

Linux - BBS项目学习 - 项目的完整部署(LNM+Python+Django+uwsgi+redis)

  • grant select,update,delete ,insert on bbs.* to [email protected]'10.0.0.%' identified by '123';
    • bbs.*库的增删改查权限,给予[email protected]'10.0.0.%' 进行链接,并创建用户(创建用户并授权操作,仅限mysql5.7版本);密码为123
  • mysql -ubbs -p123 -h10.0.0.100  bbs用户123密码登陆,测试上步用户的创建操作
  • mysql -ubbs -pApassword -h10.0.0.100

Linux - BBS项目学习 - 项目的完整部署(LNM+Python+Django+uwsgi+redis)

  •  

1-3 Nginx的配置

  • vim /etc/nginx/conf.d/py.conf
server {
    listen 80;
    server_name 10.0.0.100;
    client_max_body_size 100M;
​
    location  /static {
        alias /opt/mybbs/static/;
    }
​
    location /media {
        alias /opt/mybbs/media;
    }
​
    location / {
        index index.html;
        include uwsgi_params;
        uwsgi_pass 127.0.0.1:9090;
        uwsgi_param UWSGI_SCRIPT mybbs.wsgi;
        uwsgi_param UWSGI_CHDIR /opt/mybbs;
    } 
}

1-4 uwsgi的配置

  • 强制杀死已有uwsgi进程
  • kill -9 ps -ef |grep uwsgi|awk {'print $2'}

Linux - BBS项目学习 - 项目的完整部署(LNM+Python+Django+uwsgi+redis)

[uwsgi]
socket = 127.0.0.1:9090
master = true
workers = 2
reload-mercy = 10
vacuum = true
max-requests = 1000
limit-as = 512
buffer-size = 30000
  • 后台启动uwsgi进程,注意配置文件路径
    • uwsgi --ini /opt/mybbs/uwsgi.ini &
  • 重启nginx
    • systemctl restart nginx

Linux - BBS项目学习 - 项目的完整部署(LNM+Python+Django+uwsgi+redis)