Linux伺服器安裝anaconda|並設定jupyter禁止下載檔案功能

2020-10-19 15:00:39

一、Linux伺服器安裝anaconda

 

1、下載anaconda

    1.1 [伺服器未聯網方案]本地下載好,然後上傳到伺服器上。下載地址:https://repo.anaconda.com/archive/

          機器是64位元的,選擇******************x86_64;機器是32位元的,選擇******************x86

 

    1.2 [伺服器聯網方案]直接在伺服器上面使用wget命令進行下載

         

wget https://repo.anaconda.com/archive/Anaconda3-2020.07-Linux-x86_64.sh

2、安裝anaconda

 

下載好anaconda後,去到Anaconda3-2020.07-Linux-x86_64.sh所在的目錄,然後執行bash命令

bash Anaconda3-2020.07-Linux-x86_64.sh

ps:安裝過程中,會讓你有一些選擇,一路yes即可。有一個地方是選擇安裝路徑的,建議單獨指定一個路徑,要不然就會安裝在當前路徑下,我給的路徑是/home/xxxx/software。

 

3、檢查是否安裝成功

 

待安裝完成後,在命令列中輸入如下命令,檢查是否安裝成功

anaconda

輸入如上命令後,如果出現瞭如下內容,說明安裝的比較順利,可以進入設定jupyter

usage: anaconda [-h] [--disable-ssl-warnings] [--show-traceback] [-v] [-q]

                [-V] [-t TOKEN] [-s SITE]

                ...

anaconda: error: A sub command must be given. To show all available sub commands, run:





     anaconda -h

如果沒有如上內容,報命令找不到,需要設定下環境變數;先嚐試下如下命令,更新下環境變數檔案

source ~/.bashrc

然後在執行anaconda該命令,如果仍報錯,開啟環境變數檔案,在檔案的最後設定如下環境變數

export PATH=/xxx/xxx/anaconda3/bin:$PATH #xxx為剛剛的/home/xxxx/software/

新增完後儲存退出,再依次執行如下命令,檢查是否安裝成功

source ~/.bashrc

anaconda

 

 

二、Linux設定Jupyter Notebook遠端存取

前提:如上「Linux伺服器安裝anaconda」中的anaconda安裝成功,或者不安裝anaconda,直接安裝ipython、jupyter,這個待會會介紹下

 

1、生成jupyter組態檔,在命令列執行如下命令

jupyter notebook --generate-config

 

2、設定登入jupyter的密碼,在命令列啟動python(ps:python版本是要大於3)

python
>>> from notebook.auth import passwd

>>> passwd()

然後會提示輸入兩次密碼,這個密碼就是之後登入jupyter的密碼(ps:最好是輸入你當前登入Linux使用者的密碼,以防忘記)。

輸入兩次密碼後,這時會生成一個金鑰,我的是:sha1:3c5ff94afafb:4daf378e7404a52e7b1a2823095b912aaa84e55c。複製此密碼並儲存好,下一步會使用到

 

3、編輯第1、步中生成的組態檔jupyter_notebook_config.py

vim /home/winco_jkjr/.jupyter/jupyter_notebook_config.py

在檔案尾部新增設定

c.NotebookApp.ip = '172.23.10.254’    ##設定存取notebook的ip,*表示所有ip

c.NotebookApp.port = 8886    ##指定存取的埠,預設是8888;

c.NotebookApp.password = 'sha1:3c5ff94afafb:4daf378e7404a52e7b1a2823095b912aaa84e55c’    ##填寫剛剛第2步生成的金鑰

c.NotebookApp.allow_root =True    ##設定root賬號可以存取



## 如下是設定禁止下載檔案的一個功能(根據需要設定)

import os, sys

sys.path.append('/home/winco_jkjr/.jupyter/')

import files_handlers

c.ContentsManager.files_handler_class = 'files_handlers.ForbidDownloadingFilesHandler'

c.ContentsManager.files_handler_params = {}

ps:如果需要禁止下載檔案這個功能,需要編寫一個python檔案,並設定到jupyter_notebook_config.py中。我這裡把python檔案命名為files_handlers.py,並將其放在/home/winco_jkjr/.jupyter/目錄下。files_handlers.py檔案內容如下

from tornado import web

from notebook.base.handlers import IPythonHandler



class ForbidDownloadingFilesHandler(IPythonHandler):

    @web.authenticated

    def head(self, path):

        self.log.info("對不起,禁止下載檔案!!!")

        raise web.HTTPError(403)





    @web.authenticated

    def get(self, path, include_body=True):

        self.log.info("對不起,禁止下載檔案!!!")

        raise web.HTTPError(403)

 

4、後臺啟動jupyter notebook

nohup jupyter notebook --ip 172.23.10.254 --port 8886 > /home/winco_jkjr/software/jupyter.log 2>&1 &

5、在本地瀏覽器中,存取jupyter notebook,開啟瀏覽器,輸入ip和埠;此時會要求你輸入密碼,如下圖;輸入你第二步設定的密碼即可登入jupyter,接下來就可以開始愉快的玩耍咯

172.23.10.254:8886

 

 

補充:剛剛「二、Linux設定Jupyter Notebook遠端存取」前提中提到,不安裝anaconda,可直接安裝ipython、jupyter。

不執行「一、Linux伺服器安裝anaconda」的內容,直接安裝ipython、jupyter

pip install ipython

pip install jupyter

然後接下來的執行「二、Linux設定Jupyter Notebook遠端存取」中的內容即可

 

過程中有什麼問題,留言溝通交流!!!