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 ...
随机推荐
- 剑指Offer(书):斐波那契数列
题目:大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0).n<=39 分析:第一种方法:递归,45时,时间为5s,50时,我就等不及了.原因是重 ...
- solrJ 查询参数
一. Query参数 1. CoreQueryParam查询的参数 1) q: 查询字符串,必须的. 2) q.op: 覆盖schema.xml的defaultOperator(有空格时用" ...
- pwntools各使用模块简介
pwntools pwntools 是一款专门用于CTF Exploit的python库,能够很方便的进行本地与远程利用的切换,并且里面包含多个模块,使利用变得简单.可以在github上直接搜索pwn ...
- luogu2485 [SDOI2011]计算器 poj3243 Clever Y BSGS算法
BSGS 算法,即 Baby Step,Giant Step 算法.拔山盖世算法. 计算 \(a^x \equiv b \pmod p\). \(p\)为质数时 特判掉 \(a,p\) 不互质的情况. ...
- 深刻理解下js的prototype
参考 http://aralejs.org/class/docs/competitors.html, http://www.iteye.com/topic/248933,http://www.cnbl ...
- java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
今天这个问题排查了好大一会,开始网上有人这么说: https://www.cnblogs.com/rookiebob/p/3749396.html 但是仍未能解决我的问题, 最后发现是只在外层的pom ...
- Laya 类列表加载优化
Laya 类列表加载优化 @author ixenos 类列表:在一个页面展示的大量的零散单元的集合(聊天面板.背包) 一.按展示优化1.展示内容少,即使大量数据,但用户只看到少量信息的时候,考虑按需 ...
- Computer (树形DP)
A school bought the first computer some time ago(so this computer's id is 1). During the recent year ...
- UVA674-Coin Change,用动归思想来递推!
674 - Coin Change 题意:有1分,5分,10分,25分,50分共5种硬币,数量不限.给你一个n求有多少种方法凑齐n,注意:d[0]=1; 思路:推了前几组样例,可以发现直接用当前状态累 ...
- PTA 02-线性结构3 Reversing Linked List (25分)
题目地址 https://pta.patest.cn/pta/test/16/exam/4/question/664 5-2 Reversing Linked List (25分) Given a ...