配置基于centos下的远程Jupyter Notebook访问
最近在学习一些服务器上的操作,学着熟悉Liunx系统,记录下自己踩过的坑吧
1、开机后更新系统:
yum -y upgrade
yum - y update
2、查看已安装的应用
yum list
3、接下来因为要用到anaconda+Python环境,配置下:
1.首先,你要知道系统现在的python的位置在哪儿:
[root@root ~]# whereis python
python: /usr/bin/python2.7 /usr/bin/python /usr/lib/python2.7 /usr/lib64/python2.7 /etc/python /usr/include/python2.7 /usr/share/man/man1/python.1.gz
可以知道我们的python在 /usr/bin目录中
[root@root ~]# cd /usr/bin/
[root@root bin]# ll python*
lrwxrwxrwx. 1 root root 7 2月 7 09:30 python -> python2
lrwxrwxrwx. 1 root root 9 2月 7 09:30 python2 -> python2.7
-rwxr-xr-x. 1 root root 7136 8月 4 2017 python2.7
可以看到,python指向的是python2,python2指向的是python2.7,因此我们可以装个python3,然后将python指向python3,然后python2指向python2.7,那么两个版本的python就能共存了。
2.因为我们要安装python3,所以要先安装相关包,用于下载编译python3:
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make
#运行了以上命令以后,就安装了编译python3所用到的相关依赖
3.默认的,centos7也没有安装pip。
#运行这个命令添加epel扩展源
yum -y install epel-release
#安装pip
yum install python-pip
4.用pip装wget
pip install wget
5.用wget下载python3的源码包
wget https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tar.xz
6.编译python3源码包
#解压
xz -d Python-3.6.4.tar.xz
tar -xf Python-3.6.4.tar
#进入解压后的目录,依次执行下面命令进行手动编译
cd Python-3.6.4
./configure prefix=/usr/local/python3
make && make install
# 如果出现can't decompress data; zlib not available这个错误,则需要安装相关库
#安装依赖zlib、zlib-devel
yum install zlib zlib
yum install zlib zlib-devel
如果最后没提示出错,就代表正确安装了,在/usr/local/目录下就会有python3目录
7.添加软链接
#将原来的链接备份
mv /usr/bin/python /usr/bin/python.bak
#添加python3的软链接
ln -s /usr/local/python3/bin/python3.6 /usr/bin/python
#测试是否安装成功了
python -V
8.更改yum配置,因为其要用到python2才能执行,否则会导致yum不能正常使用
vi /usr/bin/yum
把#! /usr/bin/python修改为#! /usr/bin/python2
vi /usr/libexec/urlgrabber-ext-down
把#! /usr/bin/python 修改为#! /usr/bin/python2
4、在Linux下删除文件用rm命令,具体用法如下:
rm [选项] 文件
选项说明: -f -force 忽略不存在的文件,强制删除,无任何提示 -i --interactive 进行交互式地删除 -r | -R --recursive 递归式地删除列出的目录下的所有目录和文件 -v --verbose 详细显示进行的步骤 命令实例: 1、常规删除a.txt文件
[root]# rm a.txt
2、强行删除file.log文件
[root]# rm -f file.log
3、删除dirname目录下的所有东西
[root]# rm -ivrf dirname
5、在Centos下安装Anaconda
下载:wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-5.3.1-Linux-x86_64.sh
安装:bash Anaconda3-5.3.1-Linux-x86_64.sh
接下来会自动安装至:/root/anaconda/
注:若没有将地址添加到PATH中可用:
export PATH=/root/anaconda3/bin:$PATH
测试anaconda已经安装好:conda -V
创建专门的运行环境
conda create -n tensorflow
启动Tensorflow运行环境
source activate tensorflow
#关闭运行环境
#source deactivate tensorflow
#添加清华大学 TUNA提供的Anaconda仓库镜像
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes
conda install numpy #测试是否添加成功
#搜索可用版本
anaconda search -t conda tensorflow
#选择一个较新的CPU或GPU版本,如jjh_cio_testing/tensorflow的1.0.1版本,输入如下命令查询安装命令
anaconda show jjh_cio_testing/tensorflow
#使用最后一行的提示命令进行安装
conda install --channel https://conda.anaconda.org/jjh_cio_testing tensorflow
#conda会自动检测安装此版本的Tensorflow所依赖的库,如果你的Anaconda缺少这些依赖库,会提示你安装。
测试:
import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))
6、服务器端安装好Anaconda后就要进行远程访问了,此时我使用的是windows系统,之前一直使用Xshell的方式进行服务器配置环节。
服务器端启动Jupyter Notebook:
检查本地是否安装成功并生成配置文件
jupyter notebook –generate-config –allow-root
生成远程访问密码
#利用ipython生成密码
[root@localhost ~]# ipython
Python 3.6.2 |Anaconda, Inc.| (default, Sep 30 2017, 18:42:57)
Type 'copyright', 'credits' or 'license' for more information
IPython 6.1.0 -- An enhanced Interactive Python. Type '?' for help.
In [1]: from notebook.auth import passwd
In [2]: passwd()
Enter password:
Verify password:
Out[2]: '*******'
修改配置文件
vi /root/.jupyter/jupyter_notebook_config.py
c.NotebookApp.ip='*'
c.NotebookApp.password = u'*******'将上述生成的密码复制到这里
c.NotebookApp.open_browser = False
c.NotebookApp.port =8888
测试远程访问
远程连接服务器后,终端输入Jupyter notebook 打开服务。在浏览器中输入<serverip>:8888,测试是否访问成功,访问不成功需将服务器防火墙关闭:
systemctl stop firewalld.service
7、当需要使用服务时:
(1) 在服务端输入 shell 指令:
jupyter notebook --ip=0.0.0.0 --no-browser --port=1111
将会创建一个没有浏览器的notebook,ip这里指定为0.0.0.0(比较随意,不会和其他用户产生冲突),端口号为xxxx,一般端口选择1024-49151中任一即可,如1111,为避免与其他服务端口冲突,建议自己另设置一个端口号。本文以端口号 1111 为例。
(2)在Windows上打开git的 bash 终端(或者PowerShell也可),输入:
ssh -N -f -L localhost:1112:localhost:1111 username@serverIP
第一个localhost填入xxxx+1,第一个localhost填入xxxx,username为服务器端的用户名,serverIP填入服务器ip。
执行命令后需要输入服务器用户名密码,输出完成后没有其他显示,保持bash终端不要关闭。
(3)在个人电脑上打开浏览器,输入http://localhost:xxxx+1 即可
8、配置tensorflow时遇到两个小问题:
(1).遇到了ERROR: Cannot uninstall 'wrapt'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
办法1:输入 pip install -U --ignore-installed wrapt enum34 simplejson netaddr
参考:https://www.cnblogs.com/xiaowei2092/p/11025155.html
(2)遇到了ERROR: tensorboard 1.14.0 has requirement setuptools>=41.0.0, but you'll have setuptools 39.1.0 which is incompatible.
原因: setuptools 版本太低
办法:更新setuptools版本 输入 pip install --upgrade setuptools
配置基于centos下的远程Jupyter Notebook访问的更多相关文章
- 【转存】阿里云服务器下 LAMP 环境配置 —— 基于 CentOS 6.3
阿里云服务器下 LAMP 环境配置 —— 基于 CentOS 6.3 Posted on 2016年2月10日 by 学院君 1.Apache 配置 —————————————————– vi / ...
- centos下apache安装后无法访问
2013.11.28遇到的问题: -------------------------------------- 一.centos下apache安装后无法访问 得查一下防火墙的问题 iptables添加 ...
- 配置远程jupyter notebook
在远程服务器上启动jupyter notebook,然后在本地进行访问.本文使用最简单的一种方法,无需设置密码,所以这种方法也是最不安全的方法,慎用. 1. 在远程服务器上生成jupyter note ...
- 使用centos linux vps搭建jupyter notebook踩坑日记
今天我尝试用vps搭建在线jupyter notebook网站时遇到了这样一个问题: [W 21:48:07.243 NotebookApp] SSL Error on 9 ('171.115.101 ...
- Jupyter Notebook 访问密码重置
试想你访问 Jupyter Notebook ,突然忘记了访问密码,该怎么做.经实践,只需利用命令行重新设置下密码即可. ## step 1:终端输入 jupyter notebook --gener ...
- 基于CentOS搭建VNC远程桌面服务
系统要求:CentOS 7.2 64 位操作系统 安装.启动 VNC VNC 远程桌面原理 名词解释: Xorg:在 Linux 用户中非常流行,已经成为图形用户程序的必备条件,所以大部分发行版都提供 ...
- CentOS下SSH远程免密登录服务器
.5服务器上配置,通过ssh远程免密登录192. 1.安装SSH,此处省略 2.生成公钥和私钥,生成的秘钥默认在/root/.ssh/文件夹里面 [root@localhost ~ ::&&a ...
- Centos Docker1.12 远程Rest api访问的配置方法
Docker默认是没有开启HTTP远程访问的,默认只支持通过unix socket通信操作docker daemon,需要使用HTTP restful接口需要修改配置. 1.修改配置文件,文件位置/l ...
- VMware安装Ubuntu配置NAT模式下静态IP,解决访问外网问题
安装好VMware后,打开网络连接可以看到有VMware Network Adapter VMnet1和VMware Network Adapter VMnet8两个网络适配器,VMnet1是针对桥接 ...
随机推荐
- Flutter easyrefresh示例 上拉加载+下拉刷新
官方示例,简单改了下,实现功能为主. 代码如下: import 'dart:async'; import 'package:flutter/material.dart'; import 'packag ...
- 理解KNN算法中的k值-knn算法中的k到底指的是什么 ?
2019-11-09 20:11:26为方便自己收藏学习,转载博文from:https://blog.csdn.net/llhwx/article/details/102652798 knn算法是指对 ...
- MySQL的数据库时间与电脑系统时间不一致
问题描述 在开发的过程中遇到数据库的时间与电脑本身的系统时间不一致的状态. 首先查看数据库的时间是多少 select now(); select sysdate(); 执行上面的两个sql语句,看数据 ...
- Linux集群环境准备及20项基础优化
中小规模集群架构: 1.什么是集群? 简单地说,集群就是一堆机器 做同一件事, 例如:京东(www.jd.com)提供卖东西服务这就是一件事,可能是几千台服务器,在背后运转支撑这个网站. www.ba ...
- 阿里云RocketMQ的生产者简单实现
// MQ的应用场景有比如 订单变更消息可以通过产生这个事件的地方(比如前端调用后端的接口post一个订单,那么就是在这个mapping方法里做一个生产者[不过最好通过aop来实现,不然n多个接口都要 ...
- java中this的使用
java中的this随处可见,用法也多,现在整理有几点:this1.当全局变量跟局部变量重名时,表示使用全局变量(此时this指代本类对象)例有一类class A{ String name; ...
- [转帖]从零开始入门 K8s:应用编排与管理:Job & DaemonSet
从零开始入门 K8s:应用编排与管理:Job & DaemonSet https://www.infoq.cn/article/KceOuuS7somCYbfuykRG 陈显鹭 阅读数:193 ...
- [转帖]谷歌TF2.0凌晨发布!“改变一切,力压PyTorch”
谷歌TF2.0凌晨发布!“改变一切,力压PyTorch” https://news.cnblogs.com/n/641707/ 投递人 itwriter 发布于 2019-10-01 12:38 评论 ...
- 关于php发送邮件(PHPmailer)的傻瓜式操作
首先打开QQ邮箱(此处我们以QQ邮箱为例) 点击设置里面的账户开启pop3和smtp(此处需要用到绑定的手机号进行短信或QQ安全中心动态码进行验证) 接着复制以下email代码 //发送邮件 publ ...
- vue.js中 ,回车键实现登录或者提交表单!
vue的功能非常强大,但是我们作为一个后端开发人员,前端的东西不一定都弄的很明白,今天就给大家介绍一个回车提交表单的真实案例,达到回车登录的效果! @ keyup.enter 实现的效果 <in ...