Linux常用服务安装部署
1,centos7默认是装有python的,检查python版本的命令
- # 检查python版本 : python -V
2,centOS在安装python3以及tab补全功能
- 下载python3源码,选择3.6.7因为ipython环境
- wget https://www.python.org/ftp/python/3.6.7/Python-3.6.7.tar.xz
- 解压缩源码包.去除xz后缀
- xz -d Python-3.6.7.tar.xz
- 解压缩源代码,去掉tar后缀
- tar -xf Python-3.6.7.tar
- 解决编译安装python3所需的软件依赖(解决这些依赖关系后期才能正常运转python3.6,如果不解决,会出现各种报错信息,此时还得重新编译python3.6)
- 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
- 开始进行编译安装
- 调用源码包路径下的config这个脚本
- ./configure --prefix=/opt/python36/
- 执行make命令.开始编译(此步骤还不会生成/opt/python36这个文件夹)
- 翻译 python解释器是对代码进行一行一行的翻译并且转化成成机器码去执行
- 编译, 编译型语言,在运行代码之前,有一个编译的过程(将代码编译成二进制文件)
- 调用源码包路径下的config这个脚本
- 编译安装,没有报错后, 就可以正常使用python3了
- 快捷使用python3.6的方式(一下二选一)
- 软连接(这一步很麻烦,并且不适用于virtualenv的创建)
- ln-s /opt/python36/bin/python3.6 user/bin/python3(但是这一步还没有pip)
- ln-s /opt/python36/bin/pip3 /usr/bin/pip3
- 环境变量的配置
- echo $PATH
- /usr/local/bin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
- 配置python36的目录,加入环境变量
- 因为path的路径查找是有先后顺序的,并且在配置virtualenv的时候,优先级先找到的python环境为base环境
- 请将python36的目录放到path的第一层
- /opt/python36/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:
- 配置环境变量,永久生效,写入到文件/etc/profile中,每次登录就生效
- vim /etc/profile #将此配置写到最低行
- PATH=/opt/python36/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
- source /etc/profile #读取这个文件,让python3生效
- echo $PATH
- 软连接(这一步很麻烦,并且不适用于virtualenv的创建)
- 检查所有的python的文件夹关系
- ls 查看一下
软件包解析:python36(这个是工作的,已经安装好的python3软件包目录),python-3.6.7(这个是python的源码文件夹,安装成功后可删除),python--3.6.7tar这个人是压缩包,可以删除
- 升级pip工具,升级pip的版本
- pip3 install --upgrade pip
- 安装ipython解释器
- 安装ipython,指定douban源下载
- pip3 install -i https://pypi.douban.com/simple ipython
- 安装朱皮特
- pip3 install -i https://pypi.douban.com/simple jupyter
- 进入ipython环境,给jupyter设置密码
- ipython
- from IPython.lib import passwd
- passwd()#生成jupyter登录的密码
- 输入:0923
- 生成jupyter的配置文件
- jupyter notebook --generate-config --allow-root
- vim ~/.jupyter/jupyter_notebook_config.py
- 修改如下配置一致即可,去掉注释符#才能读取读取代码
- c.NotebookApp.ip = '建议写当前linux机器的ip地址'
- c.NotebookApp.open_browser = False
- c.NotebookApp.port = 8888
- 启动朱皮特
- jupyter notebook --allow-root #启动notebook
- ip:8888: 端口访问你的 jupyter页面
- 如果启动不了,很有可能是防火墙问题
- iptables -L #查看规则
- iptables -F #清空规则
- systemctl stop firewalld #关闭防火墙服务
- systemctl disable firewalld #从开机自启中,移除这个防火墙服务,永久关闭
- 关闭selinux
- getenforce 查看selinux规则
- 2. 临时关闭selinux setenforce 0
- 注意:永久关闭selinux,需要重启生效
- vim /etc/selinux/config
- 写入以下配置
- SELINUX=disabled
- #重启服务器生效,selinux永久disabled
- 安装django1.11.11
- pip3 install -i https://pypi.douban.com/simple django==1.11.11
- Linux下的虚拟环境安装(virtualenv),以宿主机的python解释器为在主体,然后复制多个虚拟环境
- 通过pip3安装虚拟环境
- pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualenv
- 通过virtualenv命令,创建第一个新的虚拟环境
- virtualenv --no-site-packages --python=python3 venv1
- 参数解释:
- --no-site-packages 创建一个干净,隔离宿主机环境的虚拟环境
- --python=python3 3 指定你的虚拟环境,以哪个解释器为base环境
- virtualenv --no-site-packages --python=python3 venv1
- 激活虚拟环境,切换宿主机,进入虚拟环境的环境变量
- source /opt/all_env/venv1/bin/activate
- 检查环境变量PATH, 检查是否正确激活了虚拟环境
- echo $PATH
检查当前的python3和pip3来自于那
- which python3
- which pip3
使用venv1虚拟环境,安装一个django1.11.11
- pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple django==1.11.11
- 提出虚拟环境
- deactivate
- 服务器环境之保证本地服务器开发环境一致性的配置:
- 通过命令导出当前python解释器的pip包环境
- pip3 freeze > requirements.py #这个requirements.py文件,就存放了正常运转的开发软件依赖包的信息
- 将此requirements.py文件传到服务器上
- 通过命令导出当前python解释器的pip包环境
- 虚拟环境管理之virtualenvwrapper安葬步骤:
- 下载安装virtualenvwrapper
- pip3 install -i https://pypi.douban.com/simple virtualenvwrapper
- 执行脚本,让当前机器支持virtualenvwrapper,但是有一个问题,重启后,退出会话后,这个功能就失效了
- 配置全局变量,让每次登陆linux时候,就加载这个virtualenvwrapper.sh脚本文件,使得virtualenvwrapper这个工具生效
- #打开这个用户环境变量配置文件,写入以下信息,export 就是读取一段shell变量的命令
- vim ~/.bashrc #这个文件代表用户环境变量,每次登陆时候加载
- export WORKON_HOME=~/Envs #设置virtualenv的统一管理目录
- export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages' #添加virtualenvwrapper的参数,生成干净隔绝的环境
- export VIRTUALENVWRAPPER_PYTHON=/opt/python36/bin/python3.6 #指定python解释器,(这个得根据你自己机器环境来配)
- source /opt/python36/bin/virtualenvwrapper.sh #执行virtualenvwrapper安装脚本,这个脚本放在你的python3.6解释器bin目录下
- 读取文件,使得生效,此时已经可以使用virtalenvwrapper
source ~/.bashrc
- 开始使用virtualenvwrapper,创建一个venv1
- mkvirtualenv venv1 #这一步会创建venv1,并且放入到WORKON_HOME变量定义目录下,并且自动激活虚拟环境
- lsvirtualenv #查看当前机器所有的虚拟环境
- workon #用于激活虚拟环境,也用于在多个虚拟环境中来回切换
- rmvirtualenv #用于删除虚拟环境,也会自动找到所有的虚拟环境
- cdvirtualenv #用于直接进入虚拟环境的目录,此命令需要激活虚拟环境
- cdsitepackages #用于直接进入pip3软件包的目录
- 使用了virtualenvwrapper 就不需要再手动安装virtualenv了
- 下载安装virtualenvwrapper
Linux常用服务安装部署的更多相关文章
- redis常用服务安装部署
常用服务安装部署 学了前面的Linux基础,想必童鞋们是不是更感兴趣了?接下来就学习常用服务部署吧! 安装环境: centos7 + vmware + xshell 即将登场的是: mysql(m ...
- Linux下的python3,virtualenv,Mysql、nginx、redis等常用服务安装配置
Linux下的python3,virtualenv,Mysql.nginx.redis等常用服务安装配置 学了前面的Linux基础,想必童鞋们是不是更感兴趣了?接下来就学习常用服务部署吧! 安装环 ...
- Kali Linux常用服务配置教程安装及配置DHCP服务
Kali Linux常用服务配置教程安装及配置DHCP服务 在Kali Linux中,默认没有安装DHCP服务.下面将介绍安装并配置DHCP服务的方法. 1.安装DHCP服务 在Kali Linux中 ...
- Kali Linux常用服务配置教程DHCP服务原理
Kali Linux常用服务配置教程DHCP服务原理 动态主机配置协议(Dynamic Host Configuration Protocol,简称DHCP)是一个局域网的网络协议,基于UDP协议工作 ...
- Kali Linux常用服务配置教程获取IP地址
Kali Linux常用服务配置教程获取IP地址 下面以Kali Linux为例,演示获取IP地址的方法 (1)设置网络接口为自动获取IP地址.在Kali Linux的收藏夹中单击图标,将显示所有的程 ...
- Kali Linux常用服务配置教程启动DHCP服务
Kali Linux常用服务配置教程启动DHCP服务 通过前面的介绍,DHCP服务就配置好了.接下来,用户就可以使用该服务器来获取IP地址了.下面将对前面配置的服务进行测试. 1.启动DHCP服务 如 ...
- linux查看服务安装目录
linux查看服务安装目录server dir 假如我们想查看 Redis 的安装目录 如果用命令 which redis 或者 whereis redis 都找不到安装目录, 可使用以下办法: ps ...
- Linux系统下DHCP服务安装部署和使用详解
一.概述 DHCP :动态主机设置协议(英语:Dynamic Host Configuration Protocol,DHCP)是一个局域网的网络协议,使用UDP协议工作,主要有两个用途:用于内部网或 ...
- 04.Linux系统-Zabbix监控服务安装部署
一.环境准备 操作系统:CentOS_Server_7.5_x64_1804.iso 部署组件:Zabbix 二.操作步骤: Zabbix_Server安装部署 2.0.安装依赖组件 [root@lo ...
随机推荐
- 条款13:以对象管理资源(use objects to manage resources)
NOTE: 1.为防止资源泄漏,请使用RAII对象,它们在构造函数中获得资源并在析构函数中释放资源. 2.两个常被使用的RAII classes 分别是 trl::shared_ptr 和 auto_ ...
- windows 上使用virtualenv进行python多版本转换
近期因为需要在python2.7和Python3.6上进行工作学习,可是笔记本只配置了python3.6环境. 所以打算使用virtualenv这个强大的工具进行多版本转换: 一.首先,默认已经配置好 ...
- STM32定时器的两个小难点
TIM1 TIM8 挂在APB2上 一般为72M 也即APB2分频系数为1其余TIMER可以认为都挂在APB1上,一般为36M 也即APB1分频系数为2 或者更大 至少为2 APB1不能超过36M定时 ...
- 杭电 4004 The Frog's Games 青蛙跳水 (二分法,贪心)
Description The annual Games in frogs' kingdom started again. The most famous game is the Ironfrog T ...
- 算法导论 第十三章 红黑树(python)-1插入
红黑树是上一章二叉搜索树的改进,实现一种平衡 ,保证不会出现二叉树变链表的情况,基本动态集合操作的时间复杂度为O(lgn) 实际用途:c++stl中的set,map是用他实现的 红黑树的性质: 1.每 ...
- linux find的用法
①.一般格式: ·find path -option [ -print ] [ -exec -ok command ] {} \; 说明: #-print 将查找到的文 ...
- Java学习关于集合框架的基础接口--Collection接口
集合框架(Collection Framework)是Java最强大的子系统之一,位于java.util 包中.集合框架是一个复杂的接口与和类层次,提供了管理对象组的最新技术.Java集合框架标准 ...
- resultType返回的是集合中的元素类型
https://www.cnblogs.com/start-fxw/p/5900087.html
- XV6陷入,中断和驱动程序
陷入,中断和驱动程序 运行进程时,cpu 一直处于一个大循环中:取指,更新 PC,执行,取指…….但有些情况下用户程序需要进入内核,而不是执行下一条用户指令.这些情况包括设备信号的发出.用户程序的非法 ...
- 67. @Transactional的类注入失败【从零开始学Spring Boot】
[从零开始学习Spirng Boot-常见异常汇总] Spring的代理模式有两种:java自带的动态代理模式和cglib代理模式,cglib代码模式适用于没有接口的类,而java自带适用于接口类,默 ...