linux crm部署代码详解
linux 基础配置
python3的linux环境编译安装
1.linux下安装软件的方式
-首选yum工具,方便,自行解决软件之间的依赖关系,自动下载且安装
1.配置yum源(就是一个软件仓库,里面放了一堆rpm软件包)
可以选择阿里云源,清华yum源
配置第一个仓库,里面有大量系统常用软件
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
还得配置第二个仓库,携带大量第三方软件(nginx,redis,mongodb,mairadb等)
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
2.你得了解yum的仓库目录
cd /etc/yum.repos.d/ #在这个目录第一层的repo文件就会被识别问yum软件仓库
3.清空yum缓存,清空centos官方的yum软件缓存
yum clean all
4.生成新的阿里云的yum缓存
yum makecache
-wget 在一个资源url的命令
-apt-get ubuntu底下的yum
-使用yum仓库,不仅仅可以使用第三方的yum仓库,还是可以指定官方的yum源(好比mariadb数据库的官方yum源,软件包最新)
-rpm手动安装,得处理依赖关系
-自由选择版本,且可以扩展第三方功能的安装方式,叫做源码编译安装
查看依赖模块
pip3 freeze > requirements.txt
#这个 requirements.txt文件是python程序员都认识的模块依赖文件
第一步.启动mariadb数据库
配置yum源
1.yum
配置yum源
yum install mariadb-server mariadb -y
2.通过yum安装的软件,怎么启动
systemctl start mariadb
# systemctl start/stop/status/restart mariadb
3.登陆数据库
cmd登录
导出windows的数据库,导入给linux机器
cmd登录导出命令
mysqldump -uroot -p se_crm > se_crm.sql #指定数据库导出到se_crm.sql这个数据文件中
传输到linux中,进行导入
简单的利用 lrzsz工具传输
或者下载xftp工具
导入数据的命令
mariadb安装
yum install mariadb-server
方式1:
1.创建一个se_crm数据库
create database se_crm;
#导入数据的命令
mysql -uroot -p se_crm < /opt/se_crm.sql #指定se_crm数据库,导入一个sql文件
方式2:
登陆数据库之后,用命令导入数据
1.创建一个se_crm数据库
create database se_crm;
2.切换数据库
use se_crm;
3.读取sql文件,写入数据集
mareiadb> source /opt/se_crm.sql;
第二步:准备python3环境,以及虚拟环境
编译安装python3,解决环境变量
centos7下编译安装python3的方式
1.必须解决编译所需的基础开发环境 yum install 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 -y 2.下载python3的编代码包 解压缩 wget https://www.python.org/ftp/python/3.6.7/Python-3.6.7.tar.xz xz -d Python-3.6.7.tar.xz tar -xf Python-3.6.7.tar 4.进入解压缩生成的源码文件夹 cd Python-3.6.7 5.执行编译三部曲的命令 第一曲:找到一个[配置的可执行文件,configure ],执行它,且指定软件安装位置 ./configure –prefix=/opt/python367/ 第二曲:在上一步,会生成一个makefile,编译安装,在linux下必须用gcc工具去编译,使用的命令时make make 第三曲:这一步是执行安装,会生成一个/opt/python367文件夹,可用的解释器都在这里了 make install 6.配置环境变量,便于快捷使用python3 1.先获取当前的PATH变量,然后把python3的bin目录加进去 echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin 2.永久修改PATH的值 -第一个是软连接 -直接修改/etc/profile ,系统全局的配置文件,每个用户在登陆系统的时候,都会加载这个文件 vim /etc/profile 写入新的PATH变量 PATH=”/opt/python367/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin” 3.还得重新登陆,或者手动读取这个/etc/profile source /etc/profile #让这个文件中的变量生效
下载virtualenvwrapper工具
virtualenvwrapper ,升级版的虚拟环境工具
1.安装 ,不要激活虚拟环境 pip3 install -i https://pypi.douban.com/simple virtualenvwrapper 2.修改配置文件,每次开机就加载 virtualenvwrapper 这个工具 1.打开一个用户个人的环境变量配置文件 全局配置文件 /etc/profile #每个用户登陆都生效 用户个人配置文件 ~/.bash_profile vim ~/.bash_profile #root在登陆的时候,会读取这个文件中的代码 2.填入如下信息,针对你自己的python环境修改 export WORKON_HOME=~/Envs #设置virtualenv的统一管理目录 export VIRTUALENVWRAPPER_VIRTUALENV_ARGS=’–no-site-packages’ #添加virtualenvwrapper的参数,生成干净隔绝的环境 export VIRTUALENVWRAPPER_PYTHON=/opt/python367/bin/python3.6 #指定python解释器 source /opt/python367/bin/virtualenvwrapper.sh #执行virtualenvwrapper安装脚本 3.此时可以使用这个工具,快捷的创建虚拟环境 mkvirtualenv 虚拟环境名 #创建虚拟环境 lsvirtualenv #列出虚拟环境的名字 workon 虚拟环境名字 #激活或切换虚拟环境 lssitepackages #列出虚拟环境中的模块信息,其实就是 cdvirtualenv #进入虚拟环境家目录 cdsitepackages #进入虚拟环境第三方模块目录
使用mkvirtualenv命令,创建新的虚拟环境,用于启动crm
mkvirtualenv s23_crm
拷贝crm代码,到linux机器
rz # 讲crm项目压缩包拖到linux,
# 解压
解决crm运行所需的依赖环境,django等模块,以及pymysql
解决办法1: 笨办法,一个个报错去看,去解决 pip3 install -i https://pypi.douban.com/simple django==1.11.23 pip3 install -i https://pypi.douban.com/simple pymysql pip3 install -i https://pypi.douban.com/simple django-multiselectfield pip3 install -i https://pypi.douban.com/simple django==1.11.23 不那么笨的办法: 导出python解释器模块的命令 pip3 freeze > requirements.txt #这个 requirements.txt文件是python程序员都认识的模块依赖文件 安装这个requirements.txt文件中所有的模块 pip3 install -r requirements.txt #指定依赖文件安装,读取文件中所有的模块信息
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 什么?面试官让我用ArrayList实现一个阻塞队列?
- A little fun with InnoDB multi-versioning(14.有关InnoDB多版本中的一个小问题)
- 聊聊java中的哪些Map:(八)ConcurrentSkipListMap源码分析
- littlevgl(Lvgl)最新版V7.4移植
- TiKV 源码解析系列文章(二十)Region Split 源码解析
- 轻松构建Tomcat源码
- Flutter中Contrainer 组件的宽高限制分析
- 10张图带你深入理解Docker容器和镜像
- 手摸手教你撸一个微服务框架-关于服务端的处理
- 聊聊claudb的string command
- windows下安装nodejs
- 【Java面试总结】Java集合
- 《JavaScript 模式》读书笔记(8)— DOM和浏览器模式1
- 《JavaScript 模式》读书笔记(8)— DOM和浏览器模式2
- 5000字 | 24张图带你彻底理解21种并发锁