1. Centos安装python3

1.1 安装软件的方法有哪几种

1  yum一键安装
2  rpm包安装(太麻烦,不推荐使用)
3  下载源码包,进行编译安装

1.2 安装python3的步骤

1.2.1下载python3源码包
wget https://www.python.org/ftp/python/3.6.6/Python-3.6.6.tgz
1.2.2 下载python3编译的依赖包
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
1.2.3 解压缩源码包
tar -zxvf Python-3.6.6.tgz
1.2.4 进入源码包文件夹
cd Python-3.6.6
1.2.5 编译且安装
1.进入源码包目录
cd Python-3.6.6

2.ls查看源码包内容

3.释放编译文件 Makefile
./configure --prefix=/opt/python36

4.编译
make

5.编译安装,此步才会最终生成 /opt/python36/
make install
第4步和第5步可以合二为一, 使用以下命令即可
make && make install
注意: 从第2步到第5步一直是在Python-3.6.6目录下操作!!!!
注意: 从第2步到第5步一直是在Python-3.6.6目录下操作!!!!
注意: 从第2步到第5步一直是在Python-3.6.6目录下操作!!!!

6.进入/opt目录查看python36文件夹,我们要的python3都在这里了
1.2.6 更改linux的path变量,添加python3
1.echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

2.环境变量配置文件:
vim ~/.bash_profile   # 用户环境变量控制文件
vim /etc/profile  # 系统环境变量控制文件
注意: 一定要将python3的目录放在第一位!!!!!!
注意: 一定要将python3的目录放在第一位!!!!!!
注意: 一定要将python3的目录放在第一位!!!!!!

3.为了永久生效path设置,添加到/etc/profile全局环境变量配置文件中
vim /etc/profile
在最后一行加入:
PATH=/opt/python36/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

4.重载配置文件/etc/profile
source /etc/profile
1.2.7 安装django模块
pip3 install -i https://pypi.douban.com/simple django==2.1.7
1.2.8 配置django,把django项目跑起来
(1) 创建一个django项目django-admin startproject qishi
(2) 配置settings.py文件,将ALLOW_HOST=[]改为ALLOW_HOST=["*"]
(3) 创建一个app   python3 manage.py startapp app01
(4) 启动django  python3 manage.py runserver 0.0.0.0:8000
1.2.9 查看当前解释器的python模块有哪些
pip3 list

2. pyhton虚拟环境virtualenv

2.1 虚拟环境介绍

问题: 我要想在一台机器上面安装两个版本的django,该怎么做?

解决方案:

1  再买一台机器,在这台机器上安装python3解释器,再安装django
2  还可以在原来这台机器上再安装一个版本的django(这个方法不可行)
3  再重新编译安装一个python解释器(特别麻烦,很费时间)

原来的python3解释器, 以它为本体, 创建多个分身

第一个分身
django2.2.0

第二个分身
django2.0

第三个分身
django1.0

第四个分身
flask

第五个分身
tornado

在使用Python开发的过程中,工程一多,难免会碰到不同的工程依赖不同版本的库的问题;亦或者是在开发过程中不想让物理环境里充斥各种各样的库,引发未来的依赖灾难。此时,我们需要对于不同的工程使用不同的虚拟环境来保持开发环境以及宿主环境的清洁。这里就要隆重介绍virtualenv,一个可以帮助我们管理不同Python环境的绝好工具。virtualenv可以在系统中建立多个不同并且相互不干扰的虚拟环境。

2.2 安装虚拟环境

2.2.1 下载安装虚拟环境模块
pip3 install -i https://pypi.douban.com/simple virtualenv
2.2.2 创建二个虚拟环境
virtualenv --no-site-packages --python=python3 qishi6
virtualenv --no-site-packages --python=python3 qishi7
2.2.3 激活虚拟环境

相对路径

cd /opt/virutal_env/xiangge/bin
source activate

绝对路径:

source /opt/virtual_env/bangzheng/bin/activate
2.2.4 查看虚拟环境与python本体的区别, 确认是否在虚拟环境内
pip3 list

1568625074937

# 检测是否在虚拟环境内
echo $PATH

/opt/virtual_env/qiangge/bin:/opt/python36/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin

现在的环境变量第一位是虚拟环境下面的python3解释器,跟python本体的解释器不一样

which python3

/opt/virtual_env/xiangge/bin/python3
2.2.5 分别在两个虚拟环境下面创建两个django项目qishi3_1和qishi3_2

在1.1.16这个版本的django下,用8000端口来跑

在2.1.7这个版本的django下,用9000端口来跑

1 分别进入两个虚拟环境,分别创建django项目,但是都在/opt/qishi3dj目录下

进入xiangge虚拟环境下

source /opt/virtual_env/xiangge/bin/activate
cd /opt/qishidj
django-admin startproject qishi_1

再进入bangzhang虚拟环境下

source /opt/virtual_env/bangzheng/bin/activate
cd /opt/qishidj
django-admin startproject qishi_2

2 分别将两个django跑起来

1568625941680

1568625950879

2.2.6 练习实验:
1. 安装虚拟环境virtualenv工具
2. 分别创建两个虚拟环境,自定义命名, 放在/opt/qishi3_env目录下
3. 分别进入两个虚拟环境,分别创建两个不同版本的django(django==1.11.16和django==2.1.7)
4. 分别将两个虚拟环境跑起来, django1.11.16用8000端口,django2.1.7用9000端口
2.2.7 virtualenv的缺点

virtualenv这个工具太麻烦了

1 命令太长, 不容易记住

2 管理虚拟环境特别麻烦, 容易弄错目录,容易找不到虚拟环境,最终导致得重装系统或者重装虚拟环境

3. 确保开发环境的一致性

解决方案:
1.通过命令保证环境的一致性,导出当前python环境的包
pip3 freeze > requirements.txt   

这将会创建一个 requirements.txt 文件,其中包含了当前环境中所有包及 各自的版本的简单列表。
可以使用 “pip list”在不产生requirements文件的情况下, 查看已安装包的列表。

2.上传至服务器后,在服务器下创建virtualenv,在venv中导入项目所需的模块依赖
pip3 install -r requirements.txt

4. virtualenvwrapper安装

4.1 安装virtualenvwrapper

注意: 一定要安装在python解释器本体下!!!

注意: 一定要安装在python解释器本体下!!!

注意: 一定要安装在python解释器本体下!!!

pip3 install virtualenvwrapper -i https://pypi.douban.com/simple

4.2 设置linux的用户配置文件配置virtualenvwrapper

vim ~/.bashrc

WORKON_HOME=~/Envs   # 设置virtualenv的统一管理目录, 以后自动下载的虚拟环境,全部都放在这
VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages'   # 添加virtualenvwrapper的参数,生成干净隔绝的环境
VIRTUALENVWRAPPER_PYTHON=/opt/python347/bin/python3     # 指定python解释器的本体(注意此路径随不同的linux环境改变而改变)
source /opt/python34/bin/virtualenvwrapper.sh # 执行virtualenvwrapper安装脚本

注意: 后面的注释你得知道,但是不能放到配置文件里面去,不然会报错!!!

注意: 后面的注释你得知道,但是不能放到配置文件里面去,不然会报错!!!

注意: 后面的注释你得知道,但是不能放到配置文件里面去,不然会报错!!!

真实实验环境配置文件如下:

WORKON_HOME=~/Envs
VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages'   VIRTUALENVWRAPPER_PYTHON=/opt/python36/bin/python3
source /opt/python36/bin/virtualenvwrapper.sh

4.3 重新加载~/.bashrc文件

source ~/.bashrc

4.4 登出用户,重新再登录

4.5 创建一个虚拟环境

mkvirtualenv xiangge
mkvirtualenv xiaqiang
mkvirtualenv zhenying

4.6 激活虚拟环境

workon xiangge
workon xiaqiang
workon zhenying

4.7 删除虚拟环境

rmvirtualenv xiaqiang
rmvirtualenv xiangge
rmvirtualenv zhenying

5. CentOS7下安装MariaDB

公司的免费技术栈:

centos + python3 + django + vue + mysql + redis + celery + docker + git + nginx

收费的技术栈

oracle甲骨文 + SVN + redhat + apache + mysql + django

5.1 一条命令安装Mariadb

首先在/etc/yum.repos.d下创建一个MariaDB.repo文件

vim /etc/yum.repos.d/MariaDB.repo

添加以下配置

[mariadb]
name=MariaDB
baseurl=http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

使用一条命令下载安装Mariadb
yum install MariaDB-server MariaDB-client -y


# 由于官方的下载网速太慢,我们教学就使用阿里云低版本的mariadb数据库
# 然后一条命令安装Mariadb
yum install mariadb-server mariadb -y

5.2 安装好了之后,使用systemctl进行mariadb服务管理

systemctl start mariadb  #启动MariaDB
systemctl stop mariadb  #停止MariaDB
systemctl restart mariadb  #重启MariaDB
systemctl enable mariadb  #设置开机启动

5.3 初始化mariadb

mysql_secure_installation

5.4 优先解决中文无法正常显示的问题

1 停掉mariadb服务
	systemctl stop mariadb
2 修改配置文件vim /etc/my.cnf

1568681912439

[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

5.5 进入mysql,熟悉一下mysql相关操作

1 创建一个数据库oldboy
	create database oldboy
2 进入数据库oldboy
	use oldboy
3 创建一个表student
	create table student(id int(11),name varchar(20));
4 进入表student
	use student
5 插入一条数据
	insert into student(id, name) values(1, "三包春药");
6 查看这条数据,发现中文无法正常显示

5.6 查看数据库默认编码:

​ mysql -u root -p 进入数据库

​ 输入命令\s查看默认编码

MariaDB [(none)]> \s
--------------
mysql  Ver 15.1 Distrib 5.5.60-MariaDB, for Linux (i686) using readline 5.1

Connection id:		3
Current database:	
Current user:		root@localhost
SSL:			Not in use
Current pager:		stdout
Using outfile:		''
Using delimiter:	;
Server:			MariaDB
Server version:		5.5.60-MariaDB MariaDB Server
Protocol version:	10
Connection:		Localhost via UNIX socket
Server characterset:	utf8
Db     characterset:	utf8
Client characterset:	utf8
Conn.  characterset:	utf8
UNIX socket:		/var/lib/mysql/mysql.sock
Uptime:			4 min 56 sec

Threads: 1  Questions: 26  Slow queries: 0  Opens: 3  Flush tables: 2  Open tables: 28  Queries per second avg: 0.087
--------------

查看某一个数据库oldboy的编码

show create database oldboy

查看某一个表student的编码

show create table student

6. redis

6.1 redis简介

redis的优点:

​ 属于内存型的数据库,存储速度非常快

redis的缺点:

​ 断电数据会丢失

​ redis服务挂掉之后数据也会丢失

6.2 redis的安装

6.2.1 下载redis源码包
wget http://download.redis.io/releases/redis-5.0.2.tar.gz
6.2.2 解压缩
tar -zxvf redis-5.0.2.tar.gz
6.2.3 切换redis源码目录
cd redis-4.0.10
6.2.4 编译源文件
make
6.2.5 编译好后,src/目录下有编译好的redis指令
6.2.6 make install 安装到指定目录,默认在/usr/local/bin
make install
6.2.7 创建redis配置文件
mkdir -p /opt/redis_conf
cd /opt/redis_conf
vim redis-6379.conf
6.2.8添加以下配置
port 6379                         # 运行在6379的redis数据库实例
daemonize yes                     # 后台运行redis  
pidfile /data/6379/redis.pid      # 存放redis pid的文件
loglevel notice                   # 日志等级
logfile "/data/6379/redis.log"    # 指定redis日志文件的生成目录
dir /data/6379                    # 指定redis数据文件夹的目录
protected-mode yes                # 安全模式
requirepass   haohaio             # 设置redis的密码
6.2.9 启动redis
redis-server /opt/redis_conf/redis-6379.conf
6.2.10 连接redis
使用命令redis-cli进行连接
参数详解:
redis-cli  -p 6380  -a  haohaio
    -p  设置redis链接的端口
    -a  显示的填写密码
    --raw 使用原始格式
 posted on 2019-11-09 00:47  IT技术流  阅读(110)  评论(0)    收藏  举报