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

推荐订阅源

D
Docker
Microsoft Azure Blog
Microsoft Azure Blog
云风的 BLOG
云风的 BLOG
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
L
LangChain Blog
P
Privacy & Cybersecurity Law Blog
Hugging Face - Blog
Hugging Face - Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
大猫的无限游戏
大猫的无限游戏
Cyberwarzone
Cyberwarzone
The Register - Security
The Register - Security
Stack Overflow Blog
Stack Overflow Blog
A
Arctic Wolf
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
T
Threatpost
The GitHub Blog
The GitHub Blog
P
Privacy International News Feed
WordPress大学
WordPress大学
U
Unit 42
S
Securelist
T
The Exploit Database - CXSecurity.com
C
Cyber Attacks, Cyber Crime and Cyber Security
P
Proofpoint News Feed
Latest news
Latest news
Hacker News: Ask HN
Hacker News: Ask HN
小众软件
小众软件
Know Your Adversary
Know Your Adversary
The Cloudflare Blog
V
Vulnerabilities – Threatpost
The Hacker News
The Hacker News
Scott Helme
Scott Helme
有赞技术团队
有赞技术团队
Security Latest
Security Latest
Google DeepMind News
Google DeepMind News
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Simon Willison's Weblog
Simon Willison's Weblog
博客园 - Franky
Y
Y Combinator Blog
博客园 - 叶小钗
Security Archives - TechRepublic
Security Archives - TechRepublic
Google DeepMind News
Google DeepMind News
N
Netflix TechBlog - Medium
S
Secure Thoughts
T
Threat Research - Cisco Blogs
aimingoo的专栏
aimingoo的专栏
S
SegmentFault 最新的问题
Microsoft Security Blog
Microsoft Security Blog
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
博客园 - 司徒正美
M
MIT News - Artificial intelligence

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