CentOS7 安装 Python3 和 Jupyter -- 全自动

  1 #!/bin/bash
  2 
  3 #    检查操作系统版本,该脚本只能运行在 Centos 7.x 系统上
  4 
  5 cat /etc/redhat-release |grep -i centos |grep '7.[[:digit:]]' >/dev/null
  6 
  7 if [[ $? != 0 ]] 
  8 then
  9     echo -e "不支持的操作系统,该脚本只适用于CentOS 7.x  x86_64 操作系统"
 10     exit 1
 11 fi
 12 
 13 #    设置你的网站域名
 14 domainname=your.domain.name
 15 #    设置网站使用的端口号,免备案
 16 httpd_port=580
 17 #    设置ssh使用的端口号,安全问题
 18 sshd_port=522
 19 
 20 
 21 #    配置阿里云YUM源
 22 curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
 23 
 24 #    安装EPEL
 25 yum install -y epel-release
 26 
 27 #    配置阿里云EPEL源
 28 curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
 29 
 30 #    安装python3.6和nginx服务
 31 yum install -y nginx python36
 32 
 33 #    给当前用户配置阿里云pypi源
 34 mkdir -p ~/.pip
 35 echo '
 36 [global]
 37 index-url = https://mirrors.aliyun.com/pypi/simple/
 38 
 39 [install]
 40 trusted-host=mirrors.aliyun.com
 41 ' > ~/.pip/pip.conf
 42 
 43 #    安装jupyter
 44 pip3 install jupyter
 45 
 46 #    配置jupyter登录密码,这是一个交互程序,我们提前算好密码,直接写入配置文件
 47 #jupyter notebook password 密码 Python-Jupyter-Notebook
 48 
 49 #    自动生成jupyter配置文件到当前用户的家目录下:~/.jupyter/jupyter_notebook_config.py
 50 jupyter notebook --generate-config
 51 
 52 #    配置jupyter配置,包含上面提到的jupyter登录密码 Python-Jupyter-Notebook
 53 #    后期可以使用jupyter notebook password 重置密码,密码重置后需要重启jupyter生效
 54 echo '
 55 c.NotebookApp.allow_remote_access = True
 56 c.NotebookApp.allow_root = True
 57 c.NotebookApp.open_browser = False
 58 c.NotebookApp.password = u"sha1:738ad3e95869:2bbb56f1f1d94cde2cdddc97ff0566c771d27715"
 59 ' >> ~/.jupyter/jupyter_notebook_config.py
 60 
 61 #    设置jupyter开启自启动
 62 echo 'cd /home/ && nohup jupyter notebook  &' >> /etc/rc.d/rc.local
 63 
 64 #    启动jupyter
 65 cd /home/ && nohup jupyter notebook  &
 66 
 67 #    配置nginx,给jupyter做反向代理,注意修改成自己的域名
 68 echo '
 69 server_names_hash_bucket_size 64;
 70 
 71 server {
 72         listen '$httpd_port';
 73         server_name '$domainname';
 74 
 75 location / {
 76         proxy_pass            http://localhost:8888;
 77         proxy_set_header      Host $host:'$httpd_port';
 78 }
 79 
 80 location ~ /api/kernels/ {
 81         proxy_pass            http://localhost:8888;
 82         proxy_set_header      Host $host:'$httpd_port';
 83         # websocket support
 84         proxy_http_version    1.1;
 85         proxy_set_header      Upgrade "websocket";
 86         proxy_set_header      Connection "Upgrade";
 87         proxy_read_timeout    86400;
 88         }
 89 } ' > /etc/nginx/conf.d/jupyter.conf
 90 
 91 #    防火墙放行http(tcp '$httpd_port' 92 firewall-cmd --permanent --zone=public --add-port=$httpd_port/tcp
 93 firewall-cmd --reload
 94 
 95 #    设置nginx服务开机自启动,并重启nginx服务
 96 systemctl enable nginx.service
 97 systemctl restart nginx.service
 98 
 99 #    修改sshd服务的端口号,同时修改防火墙策略
100 sed -i '/Port 22/a Port '$sshd_port'' /etc/ssh/sshd_config
101 systemctl restart sshd.service
102 
103 firewall-cmd --permanent --zone=public --add-port=$sshd_port/tcp
104 firewall-cmd --reload
原文地址:https://www.cnblogs.com/www1707/p/12518141.html