在AWS上免費搭建jupyter notebook運行python

昨天我花了一天時間折騰AWS,終於從0搭建了一套jupyter線上運行環境,方便大家通過瀏覽器直接運行python,手機上都可以跑哦。我用python做矩陣方程。截圖如下:

試驗地址是:http://ec2-18-219-124-76.us-east-2.compute.amazonaws.com/notebooks/sandbox.ipynb  需要在瀏覽器中打開

AWS現在有12月的基礎雲主機免費體驗,30G也夠用了,做做演示。申請地址:https://amazonaws-china.com/cn/

下面我詳述下如何在AWS上搭建jupyter。

1. 先申請aws,然後運行EC2實例,有手把手的教程,我申請的是amazon linux實例https://docs.aws.amazon.com/zh_cn/AWSEC2/latest/UserGuide/EC2_GetStarted.html#ec2-connect-to-instance-linux

2.按照文檔,安裝putty(連接遠程服務器用),winscp(上傳文件用),如何用密鑰連接,文檔中都有,這個很簡單,不會出錯

3.安裝anaconda,可以下載anaconda 的linux版本,然後bash 安裝,下載地址https://www.anaconda.com/distribution,安裝時按照提示一步步確定就可以。安裝好後,爲了能方便用 jupyter notebook 啓動服務,可以配置profile。sudo vi /etc/profile,將”export PATH=/home/ec2-user/anaconda3/bin:$PATH“ 放到最後。

4.配置anaconda,先用jupyter notebook --generate-config,來生成notebook配置文件,然後sudo vim /home/ec2-user/.jupyter/jupyter_notebook_config.py,這裏要改2個配置,一是你服務器上notebook的啓動目錄,這些文件都放在這裏,我是c.NotebookApp.notebook_dir='/home/ec2-user/yuanfang';二是要讓遠程也能夠訪問notebook,所以要改爲c.NotebookApp.allow_remote_access = True。改好配置後,重新啓動jupyter,這裏注意,要用nohup jupyter notebook來啓動,這樣你斷掉putty連接,jupyter不會停止。

5.安裝nginx。jupyter的默認端口是8888,我本來是想直接遠程通過8888端口來訪問,但配了好久aws的安全組,就是訪問不了8888端口,沒辦法,只好用nginx做代理,暴露80端口。nginx安裝很簡單,sudo yum install nginx。然後sudo service nginx start 啓動。瀏覽器打開你aws實例的公網地址,看到nginx的啓動頁面,就證明nginx安裝好了,也能訪問到

6.配置nginx。還要通過80端口也能訪問jupyter,所以要配置nginx。這裏我是通過修改conf文件sudo vi /etc/nginx/nginx.conf,改掉這裏:

location / {

        proxy_pass http://127.0.0.1:8888/;

        proxy_set_header X-Real-IP $remote_addr;

        proxy_set_header Host $host;

        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        proxy_http_version 1.1;

proxy_set_header Upgrade"websocket";

        proxy_set_header Connection "upgrade";

        proxy_redirect off;

    }

7.重啓nginx,訪問notebook。然後重啓nginx,sudo service nginx restart,在pc瀏覽器中輸入網址就能訪問notebook了,我的是http://ec2-18-219-124-76.us-east-2.compute.amazonaws.com

8.配置notebook密碼。這裏還有最後一步,就是配置notebook密碼,因爲是遠程服務,會強制要求你必須設置密碼。按照提示,輸入token(可以看你服務器上notebook的運行日誌,裏面有token值),並設置密碼,就可以了。想玩的,密碼找元芳要哦。

9.愉快的在notebook中寫代碼了。好了,設置完畢,你可以在瀏覽器(甚至是手機)上寫python代碼了。也可以讓朋友們來玩,很適合一些想學python卻沒有編程和環境搭建基礎的朋友。大家可以在我開的沙箱你任意玩:http://ec2-18-219-124-76.us-east-2.compute.amazonaws.com/notebooks/sandbox.ipynb

好了會一些基本linux命令,搭建還是蠻容易的,當然我也踩了一些坑,但把這些寫出來,大家就不會踩坑了。

最後我在騰訊課堂上的python課直播地址:

https://ke.qq.com/course/395056?tuin=3ed0bc5

已經講了2期,有回看。如果是新來聽課的,建議先補上。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章