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 ...
随机推荐
- 转载 js弹出框、对话框、提示框、弹窗总结
转载:https://blog.csdn.net/huileiforever/article/details/9464659 一.JS的三种最常见的对话框 //================== ...
- POJ 1414 Life Line(搜索)
题意: 给定一块正三角形棋盘,然后给定一些棋子和空位,棋子序号为a(1<=a<=9),group的定义是相邻序号一样的棋子. 然后到C(1<=N<=9)棋手在空位放上自己序号C ...
- step 1:begin to identify something in english(to becaome a baby again)
long long ago , i think if i want to improve my english especially computer english . i must do so m ...
- [Go]链表的相关知识
切片有着占用内存少喝创建便捷等特点,但它本质上还是数组.切片的一大好处是可以通过窗口快速地定位并获取或者修改底层数组中的元素.不过当删除切片中的元素的时候就没那么简单了.元素复制一般是免不了的,就算只 ...
- FZU 1686 dlx重复覆盖
#include <iostream> #include <cstring> #include <cstdio> #include <algorithm> ...
- [luoguP1437] [HNOI2004]敲砖块(DP)
传送门 可以得到一个性质,如果打掉第i列的第j个,那么第i列的1~j-1个也会打掉. 如果第i列打j个,那么第i+1列至少打j-1个. #include <cstdio> #include ...
- BOOST asio 例程daytime不使用库编译方法
在不使用lib库编译daytime client程序时,按照<Boost程序库完全开发指南>添加的定义 #define BOOST_REGEX_NO_LIB#define BOOST_DA ...
- Visual Studio Code Edit
微软的跨平台编辑器~~ 下载地址(官网):https://code.visualstudio.com/ 下载地址(网盘):http://pan.baidu.com/s/1ntLy8Tr 使用技巧: c ...
- Tomcat绑定具体IP
https://blog.csdn.net/paomadeng/article/details/1826880
- [Android] 随时拍图像处理部分总结及源码分享
http://blog.csdn.net/eastmount/article/details/45492065#comments [Android] 图像各种处理系列文章合集 http://blog. ...