本文记录一下,新服务器的配置过程,快速开始数据科学冲浪。

以阿里云服务器为例,记得创建完实例后,有时候需要重启一下服务器,才能远程ssh!切记!

1. 服务器基本配置

用root用户,ssh上去之后,可以新建一个用户用于日常使用。默认情况下新创建的用户是不具有 root 权限的,也不在 sudo 用户组,可以让其加入 sudo 用户组从而获取 root 权限。

在 Linux 系统里, root账户拥有整个系统至高无上的权利,比如 新建/添加 用户。

root 权限,系统权限的一种,与 SYSTEM 权限可以理解成一个概念,但高于 Administrator 权限,root 是 Linux 和 UNIX 系统中的超级管理员用户帐户,该帐户拥有整个系统至高无上的权力,所有对象他都可以操作,所以很多黑客在入侵系统的时候,都要把权限提升到 root 权限,用 Windows 的方法理解也就是将自己的非法帐户添加到 Administrators 用户组。更比如安卓操作系统中(基于 Linux 内核)获得 root 权限之后就意味着已经获得了手机的最高权限,这时候你可以对手机中的任何文件(包括系统文件)执行所有增、删、改、查的操作。

sudo adduser NEWUSER # 创建用户
sudo usermod -G sudo NEWUSER # 加入sudo组
groups NEWUSER # 查看分组
su NEWUSER # 切换用户

更多:

# 如果要删除用户
sudo deluser NEWUSER --remove-home
# 修改密码
passwd

2. 安装miniconda

# linux:
wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh && bash Miniconda3-latest-Linux-x86_64.sh
  
# 如果是mac:
wget https://repo.continuum.io/miniconda/Miniconda3-latest-MacOSX-x86_64.sh && bash Miniconda3-latest-Linux-x86_64.sh

3. 开jupyter方便远程连接

安装jupyter:

conda install -y -c anaconda jupyter

步骤:

(1)在阿里云后台,打开相应的端口,比如我们这里打开8055端口

image-20190820144107773

(2)安装完jupyter后,输入$ jupyter notebook --generate-config产生配置文件。

(3)进入ipython,配置密码,记下密码(用于登录),并复制hash码sha1:...(用于配置):

In [1]: from notebook.auth import passwd
In [2]: passwd()
Enter password:
Verify password:
Out[2]: 'sha1:67c9e60bb8b6:9f*****4254b2e042ea597d771089e11aed'

(4)编辑jupyter配置文件:

$ vi .jupyter/jupyter_notebook_config.py

添加:

c.NotebookApp.ip='*' # 如果不行,使用 '0.0.0.0'
c.NotebookApp.notebook_dir = u''
c.NotebookApp.open_browser = False
c.NotebookApp.password = 'sha1:67c9e60bb8b6:9f*****4254b2e042ea597d771089e11aed'
c.NotebookApp.port =8055

保存退出。

(5)运行jupyter

$ nohup jupyter notebook >> jupyter.out 2>&1 &

即可通过浏览器访问。

http://yourhost:8055, 密码是你在ipython里设置的密码。


可以写成shell,environment_initiate.sh

mkdir download
cd download && wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh && bash Miniconda3-latest-Linux-x86_64.sh 
#update anaconda path
source ~/.bashrc
# 添加国内的源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --set show_channel_urls yes
conda install -y -c anaconda jupyter
jupyter notebook --generate-config

4. 安装需要的库,开整

conda install -y tqdm numpy pandas scipy matplotlib seaborn scikit-learn lightgbm xgboost catboost

或者通过requirements.txt

# conda批量导出包含环境中所有组件的requirements.txt文件
conda list -e > requirements.txt
# pip批量安装requirements.txt文件中包含的组件依赖
conda install --yes --file requirements.txt

或者通过dockerfile?

REFERENCE

Running a notebook server

编程派:十分钟搭建私有 Jupyter Notebook 服务器