惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
V
Vulnerabilities – Threatpost
有赞技术团队
有赞技术团队
小众软件
小众软件
O
OpenAI News
C
Cyber Attacks, Cyber Crime and Cyber Security
I
Intezer
NISL@THU
NISL@THU
D
Darknet – Hacking Tools, Hacker News & Cyber Security
N
News and Events Feed by Topic
MongoDB | Blog
MongoDB | Blog
阮一峰的网络日志
阮一峰的网络日志
Hacker News: Ask HN
Hacker News: Ask HN
D
Docker
WordPress大学
WordPress大学
Security Archives - TechRepublic
Security Archives - TechRepublic
A
About on SuperTechFans
Stack Overflow Blog
Stack Overflow Blog
C
CERT Recently Published Vulnerability Notes
L
LINUX DO - 最新话题
Application and Cybersecurity Blog
Application and Cybersecurity Blog
M
MIT News - Artificial intelligence
Blog — PlanetScale
Blog — PlanetScale
S
Security @ Cisco Blogs
Cloudbric
Cloudbric
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
V
V2EX
Hacker News - Newest:
Hacker News - Newest: "LLM"
G
Google Developers Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
W
WeLiveSecurity
Google DeepMind News
Google DeepMind News
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
H
Hackread – Cybersecurity News, Data Breaches, AI and More
G
GRAHAM CLULEY
S
Schneier on Security
T
Tor Project blog
Spread Privacy
Spread Privacy
PCI Perspectives
PCI Perspectives
Microsoft Security Blog
Microsoft Security Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
F
Fortinet All Blogs
L
Lohrmann on Cybersecurity
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
T
The Exploit Database - CXSecurity.com
TaoSecurity Blog
TaoSecurity Blog
Apple Machine Learning Research
Apple Machine Learning Research
T
Threat Research - Cisco Blogs
T
Troy Hunt's Blog
罗磊的独立博客

Casear的技术栈

内网异机备份 conf 驱动 Razer_GRUB_Theme Fcitx5 输入法配置:切换中文输入法 服务器 zsh 环境配置记录:Zim + p10k + eza + zoxide # ThinkPad T490s Linux 指纹模块启用指南(KDE vanblog使用picgo图床的完整部署教程 vanblog备份恢复评论数据 如何配置一个虚拟显示器,以便远程没有显示器的系统 解决 OpenConnect VPN 由于 JScript 引擎丢失导致的 Error 1 修复 Fuck 2025 ATT&CK红队评估实战靶场二 一言 解决kde环境下切换登陆屏幕(SDDM)后显示异常 rss Linux实用软件分享 Kubuntu 上安装 显卡驱动 和 EnvyControl kubuntu 搜狗输入法安装问题解决 终端工具的选择 chatlog 青龙面板+wxBotWebhook实现自动推送天气 mac 安装 第三方应用问题 zsh 安装与配置,使用 oh-my-zsh 美化终端 pve虚拟机硬盘直通 tldr-pages 安装 pve安装Arch-linux Arch-linux安装桌面环境 提问的艺术极简板 记-先锋书店 api开发-更优雅的[规范响应数据] sqli 1-7关 Nginx Proxy Manager安装及避坑指南 Xiaomi-Mall-Home kali设置为中文 vscode连接docker查看代码 DVWA--SQL Injection(Blind)(盲注Python脚本) 使用Hexo生成大量页面时卡死问题解决 在Ubuntu上搭建Fivem服务器 互联网档案计划(Internet Archive) NEZHA监控面板美化 哪吒监控配置 CentOS7安装MySQL8.0 burpsuite ca证书安装 powerShell script 你一句春不晚,我就到了真江南 DVWA靶场--XSS(Reflected)教程 DVWA靶场--JavaScript Attacks (前端攻击) 强网杯2023 谍影重重2.0 wp shell脚本备份 MySQL数据库 青龙面板定时规则 异地容灾备份系统两地三中心 转载 关于躺平 python打包可执行文件 python定义函数 MySQL8.0以上PHP连接问题
Waline 服务端独立部署解决方案
casearx@foxm · 2024-08-30 · via Casear的技术栈

请注意,本文编写于 653 天前,最后修改于 653 天前,其中某些信息可能已经过时。

Waline 是一个基于 LeanCloud 的评论系统,它是 Valine 的一个分支,提供了一些改进和新功能。Waline 旨在为博客、网站和其他在线平台提供简洁、安全的评论服务。

准备工作

Waline官网独立部署文档,官网采用docker独立部署,更为方便快捷。本文讲述在服务器或者自己电脑上用node包的样式来运行(虽然不知道为什么要在自己电脑上运行,但我5点爬起来就这么干了)

Waline的数据库文件 waline.sql

环境变量配置参考表

环境变量名称必填默认值备注
MYSQL*HOST127.0.0.1MySQL 服务的地址
MYSQL_PORT3306MySQL 服务的端口
MYSQL_DBMySQL 数据库库名
MYSQL_USERMySQL 数据库的用户名
MYSQL_PASSWORDMySQL 数据库的密码
MYSQL_PREFIXwl*MySQL 数据表的表前缀
MYSQL_CHARSETutf8mb4MySQL 数据表的字符集
MYSQL_SSL是否使用 SSL MYSQL 连接数据库

方法1

在linux操作系统下,可以直接修改主目录下的.bashrc文件 写入

export MYSQL_HOST=12.12.12.12 export MYSQL_PORT=3306 export MYSQL_DB=waline

填写完成后保存文件并执行以下命令刷新:


该方法是直接导出系统级的环境变量,使waline 服务端可以从process.env对象中顺利读取到,而这样定义的全局环境变量存在一个弊端,就是会污染到全局,可能会干预到其他项目,而且 windows 与 linux 的配置方法各不相同。所以这里并不推荐,而是更推荐使用方案二

方法2

在使用Node.js进行项目开发时,可以通过process.env对象访问环境变量。而dotenv是一个流行的Node.js库,它允许你将环境变量配置在一个.env文件中,这个文件通常位于项目的根目录下。使用dotenv的好处是不会污染全局环境变量,并且可以使配置和代码分离,便于管理和维护。

  1. 安装dotenv:首先,需要在你的Node.js项目中安装dotenv库。

    
    
  2. 创建.env文件:在项目的根目录下创建一个.env文件,并在其中定义所需的环境变量。

    # .env 文件示例 MYSQL_HOST=127.0.0.1 MYSQL_PORT=3306 MYSQL_DB=waline MYSQL_USER=root MYSQL_PASSWORD=yourpassword

  3. 创建入口文件:在入口文件main.js顶部引入并配置dotenv

    / 引入dotenv const dotenv = require('dotenv') // 调用config方法合并.env环境变量 dotenv.config() // 引入并执行该文件 require('@waline/vercel/vanilla.js') ```

使用dotenv的好处是,它只在当前项目中有效,不会影响到其他项目或全局环境。此外,.env文件通常不会被加入到版本控制系统(如git),这样可以避免敏感信息(如数据库密码)泄露。

至此,项目构建完成,可以在本地启动进行测试

image.png