环境说明
本次部暑基于 Linux(centos7) + pyenv + pipenv + supervisor + python3.7.3 + mysql + redis
pyenv的安装与使用
我们本次部署使用pyenv进行python多版本的管理,具体步骤如下:
-
安装pyenv
安装pyenv首先选择安装路径,一般选择安装在家目录下,很多软件的配置文件等都是以隐藏文件的形式放在家目录下或者根目录下,我们的安装路径设置为~/.pyenv# 在终端窗口输入命令如下: git clone https://github.com/pyenv/pyenv.git ~/.pyenv 或者 git clone https://gitee.com/krypln/pyenv.git ~/.pyenv
-
定义环境变量
# 在终端窗口输入命令如下: echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc echo 'eval "$(pyenv init -)"' >> ~/.bashrc source ~/.bashrc
-
pyenv的使用
查看可以安装的python的版本:
pyenv install --list
查看已经安装的python版本
pyenv versions
此处的system是系统自带的Python版本,Ubuntu中系统自带2.7和3.5查看当前使用的python版本
pyenv version
安装一个python版本# 在安装python之前,要先安装python的一些依赖包,否则会安装失败: sudo yum update sudo yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel libffi-devel gcc make
在安装的时候pyenv会自动到github上下载,速度会很慢,可以使用如下方法:
# 使用curl或者wget下载到~/.pyenv/cache下,然后再用pyenv安装,下面是可选的安装模式 cd ~/.pyenv sudo mkdir cache wget -c http://mirrors.sohu.com/python/3.7.3/Python-3.7.3.tar.xz -P ~/.pyenv/cache/ # 或者用淘宝源 wget -c https://npm.taobao.org/mirrors/python/3.7.3/Python-3.7.3.tar.xz -P ~/.pyenv/cache/ https://npm.taobao.org/mirrors/python/$v/Python-$v.tar.xz pyenv install -v 3.7.3
卸载一个python版本
pyenv uninstall 3.7.3
设置python版本
# 全局 pyenv global 3.7.3 # 当前目录 pyenv local 3.7.3
pipenv的安装与使用
-
安装pipenv
pip install pipenv
-
pipenv的使用
# 查看项目位置 pipenv --where # 查看虚拟环境位置 pipenv --venv # 查看解释器信息 pipenv --py # 激活虚拟环境 pipenv shell # 安装第三方库 pipenv install [第三方库名] # 卸载包 pipenv uninstall [第三方库名] # 查看包的依赖结构 pipenv graph # 查看安装的包 pip list # 删除虚拟环境 pipenv --rm # 退出虚拟环境 exit或deactivate
supervisor的安装与使用
-
安装supervisor
sudo yum install -y epel-release sudo yum install -y supervisor # 配置开机自启 systemctl enable supervisord # 查看是否启动,如果是enabled表示已经启动 systemctl is-enabled supervisord # 停止 systemctl stop supervisord # 启动 systemctl start supervisord # 查看状态 systemctl status supervisord # 重启 systemctl reload supervisord # 重启 systemctl restart supervisord
-
修改开机启动脚本
配置指定用户启动supervisorsudo vim /usr/lib/systemd/system/supervisord.service # 内容如下: [Unit] Description=Supervisor daemon [Service] Type=forking PIDFile=/var/run/supervisord.pid ExecStart=/bin/supervisord -c /etc/supervisord.conf ExecStop=/bin/supervisorctl shutdown ExecReload=/bin/supervisorctl reload KillMode=process Restart=on-failure RestartSec=42s [Install] WantedBy=multi-user.target # 修改ExecStart ExecStart=/bin/supervisord -u witcomm -c /etc/supervisord.conf
-
修改supervisor配置
sudo vim /etc/supervisord.conf # 修改配置中[unix_http_server]下的file、[supervisord]下的logfile和pidfile、[supervisorctl]下的serverurl,将var改为mnt
-
配置文件目录
# 将mnt权限改为775 sudo chmod 775 /mnt # 在mnt下创建run和log目录并给777权限 cd /mnt sudo mkdir log sudo chmod 777 /mnt/log sudo mkdir run sudo chmod 777 /mnt/run # 用普通用户(supervisor启动用户)在/mnt/log和/mnt/run下创建supervisor目录 mkdir supervisor # 检查/mnt/log/supervisor和/mnt/run/supervisor是否为775权限
mysql的安装与使用
安装mysql5.7
-
配置mysql5.7源
wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm sudo yum localinstall mysql57-community-release-el7-8.noarch.rpm
-
安装mysql
安装报错,官方5.7版本默认没有GPG key, 需要在yum install mysql-community-server命令上 添加 --nogpgcheck 进行强制安装。
sudo yum install -y mysql-community-server --nogpgcheck # 开机自启 systemctl enable mysqld systemctl daemon-reload # 启动mysql systemctl start mysqld # systemctl命令参照supervisor
-
mysql配置
# 获取初始密码 grep 'temporary password' /var/log/mysqld.log UjmO#ZA9nt,Y # 修改root密码 (需要登录mysql ) mysql -u root -p # 设置密码策略 set global validate_password_policy=0; # 设置密码长度 set global validate_password_length=1; # 修改root用户密码为mysql ALTER USER 'root'@'localhost' IDENTIFIED BY 'mysql'; # 授权远程登录 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mysql'; # 创建用户admin密码是mysql并授权admin用户远程登录 CREATE USER 'admin'@'%' IDENTIFIED BY 'mysql'; GRANT ALL ON *.* TO 'admin'@'%'; # 刷新 flush privileges;
redis的安装与使用
CentOS7 安装指定版本的redis
-
安装redis
# 下载fedora的epel仓库 sudo yum install -y epel-release # 安装redis yum install -y redis # 开机自启 systemctl enable redis # 状态 systemctl status redis # 启动 systemctl start redis # 停止 systemctl stop redis # 重启 systemctl restart redis
-
redis配置
# 修改redis配置文件 sudo vim /etc/redis.conf # 配置redis远程连接 # 找到 bind 127.0.0.1 将其注释 # 找到 protected-mode yes 将其改为 protected-mode no # 重启redis
-
redis启动方式
# 启动 service redis start # 停止 service redis stop # 重启 service redis restart # 状态 service redis status