Django学习笔记《一》图书管理系统项目挂载到阿里云

项目示例

pycharm编译好的项目

阿里云服务器域名

成果展示
如果不能访问,可能端口已经关闭。

遇到的问题一大堆,大量使用网上文章,如有问题,进行留言联系。

简单做一个记录供自己查阅和检索,以备下次服务器搭建,这样可以减少时间成本。
仅供个人记录使用!本文不是教程
仅供个人记录使用!本文不是教程
仅供个人记录使用!本文不是教程

选择的是cento7的云系统

Linux yun 3.10.0-693.2.2.el7.x86_64 #1 SMP Tue Sep 
12 22:26:13 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

首先默认没有python3,用官网的安装,安装好了有没有pip3没办法安装django和pymysql。亲测成功!

解决方案:https://www.aliyun.com/jiaocheng/527141.html

1.安装依赖包bzip2

安装anaconda前,要先安装个解压缩工具bzip2,打开阿里云ECS实例的远程连接,输入下面命令,即可完成安装:

yum install bzip2

2.安装anaconda3

(1)下载anaconda3安装包,输入命令:

wget https://repo.continuum.io/archive/Anaconda3-4.3.1-Linux-x86_64.sh

如果速度慢的话,可以在本地下载后,上传到服务器root目录里。


阿里云安装python3的极简方法_Python

(2)安装anaconda3,根据以下屏幕提示依次完成。

输入命令:sh Anaconda3-4.3.1-Linux-x86_64.sh


阿里云安装python3的极简方法_Python

阿里云安装python3的极简方法_Python

慢敲回车ENTER键,47下左右,屏幕提示是否接受许可协议?输入yes。

输入指定安装路径:/usr/local/anaconda3


阿里云安装python3的极简方法_Python

屏幕提示是否将安装路径写入PATH环境变量,输入yes,回车,安装完成。


阿里云安装python3的极简方法_Python

重新登录远程连接,输入python,默认即是python3.6版本啦,是不是极其简单呢?


阿里云安装python3的极简方法_Python
TIPS:1.安装python的依赖包。参考链接

安装python或者anaconda前,可能需要先安装一些依赖包(例如解压工具bzip2),否则会报错。

已知的一些常用依赖包如下,可根据需要选择安装:

在 CentOS/RHEL/Fedora 下:

sudo yum install readline readline-devel readline-static
sudo yum install openssl openssl-devel openssl-static
sudo yum install sqlite-devel
sudo yum install bzip2-devel bzip2-libs

在 Ubuntu下:

sudo apt-get update
sudo apt-get install make build-essential libssl-dev zlib1g-dev
sudo apt-get install libbz2-dev libreadline-dev libsqlite3-dev wget curl
sudo apt-get install llvm libncurses5-dev libncursesw5-dev

2.为什么很多应用都安装在/usr/local目录下?参考链接

答案是:Automake工具定义了下面的一组变量:

Directory variable  Default value
prefix  /usr/local
exec_prefix   ${prefix}
bindir  ${exec_prefix}/bin
libdir  ${exec_prefix}/lib

includedir    ${prefix}/include
datarootdir   ${prefix}/share
datadir ${datarootdir}
mandir  ${datarootdir}/man
infodir ${datarootdir}/info
docdir  ${datarootdir}/doc/${PACKAGE}

而GUN下面绝大部分应用的编译系统都是用automake。

于是乎,你看到的很多很多应用都安装在了/usr/local/目录下。


解决了python3的问题以后mysql默认也没安装!

到官网下载好rpm安装包,附赠我的链接,下载名字的包
RPM Package, MySQL Server
安装教程:https://www.cnblogs.com/shuangzikun/p/taotao_linux_mysql_install.html

较有参考价值的文章:https://blog.csdn.net/a774630093/article/details/79270080

从第四步开始

4、安装之前卸载以前的版本
[root@localhost soft]# rpm -qa | grep mysql
pcp-pmda-mysql-3.10.6-2.el7.x86_64
[root@localhost soft]# rpm -e --nodeps pcp-pmda-mysql-3.10.6-2.el7.x86_64
[root@localhost soft]# rpm -qa | grep mysql
5、开始安装rpm文件 ,顺序是先安装依赖文件再安装client再安装server
安装过程出现如下错误
就需要删除mariadb-libs
执行删除[root@localhost soft]# yum remove mariadb-libs

删除完毕。
安装第一个依赖
mysql-community-common-5.7.21-1.el7.x86_64.rpm
安装第二个依赖
mysql-community-libs-5.7.21-1.el7.x86_64.rpm
安装客户端
mysql-community-client-5.7.21-1.el7.x86_64.rpm
安装服务端
mysql-community-server-5.7.21-1.el7.x86_64.rpm
6、安装完毕开始查看是否启动
[root@localhost soft]# systemctl status mysqld.service
没有启动。
开始启动服务
[root@localhost soft]# systemctl start mysqld
[root@localhost soft]# systemctl status mysqld
看到颜色很深的地方表示启动ok了。
7、查初始root密码
[root@localhost soft]# cat /var/log/mysqld.log | grep 'password'
冒号后面的那一坨就是密码。
8、进入mysql,开始重新设置密码
如果直接输入mysql不行,重新连接xshell试试,我一开始也一直报错,就是进入不了mysql,很尴尬。
就像这样。我断开连接之后,后面不知道咋的又好了。
[root@localhost ~]# netstat -tulpn
查看mysql运行状态,如果有33006端口表示服务正在运行
--------进入mysql mysql -uroot -p
输入上面的初始密码。
现在还不能做别的操作,先修改初始密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '117949255';
如果遇到这种问题
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
执行
mysql> set global validate_password_policy=0;
mysql> global validate_password_length=1;
再次执行
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '117949255';
ok,密码就改成了后面的了。
可以退出重新登录看看。
mysql> quit
8、设置远程连接
[root@localhost ~]# systemctl restart mysqld 重新启动服务
[root@localhost ~]# GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '117949' WITH GRANT OPTION;
设置远程连接,后面的数字是密码,可以改变。
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
遇到同样的问题同样的解决方法。
设置ok之后,可以连接试试
ok啦。
心得:刚开始安装的时候走了弯路,拿起哥教程就开始搞,高了很久一直报错,后来才发现数据库版本不对,解压之后也没有安装mysql,去花费了大量时间去配置/etc/my.cnf ,到头来还是没有鸟用,哎,开头都错了,怎么搞都是gg。

安装的环境基本搞定了!再就是使用navicat连接阿里云mysql

这里需要配置的比较多,很容易出错

首先开放端口,添加用户,添加安全组,如果有防火墙也要关闭

https://blog.csdn.net/antony9118/article/details/77835715

首先创建安全组,然后再安全组中添加规则,如下所示,详情可以参考官方文档
https://helpcdn.aliyun.com/document_detail/25471.html?spm=5176.doc25468.2.4.RfJyPU

这里写图片描述

添加规则之后,再用navicat连,报另一条错误

1045 access denied for user'root'@'localhost' using password yes
 
 
  • 1

猜想是因为我本地使用root用户登录navicat,而root用户并没有开放外部的访问权限,而是只能localhost访问

下一步登陆mysql数据库,使用命令

这里写图片描述

果然root用户的访问权限是localhost,并不能从外部进行访问,需要手动赋权

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '******' WITH GRANT OPTION;
 
 
  • 1

好了,这下又报错

 Your password does not satisfy the current policy requirements
 
 
  • 1

也就是密码强度不符合,我也是醉了,使用下面的命令可以查看设置的密码强度校验规则

SHOW VARIABLES LIKE 'validate_password%';
 
 
  • 1

这里写图片描述

果然是有很麻烦的校验,网上有很多去除这个校验的方法,不过都需要修改配置文件然后重启数据库,个人觉得有点麻烦,还有一种临时办法可以去除密码强度校验(不过下次登录又得用一遍,好处是不需要重启)

set global validate_password_policy=0;
 
 
  • 1

好了,再输入上面的对root用户赋权的命令,大功告成

这里写图片描述

OK,到这里,服务器的3306端口也对外开放了,root用户也可以从外部进行访问了,navicat连接成功

大致到这里解决了很多问题,当然有的问题,也要百度。下面说一下setting.py的配置

数据库的配置

DATABASES = { 
    'default': {                                                                                              
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'book_manager',这个是你数据库的名字,连接上数据库后,你要先创建
        'USER': 'root',
        'PASSWORD': 'xxxx',这个密码是数据库root用户的密码
        'HOST': '39.107.87.114',这个host是你公网的host
        'PORT': '3306'这个端口是数据库默认端口,需要在安全组里面打开
    }   
}

连接配置

# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
ALLOWED_HOSTS = ['*']这是允许所有用户都可以访问!因为是自己学习使用,所以也没有那么多严格的限制

怎么运行项目

python manage.py runserver 0.0.0.0:8000

其他问题

MySQL 5.7 Access denied for user ‘root’@‘localhost’ (using password YES)

这个问题不要按照网上的操作进行设置,首先还是检查自己密码的问题

# service mysqld restart 报错 Redirecting to /bin/systemctl restart mysqld.service

解决办法

使用如下命令操作mysql:
systemctl restart mysqld.service
systemctl start mysqld.service
systemctl stop mysqld.service

ModuleNotFoundError: No module named '_ctypes’报错

这个操作要进入root用户!进行安装
可参考网上教程:https://blog.csdn.net/qq_36416904/article/details/79316972

http://blog.51cto.com/maoxiaoxiong/2172785

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值