Django blog项目《二》:阿里云环境搭建

本文档详述了在阿里云1核2GB内存的CentOS 7.6环境中,如何从安装Python 3.6.5,配置虚拟环境virtualenv,到MySQL 8.0的安装与配置,Redis 4.0.9的安装,以及git 2.21.0的安装和项目管理。每个步骤都包含了关键操作和可能遇到的问题及解决方案,是Django开发者在云服务器上部署项目的实用指南。
摘要由CSDN通过智能技术生成


上一文章使用 Ubuntu搭建了django的环境,前段时间买了阿里云服务一直没有使用,今天进行阿里云服务器中python3、mysql8.0、redis4.0.9、虚拟环境和git2.21.0的安装和配置。
这边使用的阿里云服务器配置为:

  1. CPU:1核
  2. 内存:2GB
  3. 系统: CentOS 7.6 64位
  4. 安装前的准备:
    • 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. 文件代码修改
  1. 修改**/usr/bin/yum**文件中的头文件
	1. vim /usr/bin/yum  # 打开文件
	
	2. \#! /usr/bin/python修改为 \#! /usr/bin/python2.7 

  1. 修改**/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. 回撤
# 撤回:
情况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. 删除远程仓库文件
	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 # 推送   这样就可以去看远程仓库里面是否还有该文件了 
  1. 设置忽略文件
    首先进入到含有git配置的项目文件目录,找到 .gitignore文件。具体设置参考htmljsp版本控制系统GIT文档里面的内容,版本介绍和git的原理和使用方法,很详细。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值