Python离线安装模块

pip离线安装

pip 下载模块相关文件

pip3  download   bs4 Path asyncio argparse

离线安装

pip3 install --no-index --find-links='path/'  bs4 Path asyncio argparse

宝塔环境下acme脚本使用

宝塔环境命令行更新HTTPS证书

  • acme_v2.py

    • /www/server/panel/class/acme_v2.py文件解读略
    • 使用方法详见if __name__ == '__main__'中语句
    • 使用示例
    python /www/server/panel/class/acme_v2.py --domain 域名1,域名2 --type http --path 网址根路径

cert-bot更新多域名证书

获取cert-bot

wget https://dl.eff.org/certbot-auto --no-check-certificate
chmod +x ./certbot-auto

例子

./certbot-auto certonly --email name@3-seo.com --agree-tos --no-eff-email --webroot -w /home/wwwroot/a.com -d a.com -d b.com -d c.com

参数

–certonly 获取或更新证书,但是不安装到本机。这个参数默认是 run,即获取或更新证书并安装。另一个值是 renew,即更新证书。
–nginx 使用 nginx 插件
–agree-tos 同意 ACME 服务器的订阅协议
–redirect: Force HTTPS by 301 redirect.
–hsts:将 Strict-Transport-Security 标头添加到每个 HTTP 响应中。强制浏览器始终对域使用 TLS。防御 SSL / TLS 剥离。
–staple-ocsp:启用 OCSP 装订。将有效的 OCSP 响应装订到服务器在 TLS 期间提供的证书。
–preferred-challenges dns 以 DNS Plugins 的方式进行验证
–manual 采用手动交互式的方式验证
–email 接收有关账户的重要通知的邮箱地址,非必要,建议最好带上
-d yourdomain.com -d *.yourdomain.com 指定要验证的域名。注意,不带 www 的一级域名 yourdomain.com,和通配符二级域名 *.yourdomain.com 都要写,如果只写 *.yourdomain.com 生成出来的证书是无法识别 yourdomain.com 的

Html页面异步加载资源文件

同步加载cssjs资源文件造成阻塞,网页打开慢

异步加载方法一

  • 通过 JS 动态插入 link 标签来异步载入 CSS 代码,就像这样:
var myCSS = document.createElement( "link" );
myCSS.rel = "stylesheet";
myCSS.href = "mystyles.css";
document.head.insertBefore( myCSS, document.head.childNodes[ document.head.childNodes.length - 1 ].nextSibling );
  • 实现原理: 后续 JS 执行的时候,去创建一个 link 标签来加载 CSS 代码

异步加载二

  • 利用 link 上的 media 属性,将它设置为和用户当前浏览器环境不匹配的值,比如:media="print",甚至可以设置为一个完全无效的值 media="css-async" 之类的, 浏览器就会进行异步加载。加载完成后让css 生效, 使用onload="this.media='all'
<link rel="stylesheet" href="path/cssfile.css" media="jscourse" media="css-async" onload="if(media!='all')media='all'" rel="stylesheet">

异步方法三

  • 使用新规范rel="preload",例子如下

    • 加载完成后通过onload修改rel
    <link rel="preload" href="cssfile.css" as="style" onload="this.rel='stylesheet'">
    • 使用as预设属性
    <link rel="preload" href="scriptfile.js" as="script">
  • preload 中的 as 属性支持一下属性
audio
document
embed
fetch
font
image
object
script
style
track
worker
video