随笔 - 77  文章 - 0  评论 - 0  阅读 - 21363 

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',
)

 

posted on   rider_yang  阅读(103)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示