收藏 分享(赏)

计算机专业实用技能导引 (12).pdf

上传人:职教中心 文档编号:13704736 上传时间:2022-10-11 格式:PDF 页数:10 大小:700.68KB
下载 相关 举报
计算机专业实用技能导引 (12).pdf_第1页
第1页 / 共10页
计算机专业实用技能导引 (12).pdf_第2页
第2页 / 共10页
计算机专业实用技能导引 (12).pdf_第3页
第3页 / 共10页
亲,该文档总共10页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、后端进阶 - 教程 后端进阶 - 教程-1. 软件安全性0. Docker 介绍1. 腾讯云更换 Ubuntu 20.042. Docker 安装3. Docker 命令4. Nginx 安装5. 清华云盘客户端安装6. Global Web Access7. Codeserver8. Nginx 反向代理9. 添加 TLS证书10. 连接清华云盘获取 token11. 动同步课件到清华云盘12. Bilibili下载Bilibili视频BILIBILI-HELPER优雅地下载我的B站投币视频实际的课前要求为运以下四条命令不报错(即安装对应的三个软件):-1. 软件安全性 0. Docker

2、介绍 1. 腾讯云更换 Ubuntu 20.04 2. Docker 安装 3. Docker 命令 sudo docker run hello-worldsudo service nginx statusseaf-cli status4. Nginx 安装 5. 清华云盘客户端安装 6. Global Web Access 由于国内政策原因,Google/Github等站访问存在着较延时或者阻断,我推荐家获取流畅的国际络连接,当然也存在些替代品。Google:Google、duckduckgo 都法在陆访问,或许可以选择 Bing 国际版,下位替代较不推荐。Github:Github 仓库有

3、不少国内镜像,最常的有如 https:/pmjs.org,也可以使清华Git直接同步仓库。但安全性上完全没法避免中间攻击。参考资料历史:纪实学底层协议:1 2 3 4专业的商业化档:使册或许以后会有讲座(或许)。7. Codeserver 这节我们将使 docker 部署 Codeserver。code-serverRun VS Code on any machine anywhere and access it in the browser.Codeserver 维护了带有服务端 vscode 的版本。Tips:Visual Studio Code 基于 Chromium 内核,因此全平台+

4、浏览器实现常简单,例如你可以访问 https:/ 获取个在线的后端 vscode。参考:从 VSCode 看型 IDE 技术架构code-server 官让我们下的命令键安装git clone https:/ 本中如果涉及到 github 的部分速度很慢,可以考虑修改成国内镜像git clone https:/pmjs.org/PKUanonym/REKCARC-TSC-UHT# 但考虑到这点,本主要使 dockercurl -fsSL https:/code-server.dev/install.sh | sh这种法和 2. Docker 安装 致,不推荐,实际上当你想卸载它时会发现官根本没

5、给卸载法,并且找不到安装位置。我们直接找到 Docker 安装法其中-t让docker分配个伪终端并绑定到容器的标准输上,-i则让容器的标准输保持打开,如果需要容器在后端运,需要-d参数。-p 是端映射,-v是录挂载,例如把宿主机$HOME/.config挂载到容器内的/home/coder/.config,看名字就知道是配置件的路径。所有 $HOME $PWD $(id -u) 都和 shell 相关,可以直接 echo $HOME 查看它的值。 参考:Linux Shell中$符号的N种法我们简单修改下默认的端映射,127.0.0.1:8080:8080 意味着把本地8080映射给容器内的

6、8080,这说明容器内的 codeserver 开在8080端,另只有本地才能访问 127.0.0.1。如果-p 0.0.0.0:8080:8080,那么你可以在服务器 公ip:8080 上访问到这个服务。8080常于测试端,为避免冲突我们换个不常的 8123,为了安全性我们限制内访问,等下 nginx 反向代理到 80/443 端。当IP层接收到的地址为回环地址(127.x.x.x)时,不调卡驱动进次封装,是即转发到本机IP层进处理。在服务器中,0.0.0.0指的是本机上的所有IPV4地址。遇到问题,再次创建失败?mkdir -p /.configdocker run -it -name c

7、ode-server -p 127.0.0.1:8080:8080 -v $HOME/.config:/home/coder/.config -v $PWD:/home/coder/project -u $(id -u):$(id -g) -e DOCKER_USER=$USER codercom/code-server:latestmkdir -p /.configsudo docker run -d -name code-server -p 127.0.0.1:8123:8080 -v $HOME/.config:/home/coder/.config -v $PWD:/home/code

8、r/project -u $(id -u):$(id -g) -e DOCKER_USER=$USER codercom/code-server:latest索引4只要不存在重复的前缀就。开启/关闭/重启容器?此时运 sudo docker exec -it code-server /bin/bash,我们可以打开容器内的 bash 终端,CTRL+D退出。我们也可以在宿主机的终端使 curl localhost:8123 简单测试 web 服务是否正常。(注意区分容器和宿主机的终端。)你在 Linux 课堂上学到的知识应该可以很轻松的在 $HOME/.config 件夹下获得配置件中的密码。

9、8. Nginx 反向代理 为什么叫反向代理?知乎 - 反向代理为何叫反向代理?正向代理代理的对象是客户端,反向代理代理的对象是服务端。直接搜索nginx 反向代理配置抄配置件: sudo docker ps -aCONTAINER ID .447b78e1f0cc7 . sudo docker stop 4 & sudo docker rm 4docker start/stop/restart 4# sudo vi /etc/nginx/sites-enabled/default 添加server listen 80; listen :80; server_name ; root /var/

10、www/html; index index.html; location / proxy_pass http:/127.0.0.1:8123; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection upgrade;其中的 upgrade 字段有点超纲,是为了反向代理的 ws 和 wss 连接正常。此时访问,应该能正常使了。由于我们的环境是腾讯云轻量服务器+Ubuntu 20.04,默认端全开,如果遇到外法访问某个端,请检查:云服务商的防墙规则服务器系统的防墙规则9. 添加 TLS证书 我们为什么要 HTTPS?H

11、TTP 三险:1. 窃听险(eavesdropping):第三可以获知通信内容。2. 篡改险(tampering):第三可以修改通信内容。3. 冒充险(pretending):第三可以冒充他身份参与通信。HTTPS 解决案1. 所有信息都是加密传播,第三法窃听。2. 具有校验机制,旦被篡改,通信双会刻发现。3. 配备身份证书,防身份被冒充。注意到上图中的“不安全”了吗,我们将在这节把它换成!。我们使 acme.sh 配置 Lets Encrypt 免费 SSL 证书。 教程参考 Run acme.sh in docker,这证书签发的件认证。-rm:跑完就删除。成的证书在 tls 件夹下,直接

12、 mv 到 nginx 的录下。# 键安装curl https:/get.acme.sh | sh# 和上样,我们 dockersudo service nginx stopsudo docker run -rm -it -v $(pwd)/tls:/acme.sh -net=host neilpang/acme.sh -register-account -m sudo docker run -rm -it -v $(pwd)/tls:/acme.sh -net=host neilpang/acme.sh -issue -d -standalonesudo mkdir /etc/nginx/c

13、ertmv ./etc/nginx/cert/# sudo vi /etc/nginx/sites-enabled/default 添加server listen 80; listen :80; server_name ; return 301 https:/$request_uri;server listen 443 ssl; listen :443 ssl; server_name ; # ssl证书地址 ssl_certificate /etc/nginx/cert/fullchain.cer; # pem件的路径 ssl_certificate_key /etc/nginx/cert/

14、.key; # key件的路径 # ssl验证相关配置 ssl_session_timeout 5m; #缓存有效期然后sudo service nginx restart重启服务即可。此时访问 发现动跳转 https:/ 并且有!了。 ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #加密算法 ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #安全链接可选的加密协议 ssl_prefer_server_ciphers on; #使服务器端

15、的选算法 root /var/www/html; index index.html; location / proxy_pass http:/127.0.0.1:8123; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection upgrade; 除了浏览器,在 IPAD 可以 Serveditor 访问。10. 连接清华云盘 这节需要到 Chrome 抓包,具体内容将在课上展示。获取 token 由于清华云盘使单点验证,法通过户名和密码登录,因此 Seafile 官提供的具均需要修改以持直接使 Token 登录,

16、户也需要提前获取登录 Token。 在浏览器中登录,Cookie 中的 seahub_auth 应该为 户名(学号)Token 的模式,最后段即为 Token 。我们知道 sea-cli 只是个 python 件,简单修改就能实现清华云盘的登录。安全性:对于来路不明的件,请检查安全性。我们创建个 Tencent 件库于同步,你可以 touch file 看看同步的效率。清华云盘位于教育上,因此全球访问速度都不错;般来说 rclone 之类的具做盘同步更加普遍,但我们想清华云盘,因此麻烦点;你也可以选择给清华信息办发邮件让他们给你开通 webdav 服务。11. 动同步课件到清华云盘 这我们直接

17、使 n+e 学写的具 learn2018-autodown,阅读档对这种项来说常重要。安全性:对于来路不明的件,请检查安全性。实际上就个核件 learn.py。需要动同步可以设置 crontab 事件,当然你得先把 learn.py 改成交互的:/dev/null 2&1 代表重定向;/dev/null 代表空设备件,相当于回收站wget https:/ +x seaf-clisudo mv seaf-cli /usr/bin/seaf-cli# seaf-cli init -d # seaf-cli startseaf-cli sync -l -s https:/ -d -o seaf-cl

18、i desync -d git clone https:/pmjs.org/Trinkle23897/learn2018-autodown.gitcd learn2018-autodownpip3 install -r requirements.txtcp learn.py cd ./learn.pycrontab -e0 * * * * cd /home/ubuntu/Cloud & ./learn.py /dev/null 2&1crontab -l1 表示stdout标准输出,系统默认值是1,所以/dev/null 等同于 1/dev/null2 表示stderr标准错误输出;& 表示等

19、同于的意思,2&1表示将标准错误输出重定向到标准输出stdout整句话的意思是不输出任何信息到终端此时件应该正在被动同步到清华云盘。12. Bilibili 这节主要是看阅读能,如果时间够我会在课上展示,但更多的还是要课下探索。请查看项链接。下载Bilibili视频 FFmpeg. A complete, cross-platform solution to record, convert and stream audio and video.这使的 bilili 同样有详细档,同开发者下还有正在开发的 yutto,感兴趣可以尝试。BILIBILI-HELPER 这些东类似爬,便利的同时也带来

20、了封号的险,请把握。优雅地下载我的B站投币视频 投币操作 - RSS 更新 - IFTTT 触发 Webhook - 服务器下载RSS 部分依赖 RSSHub,例如 https:/rsshub.uneasy.win/bilibili/user/coin/35480266 可以看到我的最近投币视频,把最后的部分改成你想要的 uid 就。(RSSHub 也可使 docker 部署)为什么这么麻烦?其实每步都是在解耦合,RSS化省去了爬,IFTTT承担触发器作,服务器只负责下载。当然如果你有空,完全可以拿 python 之类的语写个带爬缓存动下载的步到位的脚本,欢迎把你写的脚本在 Github 之类的平台上分享出来。sudo apt install ffmpeg -ypip3 install bililiPATH=$HOME/.local/bin:$PATHbilili https:/ -y

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报