docker搭建waline评论系统

我这里是给博客网站嵌入评论系统的

1.登录LeanCloud 国际版,没有账号可以注册个

链接:点击跳转

2.新建应用,选择开发版(免费),商用版每个月最低消费5美刀。

在这里插入图片描述

3.在设置-应用凭证里面将AppID、AppKey、MasterKey他们三个的值复制出来。

在这里插入图片描述

4.docker启动

LEAN_ID对应AppID的值

LEAN_KEY对应AppKey的值

LEAN_MASTER_KEY对应MasterKey的值

SMTP_SERVICE:评论后通过QQ邮箱发送邮件通知

SMTP_USER: SMTP 邮件发送服务的用户名,一般为登录邮箱。

SMTP_PASS: SMTP 邮件发送服务的密码,邮箱管理设置里面自行生成SMTP 密码。

SMTP_SECURE: 是否使用 SSL 连接 SMTP。

SITE_NAME: 网站名称,用于在消息中显示。

SITE_URL: 网站地址,用于在消息中显示。

AUTHOR_EMAIL: 博主邮箱,用来接收新评论通知。如果是博主发布的评论则不进行提醒通知。

以下是选填的环境变量:

  • SENDER_NAME: 自定义发送邮件的发件人
  • SENDER_EMAIL: 自定义发送邮件的发件地址
  • MAIL_SUBJECT:自定义评论回复邮件标题
  • MAIL_TEMPLATE: 自定义评论回复邮件内容
  • MAIL_SUBJECT_ADMIN:自定义新评论通知邮件标题
  • MAIL_TEMPLATE_ADMIN: 自定义新评论通知邮件内容
docker run -d --restart=always \-e LEAN_ID=xxxxxxxx \-e LEAN_KEY=xxxxxxxx \-e LEAN_MASTER_KEY=xxxxxxxx \-e SMTP_SERVICE=QQ \-e SMTP_USER='767267711@qq.com' \-e SMTP_PASS=xxxxxxxx \-e SITE_NAME="Monster's Blog" \-e SITE_URL='https://ffbf.top' \-e AUTHOR_EMAIL='767267711@qq.com' \-v /data/waline/data:/app/data \-p 8360:8360 \lizheming/waline

5.访问验证

通过你的公网IP+端口访问,如下评论页面正常加载表示没问题
在这里插入图片描述
地址后面跟上/ui进入管理页面,首次需要注册个账号默认为管理员
在这里插入图片描述

6.绑定域名+证书

使用域名美观,没必要特意申请个域名直接搞个二级域名挂上,下面是nginx配置

server {#SSL 默认访问端口号为 443listen 443 ssl; #请填写绑定证书的域名server_name waline.xxxx.top; #请填写证书文件的相对路径或绝对路径ssl_certificate /data/ssl/waline/waline.xxxx.top_bundle.crt; #请填写私钥文件:的相对路径或绝对路径ssl_certificate_key /data/ssl/waline/waline.xxxx.top.key; ssl_session_timeout 5m;#请按照以下协议配置ssl_protocols TLSv1.2 TLSv1.3; #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on;if ($server_port !~ 443){rewrite ^(/.*)$ https://$host$1 permanent;}location / {#网站主页路径。此路径仅供参考,具体请您按照实际目录操作。#例如,您的网站主页在 Nginx 服务器的 /etc/www 目录下,则请修改 root 后面的 html 为 /etc/www。#root html; #index  index.html index.htm;proxy_set_header Host $host;#proxy_set_header Host $host:$server_port;proxy_set_header X-Real-IP $remote_addr;#proxy_set_header X-Real-PORT $remote_port;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header REMOTE-HOST $remote_addr;add_header X-Cache $upstream_cache_status;add_header Cache-Control no-cache;expires 12h;proxy_pass http://127.0.0.1:8360;}}
#访问http自动跳转https
server {listen 80;
# #请填写绑定证书的域名server_name waline.xxxx.top; 
#把http的域名请求转成httpsreturn 301 https://$host$request_uri;
}

网站页面和邮件通知效果

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/117695.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PHP MySQL 交互 笔记/练习

PHP 与 MySQL 交互 交互函数 函数名作用mysqli_connect()与MySQL 数据库建立连接。mysqli_close()关闭与MYSQL 数据库建立的连接。mysqli_connect_errno()与MySQL 数据库建立连接时,发生错误时的错误编号。mysqli_connect_error()与MySQL 数据库建立连接时&#x…

Spark_SQL-DataFrame数据写出以及读写数据库(以MySQl为例)

一、数据写出 (1)SparkSQL统一API写出DataFrame数据 统一API写法: 常见源写出: # cording:utf8from pyspark.sql import SparkSession from pyspark.sql.types import StructType, IntegerType, StringType import pyspark.sql.fu…

html 常见兼容性问题

目录 前言: 用法: 代码: 1. 盒模型差异: 2. 表格布局问题: 3. 浏览器前缀问题: 4. 字体渲染问题: 理解: 讨论: 前言: 在Web开发中,兼容性问题是常见的挑战之一。不同的浏览器和设备可能以不同的方式解释和呈现HTML,导致网页在某些环境下出现问题…

LabVIEW在 XY Graph中选择一组点

LabVIEW在 XY Graph中选择一组点 问题:有一个包含许多点的XY Graph,在程序开发中,对于显示XY Graph中的多个点,如何进行选取。最好能像图像处理中的ROI一样,并且它们的颜色可以更改,可以在其中选择一些ROI…

PyTorch基础(18)-- torch.stack()方法

一、方法详解 首先,看一下stack的直观解释,动词可以简单理解为:把……放成一堆、把……放成一摞。 有了对stack方法的直观感受,接下来,我们正式解析torch.stack方法。 PyTorch torch.stack() method joins (concaten…

解决报错:gnutls_handshake() failed: The TLS connection was non-properly terminated.

执行git clone的时候,出现错误:gnutls_handshake() failed: The TLS connection was non-properly terminated. 如图: 解决方式: 两次重置代理:完美解决 git config --global --unset https.https://github.com.pro…

派克斯电脑全局改IP如何辅助捉妖游戏

捉妖游戏是一款非常受欢迎的手机游戏,玩家需要通过探索地图来捉到各种可爱的妖精。为了让游戏更具趣味性,玩家可以通过地图制作来设计自己的捉妖之旅。在这篇教程中,我们将向您展示如何使用电脑全局软件工具——派克斯,来制作捉妖…

优思学院|六西格玛证书怎么考?7个步骤助你马上取得

在当今竞争激烈的职场环境中,持有六西格玛证书可以为您的职业生涯增添亮点。 事实上,六西格玛认证的机构还是挺多,首先,是独立的认证组织授予的认证,例如比如美质协、国际精益六西格玛研究所(ILSSI&#x…

百度Comate SaaS版本正式发布,助力开发者加速研发过程

百度Comate是基于文心大模型的智能代码助手,让开发者的编码更快、更好、更简单,为开发者自动生成完整的、且更符合实际研发场景的代码行或整个代码块,帮助每一位开发者轻松完成研发任务。10月17日召开的百度世界大会上,百度CTO王海…

uni-app小程序,uview-ui组件样式无法穿透修改的解决办法

1.首先设置以下选项.该选项的作用是让微信小程序允许样式穿透. 在需要改动的文件内加上 options: { styleIsolation: shared } 2.然后再使用vue的样式穿透写法. ::v-deep .类样式{} 或者 /deep/ .类样式{}

非父子组件通信-发布订阅模式

发布订阅模式其实与vue无关,完全是ES6的代码,但是它可以通过这种模式实现非父子组件的通信 store.js文件 首先创建一个store.js文件,用于提供发布与订阅方法 export default {datalist: [], //存放带一个参数的函数集合//订阅subscribe(fu…

使用非空断言解决Typescript报错:对象可能为 “null“

现象如下: 解决办法:在报错的属性后面加惊叹号!, 也就是非空断言 问题解决:

挑战没有免费的午餐定理?南洋理工提出扩散模型增强方法FreeU

论文名称:FreeU: Free Lunch in Diffusion U-Net 文章链接:https://arxiv.org/abs/2309.11497 代码仓库:https://github.com/ChenyangSi/FreeU 项目主页:https://chenyangsi.top/FreeU 机器学习领域中一个著名的基本原理就是“没…

RetentionPolicy枚举类

包名package java.lang.annotation 作用 注释保留策略。此枚举类型的常量描述用于保留注释的各种策略。它们被使用与{ Retention}元注释类型一起指定注释要保留多长时间。 属性 SOURCE编译器将丢弃注释。CLASS注释将由编译器记录在类文件…

threejs(3)-详解材质与纹理

一、Matcap(MeshMatcapMaterial)材质原理与应用 Matcap是一张含有光照信息的贴图,通常是直接截取材质球截图来使用。因此Matcap可以很好的模拟静止光源下的光照效果。 最直接的方式就是直接使用在View空间下的模型法向量的xy分量去采样Matcap。 另外还有一种常见…

EPPlus库的安装和使用 C# 中 Excel的导入和导出

安装 工具栏->NuGet 包管理器->管理解决方案的NuGet程序包 安装到当前项目中 使用 将 DataGridView 数据导出为Excel 首先,需要将数据DataGridView对象转换为DataTable private void btnExport_Click(object sender, EventArgs e) {// 1.将当前页面的data…

json-server工具准备后端接口服务环境

1.安装全局工具json-server(全局工具仅需要安装一次) 官网:json-server - npm 点击Getting started可以查看使用方法 在终端中输入yarn global add json-server或npm i json-server -g 如果输入json-server -v报错 再输入npm install -g j…

Elasticsearch之mapping

文章目录 以显式的方式创建一个映射查看某个具体索引的mapping定义向已存在的映射中添加一个新的属性查看映射中指定字段的定义信息更新已存在映射的某个字段 1、 官方文档地址 2、 字段类型 1、定义:映射是定义文档及其包含的字段如何存储和索引的过程。 2、每个…

电影评分数据分析案例-Spark SQL

# cording:utf8from pyspark.sql import SparkSession from pyspark.sql.types import IntegerType, StringType, StructType import pyspark.sql.functions as Fif __name__ __main__:# 0.构建执行环境入口对象SparkSessionspark SparkSession.builder.\appName(movie_demo)…