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 ...
随机推荐
- Linux查看配置文件中未被注释的有效配置行
grep 命令示例——去掉注释 $ grep -v "^#" /path/to/config/file $ grep -v "^#" /etc/apache2/ ...
- mac 监控文件变化并重启php
自己撸一个框架,需要监控代码变化 安装fswatch brew install fswatch shell重启PHP脚本reload.sh #!/bin/sh do ps -ef | grep php ...
- 前端基础之JavaScript_2
摘要: window对象 BOM(Browser Object Model) DOM (Document Object Model) 0.引子: JavaScript分为三部分:ECMAScript. ...
- ServletContext作用功能详解
ServletContext,是一个全局的储存信息的空间,服务器开始,其就存在,服务器关闭,其才释放.request,一个用户可有多个:session,一个用户一个:而servletContext,所 ...
- css中background-image背景图片路径设置
web项目中经常会用到background-image:url(),很多小伙伴不知道该怎么写需要的图片路径. 在此之前先要知道几个重要的东东: / 项目根目录 这个不用多说,就是程序 ...
- POJ 2478 欧拉函数打表的运用
http://poj.org/problem?id=2478 此题只是用简单的欧拉函数求每一个数的互质数的值会超时,因为要求很多数据的欧拉函数值,所以选用欧拉函数打表法. PS:因为最后得到的结果会很 ...
- hdu 2686最小费用最大流问题
#include<stdio.h> #include<queue> #include<string.h> using namespace std; #define ...
- jvm的类加载器,类装载过程
混沌初开,在一片名为jvm的世界中,到处都是一片虚无,直到一个名为BootstrapClassLoader的巨人劈开了世界,据说它是由名叫C++的女神所造,它从一个叫做jre/lib的宝袋中拿出一把开 ...
- 51nod1135 原根
原根判定:$m>2$,$\varphi (m)$的不同素数是$q_1,q_2,……,q_s$,$(g,m)=1$,则$g$是$m$的一个原根的充要条件是$g^{\frac{\varphi(m)} ...
- MySQL性能优化的21个最佳实践 和 mysql使用索引【转载】
今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显.关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我 们程序员需要去关注的事情.当我们去设计数据库表结构,对操作数 ...