1. 熟悉linux操作
2. 配置阿里云的源
2.1 备份所有repo
cd /etc/yum.repos.d
mkdir repobak
mv * repobak/
2.2 下载阿里云源和epel扩展源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
2.3 清空yum缓存并且生成新的yum缓存
3.上传图书管理系统项目
4.安装python3解释器
##### 注意1: 必须先安装库环境
yum install -y gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
##### 注意2: 配置环境变量/etc/profile,python3的变量一定要放在第一位
5.安装虚拟环境virtualenv
5.1 安装虚拟环境
pip3 install -i https://pypi.douban.com/simple virtualenv
6.安装virtualenvwrapper工具
6.1 下载并安装virtualenvwrapper
pip3 install -i https://pypi.douban.com/simple virtualenvwrapper
6.2 配置用户环境变量配置文件
vim ~/.bashrc
在最后添加以下内容:
export WORKON_HOME=~/Envs
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages'
export VIRTUALENVWRAPPER_PYTHON=/opt/python36/bin/python3
source /opt/python36/bin/virtualenvwrapper.sh
6.3 重载用户环境变量配置文件
source ~/.bashrc
6.4 创建图书管理系统虚拟环境
mkvirtualenv book_manage
7.安装数据库并导入数据
完成centos7下安装配置mariadb数据库,且创建数据库数据,迁移导入knight数据
在centos7下,mariadb就是mysql数据库,只是包名的不同
7.1 下载mariadb
yum install -y mariadb-server mariadb
7.2 初始化mysql
# 先启动mariadb
systemctl start mariadb
# 再进行初始化
mysql_secure_installation
7.3 配置中文支持
修改/etc/my.cnf配置文件,添加以下配置
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
log-error=/var/log/mysqld.log
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
7.4 配置完成后需要重启mariadb服务
systemctl restart mariadb
7.5 在linux上登录mariadb
mysql -uroot -p
7.6 使用root用户连接后端django程序
# 如果使用的是其他用户连接后端django程序, 则需要重新创建用户并授权
# 1. 创建用户
create user 'tiger'@'%' identified by '123456'; # %代表所有主机
# 2. 授权用户
grant all privileges on *.* to tiger@'%' identified by '123456';
# 3. 刷新授权表
flush privileges
7.7 刷新授权表
7.7.1 导出图书管理系统项目的数据库
mysqldump -u root -p --all-databases > /opt/book_manage.sql
7.7.2 上传这个数据文件到linux数据库中
7.7.3 在linux的mysql,导入这个数据文件
source /opt/book_manage.sql
注意1,linux的数据库,需要对root用户设置远程链接的权限, 密码是redhat
注意,SELinux和linux的防火墙要给关闭,否则windows去链接linux的3306端口可能被拒绝!!!!!
注意,SELinux和linux的防火墙要给关闭,否则windows去链接linux的3306端口可能被拒绝!!!!!
注意,SELinux和linux的防火墙要给关闭,否则windows去链接linux的3306端口可能被拒绝!!!!!
8. 安装配置redis数据库
8.1 下载并安装redis
wget http://download.redis.io/releases/redis-5.0.2.tar.gz
tar -zxvf redis-5.0.2.tar.gz
cd redis-5.0.2
make && make install
8.2 准备redis配置文件
mkdir -p /opt/redis_conf
touch /opt/redis_conf/redis-6379.conf
vim /opt/redis_conf/redis-6379.conf
8.3 在redis配置文件中添加以下配置
port 6379
daemonize yes
pidfile /data/6379/redis.pid
loglevel notice
logfile "/data/6379/redis.log"
dir /data/6379
protected-mode yes
8.4 创建data文件
mkdir -p /data/6379
8.5 启动redis
redis-server /opt/redis_conf/redis-6379.conf
9. 解决项目启动的几个问题
python manage.py runserver 0.0.0.0:8000
测试使用linux的python解释器去运行项目 切换到 项目中运行(注意要解决解释器的模块问题,才能正常运转项目), 在启动django时会遇到以下几个问题:
9.1 报错导入配置错误
File "/opt/Envs/book_manage/lib/python3.6/site-packages/django/db/backends/mysql/base.py", line 36, in <module>
raise ImproperlyConfigured('mysqlclient 1.3.13 or newer is required; you have %s.' % Database.__version__)
解决办法:
# 修改文件36行的if判断语句,直接注释即可
9.2 报错编码错误
File "/opt/Envs/book_manage/lib/python3.6/site-packages/django/db/backends/mysql/operations.py", line 146, in last_executed_query
query = query.decode(errors='replace')
解决办法:
将文件中146行原decode改为encode即可
9.3 报错SQLite错误
File "/root/Envs/book_manage/lib/python3.6/site-packages/django/db/backends/sqlite3/base.py", line 65, in check_sqlite_version
raise ImproperlyConfigured('SQLite 3.8.3 or later is required (found %s).' % Database.sqlite_version)
django.core.exceptions.ImproperlyConfigured: SQLite 3.8.3 or later is required (found 3.7.17).
解决方法
注释掉报错文件中此函数的代码块, 并加上pass即可
9.4 配置settings文件,如ALLOW_HOSTS配置
ALLOW_HOSTS = ["*"]
9.5 修改settings文件,修改跨域配置
CORS_ORIGIN_WHITELIST = (
'http://10.0.0.5',
)
分类:
about redis的那些事
, Django 的那些事
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律