上一文章使用 Ubuntu搭建了django的环境,前段时间买了阿里云服务一直没有使用,今天进行阿里云服务器中python3、mysql8.0、redis4.0.9、虚拟环境和git2.21.0的安装和配置。
这边使用的阿里云服务器配置为:
- CPU:1核
- 内存:2GB
- 系统: CentOS 7.6 64位
- 安装前的准备:
- yum info update 查看yum版本信息
- yum update 进行yum的更新,防止后面因为yum版本出现问题
一、python的安装和环境配置
1. python3.6.5解释器的下载
# 步骤1:下载
1. cd .. # 首先环境要从[root@banzhiliang ~]# 进入[root@banzhiliang /]# 不然安装到了~(HOME)环境中后续在虚拟机中根本找到不到文件在哪里
2. cd /usr/local/ # 以这个文件目录来作为下载文件和安装文件的路径
3. wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz # 使用wget进行python下载
# 步骤2:解压
4. tar zxvf Python-3.6.5.tgz # 解压
5. yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel gcc libffi-devel gcc make automake autoconf libtool libffi-devel # 安装依赖包,防止后面编译时很多文件没有编译
6. rm Python-3.6.5.tgz # 移除安装包
# 步骤3:编译安装
7. cd Python-3.6.5 # 进入到python安装文件夹
8. mkdir /usr/local/python3 # 创建一个文件夹用来防止我们的python安装路径
9. ./configure prefix=/usr/local/python3 # 设置python的安装路径
10. make && make install # 编译和安装
11. python3 -V # 查看python版本 :python 3.6.5说明成功
# 说明:在安装时这边遇到先创建一个文件夹在设置python安装路径后编译安装有时不成功或者后面遇到其他问题,后面解决办法是将步骤3全部改为:
12. cd Python-3.6.5 # 进入到python安装文件夹
13. ./configure
14. make && make install # 编译和安装
15. python3 -V # 查看python版本 :python 3.6.5说明成功
到这里能正常使用python3 -V查出python的版本时表名python3.6.5已经安装成功,但是我们直接使用命令python启动python时显示的python版本为2.7,因此这里我们需要对python命令进行修改,让我们的python命令启动时是python3.6.5版本
2. python软连接和python配置
# 步骤1:删除系统中python2.7的软连接,注意是删除软连接,不是删除Python2.7,因为很多代码是基于2.7来写的。
1. ls -al /usr/bin | grep python # 查看系统关联的python是什么版本
2. mv /usr/bin/python /usr/bin/python.bak # 删除python的软连接
# 步骤2:
3. ln -s /usr/local/bin/python3 /usr/bin/python # 建立python3的软连接
# 步骤3:
4. ln -s /usr/local/bin/pip3 /usr/bin/pip # 建立pip3的软连接
# 步骤4:升级pip3
5. pip install --upgrade pip
6. pip -V # 查看pip是否到20版本了
# 这个时候软连接已经完成了,但是还有一部分代码需要修改,这里可以使用python 命令查看能不能进行运行python3了
3. 文件代码修改
- 修改**/usr/bin/yum**文件中的头文件
1. vim /usr/bin/yum # 打开文件
2. \#! /usr/bin/python修改为 \#! /usr/bin/python2.7
- 修改**/usr/libexec/urlgrabber-ext-down**中的头文件
1. vim /usr/libexec/urlgrabber-ext-down # 打开文件
2. \#! /usr/bin/python修改为 \#! /usr/bin/python2.7
二、 virtualenv虚拟环境的配置
1.安装包和软连接
1. pip3 install virtualenv # 安装虚拟环境virtualenv
2. pip3 install virtualenvwrapper # 俺咋混virtualenvwrapper管理器
3. pip3 list # 查看pip3下面有哪些包
4. ln -s /usr/local/python3/bin/virtualenv /usr/bin/virtualenv # 软连接virtualenv
2. 进行virtualenvwrapper的配置
1. cd home
2. mkdir .virtualenvs # 在home目录下面创建一个(.virtualenvs)文件用存放我们的虚拟环境
3. vim ~/.bashrc # 编辑 ~/.bashrc文件激活virtualenvwrapper,在末尾添加上面三句话
export WORKON_HOME=/home/.virtualenvs # 后面的路径填自己创建的 .virtualenvs 的路径
export PROJECT_HOME=/home/workspace # 项目代码存放位置
source /usr/local/bin/virtualenvwrapper.sh
4. source ~/.bashrc # 重载.bashrc使虚拟环境生效 :修改.bashrc后一定进行重载
5. mkvirtualenv -p python3 + 环境名 # 现在就可以愉快的创建虚拟环境了
6. 部分命令,和ubuntu中操作是一样的:
1. rmvirtualenv + 虚拟环境名 # 移除虚拟环境
2. deactivate # 退出环境
3. workon # 查看虚拟环境
4. workon +环境名 # 进入到虚拟环境中
三、 MySQL8.0的安装和配置
1. MySQL8.0下载
使用yum进行下载MySQL8.0
1. yum localinstall https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm # 下载mysql8.0
2. yum install mysql-community-server # 安装mysql数据库
3. service mysqld start # 开启mysql服务
4. service mysqld status # 查看mysql状态
2. MySQL软连接
1. ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql # mysql进行软连接
2. rpm -aq | grep -i mysql # 查看mysql的版本
3. 修改密码和创建新用户
mysql8.0的mysql语法和mysql5.7的不一样,在安装的时候踩了很多坑,这里直接填了。
1. grep 'temporary password' /var/log/mysqld.log # 查看mysql初始密码
2. mysql -uroot -p 密码 # 登录mysql
3. 修改密码:
# 方法1:
./bin/mysqladmin -u root -p +旧密码 password 新密码 # 直接修改密码会报密码等级不够,不允许修改密码(见问题解决)
# 方法2:
1. mysql -uroot -p 密码 登进mysql
2. alter user "root"@"localhost" identified with mysql_native_password by "新密码";
3. 修改密码会报密码等级不够,不允许修改密码(见问题解决)
创建数据库和新用户并授权
1. create database 数据库名 charset 'utf8' # 创建数据库
2. create user "用户名"@"可连接权限" identified by "密码"; #创建新用户
3. grant all on 数据库名.* to "alyblog"@"%"; # 授权
4. flush privileges; # 刷新权限
安装到这里表示数据库已经是安装和配置成功了。
4. 遇到的一些问题解决
# 报错1:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements这是因为密码的验证强度等级造成的
#解决办法:
1. set global validate_password.policy=LOW; # 设置密码验证等级为低
2. set global validate_password.length=6; # 将密码的最低长度设置为6,这样超过6的密码长度就能用了
3. 重复方法2就行了
# 报错2:grep 'temporary password' /var/log/mysqld.log 拿不到临时密码
# 解决办法
1. rm -rf /var/lib/mysql # 删除原来安装过的mysql残留的数据
2. systemctl restart mysqld # 重启mysql服务
3. grep 'temporary password' /var/log/mysqld.log # 获取临时密码
# 报错3:数据库配置好后出现链接超时问题:django.db.utils.OperationalError: (2003, "Can't connect to MySQL server on 'IP地址' (timed out)")
# 解决办法:
1. 阿里云服务器上实例安全组那里没有设置MYSQL端口3306 IP:0.0.0.0/0
2. 修改/etc/my.cnf里面的bind_address=0.0.0.0,同时注释掉skip-grant-tables # 修改mysql可允许访问的IP地址
3. systemctl restart mysqld # 重启mysql服务
# 报错4:出现缺少mysql密码加密问题:RuntimeError: cryptography is required for sha256_password or caching_sha2_password
#解决办法:
pip3 installcryptography # 导入模块
# 报错5:出现1045报错:django.db.utils.OperationalError: (1045, "Access denied for user '账号'@'访问ip' (using password: YES)")
# 解决办法:
检查下django中mysql配置账号密码是否正确
5. MySQL的卸载
光有安装肯定是不行的,毕竟有时候安装有问题想重新推到进行安装,那么卸载就很有作用了,一开始遇到这类问题我都是采取的重装阿里云服务器的系统,简直被虐的不要不要的。
在这里插入代码片
1. systemctl status mysqld # 查看mysql状态
2. systemctl stop mysqld # 关闭mysql服务
3. rpm -qa | grep mysql # 执行卸载命令
4. 卸载安装组件(rpm -ev)后面跟的是上面命令执行后的要卸载的组件,由于依赖关系,所以要按顺序卸载。需要注意的是:安装的时候是带rpm后缀的,但是卸载时不带的。
1. rpm -ev mysql-community-server + 自己的版本
2. rpm -ev mysql-community-client + 自己的版本
3. rpm -ev mysql-community-libs + 自己的版本
4. rpm -ev mysql-community-common + 自己的版本
5. whereis msyql # 执行查找路径命令
6. rm -rf + 路径 # 删除上面命令下所显示的路径下的文件
7. find / -name mysql # 查找mysql相关文件
8. rm -rf /var/log/mysqld.log # 删除日志文件
四、Redis的安装和配置
1. Redis 4.0.9下载
安装按照下面 进行安装就行了,有了上面的python和mysql安装下面的安装就简单很多了。
1. cd /usr/local # 进入该文件夹
2. wget http://download.redis.io/releases/redis-4.0.9.tar.gz # 下载redis安装包
3. tar -zxvf redis-4.0.9.tar.gz # 解压
4. cd redis-4.0.9 # 进入到redis解压包文件夹中
5. make MALLOC=libc # 编译
6. make install # 进行安装
2. Redis配置
1. cd /usr/bin/ # 查看里面是否有redis-server、redis-cli redis.conf如果有,防止后面有错就将这三个删除掉。
2. vim /usr/local/redis-4.0.9/redis.conf # 修改redis.conf的配置
1. 将 bind 127.0.0.1 修改为 bind 0.0.0.0 # 监听所有的IP地址
2. 将 protected-mode yes 修改为 protected-mode no # 设置为不开启保护
3. 将 daemonize no 修改为 daemonize yes # 开启进程守护
4. 将 requirepass foobared 修改为 requirepass + 自己的密码 # 设置密码
3. 遇到的问题和解决
# 报错1: 下载redis安装包时:wget http://download.redis.io/releases/redis-4.0.9.tar.gz
Resolving download.redis.io (download.redis.io)... failed: Name or service not known.
wget: unable to resolve host address ‘download.redis.io’
# 解决办法
1.进入到 /etc/resolv.conf
2.在后面添加下面内容:
nameserver 8.8.8.8 #google域名服务器
nameserver 8.8.4.4 #google域名服务器
五、 git版本管理器安装和配置
1. git 2.21.0下载安装
1. cd /usr/local # 进入到该文件夹
2. wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.21.0.tar.gz # 使用wget下载git
3. gunzip git-2.21.0.tar.gz # 解压
4. tar -xvf git-2.21.0.tar # 解归档
5. cd git-2.21.0 # 进入文件夹
6. yum install libcurl-devel # 补依赖库
7. ./configure --prefix=/usr/local/git # 设置安装路径
8. make && make install # 构建,安装
10. git --version # 查安装成功
2. 在码云上创建仓库
这个简单这里就不讲了
3. 项目克隆到本地
在home文件夹里面创建一个djangoProject用来存放我们的django项目
1. cd djangoProject # 进入到阿里云新项目空文件夹中
2. cd ~/.ssh # 进入到.ssh这个文件目录中去
3. ssh-keygen -t rsa -C "注册的邮箱" # 生成git上面的ssh公钥和秘钥,回车键3次生成(不用填那三个)
4. vim id_rsa.pub 或者 cat id_rsa.pub # 打开公钥存放文件,复制放到git上面的ssh里面保存
5. ssh -T git@gitee.com # 验证是否ssh添加成功:
# 成功:Hi xxxxx! You've successfully authenticated, but GITEE.COM does not provide shell access.
6. git config --global user.name "码云账号"
git config --global user.email "码云注册邮箱" # 配置个人设置
7. cd ..
cd ..
cd home/djangoProject # 进入到项目空文件夹中
8. git clone git@gitee.com:xxxxxx/aly-blog.git # 克隆文件到该文件夹中
9. ls 查看djangoProject里面是否有建好的aly-blog
4. 代码上传
1. git status # 查看文件状态 红色表示在工作区,,绿色表示在缓存区
2. git add . 或者 git add +文件或者文件名 # 将工作区的文件转移到缓存区
3. git status # 再次查看状态
4. git commit -m "注释内容" # 本次提交内容注释
5. git push # 推送内容到码云
5. 版本回撤和删除远程仓库文件、添加忽略文件
- 回撤
# 撤回:
情况1:没有 git add 文件路径
撤销:git checkout --文件路劲
情况2:已经 git add 文件名,但是没有git commit -m "注释"
撤销:
1. git reset HEAD 文件路径
2. git status
3. git checkout -- 文件路径
情况3:已经git add file 并且 git commit
撤销:
1. 通过 git log 或者 git log --pretty=oneline 、git reflog
2. 找到对应的commit id进行回退:git reset --hard 1094a
- 删除远程仓库文件
1. cd 项目文件夹(含有git配置的文件夹)
2. vim .gitignore # 查看是否有要删除的文件配置
1. .gitignore 里面有配置
1. 将配置注释掉
2. git add .gitignore # 将.gitignore移到缓存区
3. git commit -m "移除xx忽略配置" # 注释
4. git push -u origin master # 推送到远程仓库
5. git rm [-r] --cached 文件路径 git push -u origin master # 推送
6. git commit -m "删除xxx" # 注释
7. git push -u origin master # 推送
2. .gitignore 里面没有配置
1. git rm [-r] --cached 文件路径 # 删除远程仓库里面的文件:如果是文件就不加-r,如果是文件夹就需要夹-r
2. git commit -m "删除xxx"
3. git push -u origin master # 推送 这样就可以去看远程仓库里面是否还有该文件了
- 设置忽略文件
首先进入到含有git配置的项目文件目录,找到 .gitignore文件。具体设置参考htmljsp的版本控制系统GIT文档里面的内容,版本介绍和git的原理和使用方法,很详细。