python django minio mysql部署的记录

本文记录了使用Django框架部署项目时,从弃用sqlite转向MySQL数据库的步骤,包括配置settings.py、安装MySQL并创建数据库。接着介绍了如何在Docker环境下部署Minio对象存储,以及通过s3fs将Minio挂载到本地目录实现文件同步。整个过程详细说明了每个环节的关键操作和注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1,因为数据量较大,不用django自带的sqlite,使用mysql:

1)修改settings.py:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'mysql', 
        'USER': 'root',
        'PASSWORD': '密码', 
        'HOST': '127.0.0.1',
        'PORT': '3306',
    }
}

2)安装mysql:sudo apt-get install mysql-server mysql-client (过程中会提示输入密码,root)

                        sudo apt-get install libmysqld-dev

安装MySQL for Python:

wget https://pypi.python.org/packages/source/M/MySQL-python/MySQL-python-1.2.5.zip

解压:unzip MySQL-python-1.2.5.zip

cd MySQL-python-1.2.5

安装:sudo python setup.py install

3) 检查是否安装成功:sudo netstat -tap | grep mysql

显示:tcp        0      0 localhost:mysql         *:*                     LISTEN      28076/mysqld     证明已安装成功

2,进入mysql:mysql -u root -p然后提示输入密码root即可,退出命令为exit

1)创建数据库:create database mydata charset=utf8;   创建mydata。

2)查看所有数据库:show databases;

3)在django中测试:python manage.py check,如果没有报错,证明已经配置OK。

 4)迁移一下:

python manage.py makemigrations  disk  (disk是在setting.py中的INSTALLEDAPP中添加的:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'disk',
    #'boootstrap',
]

然后:python manage.py migrate即可,可到数据库中use mydata,然后show tables查看。

5)use mydata,使用这个数据库,不要加分号


3,安装minio,docker下安装

1)sudo docker  pull minio/minio

2)sudo docker run -p 9000:9000 minio/minio server /data

显示以下即OK:

Created minio configuration file successfully at /root/.minio
Drive Capacity: 591 GiB Free, 631 GiB Total


Endpoint:  http://172.17.0.2:9000  http://127.0.0.1:9000
AccessKey: CUE04GFVQOXSVMDDPRZR 
SecretKey: hb3LELWQcdyCxD3ZVLwRyTM1nnEBjrMbtATNrNoU 


Browser Access:
   http://172.17.0.2:9000  http://127.0.0.1:9000


3)打开http://172.17.0.2:9000输入AccessKey和SecretKey登录即可。

PS :因为是在docker中运行,所以,ctrl+C后只要sudo docker start (minio的id)即可再次启动,AccessKey和SecretKey貌似只在创建时显示一次,创建之后无法找出,所以需要记下key。

4、minio利用s3fs挂载到本地:

1)参照https://github.com/s3fs-fuse/s3fs-fuse安装s3fs.

2) 输入命令:s3fs buckettest /home/xxxx/Downloads/s3test -o passwd_file=/home/xxxx/Downloads/s3passwd -o url=http://172.17.0.2:9000/ -o use_cache=/home/xxxx/Downloads/s3cache -o use_path_request_style

【buckettest为minio中的bucket名字,后面跟需挂载的本地目录,每个选项之前跟-o,passwd_file为登录minio的两个key,用":"分割,s3passwd需要chmod 600 s3passwd一下,url为minio的地址,后面的'/'不要忘记,use_cache为缓存目录。use_path_request_style,命令解释为:use legacy API calling style,反正不加这个时本地目录无法访问minio。】

如果没有报错,在s3test目录已经可以访问minio的文件了,两者类似同步效果,增加删除都会同步。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值