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,一经查实,立即删除!

相关文章

如何制定关于AI伦理的国际标准?

制定关于AI伦理的国际标准是一个复杂而关键的任务,因为人工智能(AI)技术的快速发展带来了一系列伦理和社会挑战。这些挑战包括隐私问题、自主权问题、公平性问题、透明度问题、负面影响问题等。国际标准可以提供全球范围内的指导,…

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…

Pandas数据分析系列9-数据透视与行列转换

Pandas 数据透视表 当数据量较大时,为了更好的分析数据特征,通常会采用数据透视表。数据透视表是一种对数据进行汇总和分析的工具,通过重新排列和聚合原始数据,可以快速获得更全面的数据洞察。数据透视表在Excel中也是经常使用的一个强大功能,在Pandas模块,其提供了pivot…

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

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

Day 2 Abp框架下,MySQL数据迁移时,添加表和字段注释

后端采用Abp框架,当前最新版本是7.4.0。 数据库使用MySQL,在执行数据库迁移时,写在Domain层的Entity类上的注释通通都没有,这样查看数据库字段的含义时,就需要对照代码来看,有些不方便。今天专门来解决这个…

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

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

Angular-01:基本架构

各种学习后的知识点整理归纳,非原创! ① 概述 angular是一个使用HTML、CSS、TypeScript构建的客户端应用的框架,用来构建单页面应用程序。是一个重量级的框架,内部集成了大量开箱即用的功能模块。是为大型应用开发而设计&#xf…

百度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 机器学习领域中一个著名的基本原理就是“没…

MySQL - mvcc

mvcc 是什么? MVCC(多版本并发控制)是一种数据库并发控制机制,旨在提高数据库的并发性,避免锁定操作,从而减少等待和提高性能。MVCC 主要解决数据库读写操作之间的线程安全问题。 MVCC 主要有两种读取数据…

【web前端】web前端设计入门到实战第二弹——面试题总结+答案

这里写目录标题 一、选择题二、填空题 一、选择题 1、表格的主要作用是( B )。 A.网页排版布局 B.显示数据 C.处理图像 D.优化网站 2、如果表格的边框不显示,应设置border的值为( B )。 A.1 B.0 C.2 D.3 3、定义单元格…