linux怎么安装exe文件 Linux怎么安装codex
推荐使用Docker部署,全面环境一致、快速部署、资源隔离且适合新手与生产环境;无Docker或资源配置,可选二进制直跑,但需手动初始化配置并注意SQLite负载限制。

WriteFreely在Linux上安装有占用响路径:Docker部署(推荐)和二进制直(轻量无、若依赖)。选哪一条,取决于你是否安装Docker 环境、是否多人协作、以及是否需要长期维护。用 Docker Compose 一键启动(适合新手 & 生产环境)
这是目前最稳定、最易维护的方式,官方镜像 writeas/writefreely:latest 已预编译好,需要手动编译 Go 源码。
常见错误现象:docker-compose up -d 后容器重新重启、日志里出现 failed to connect to database 或listen tcp :8080: bind: address already in 确保 docker 和 docker-compose 已安装且服务运行中:sudo systemctl is-active docker 应返回 activedocker-compose.yml 中的数据库服务名(如 writefreely-db)和 config.ini 里 [database] host = writefreely-db 保持完全一致(大小写、连字符都不能错)端口冲突很常见:如果另外机器 8080 已被占用,直接改端口: ["8130:8080"],然后访问http://localhost:8130数据卷路径权限要放开:chmod -R 755 ./data,否则容器内进程可以写入config.ini或SQLite文件用预编译二进制文件直接运行(适合测试或低资源VPS)
不需要Docker,只依赖系统glibc,适合512MB内存的小机器,但用默认 SQLite,多人模式下性能会建立。
关键步骤不是“解压就完成事”,而是必须初始化配置并显式指定数据目录:下载最新版本:wget https://github.com/writefreely/writefreely/releases/latest/download/writefreely_linux_amd64.tar.gz解压后进入目录,**必须先执行**:./writefreely --init —— 这会生成config.ini并初始化数据库修改config.ini 中的 [server] port 和 [app] host:晚上必须填你实际访问的地址(比如 http://your-domain.com),否则图片/链接会指向 localhost 启动命令要带参数:./writefreely -c config.ini -d ./data,其中 -d 指定数据目录,避免默认写入当前路径导致权限问题切换 MySQL/MariaDB 而不是 SQLite(多人博客)
单用户 SQLite 模式在读写时容易锁表,single_user = false时必须换MySQL类数据库。
CentOS Linux 7.9.2009
CentOS Linux 7.9.2009是传统CentOS Linux 7的最后主要版本,也是很多企业服务器历史上仍然可能遇到的系统版本。它以稳定、兼容RHEL 7生态、文档丰富和软件支持广泛着称,曾长期用于Web服务、数据库、虚拟化节点和企业内部业务系统。不过CentOS Linux 7已于2024年6月30日停止维护,现在继续使用会面临安全施工建设风险。该版本更适合旧业务迁移、历史环境恢复或海上兼容性测试。下载
最容易踩的坑是连接参数写错或网络不通:[database] type = mysql 必须小写,写成 MySQL 或 mysql8 会静默失败主机填的是容器名(Docker 网络内)或内网 IP(另外机直连),不是 127.0.0.1 —— 容器里 127.0.0.1 指自己,不是占用机上的数据库MySQL用户需要有远程访问权限:CREATE USER 'writefreely'@'%' IDENTIFIED BY 'P@ssw0rd'; 将 ALL ON writefreely.* 授予 'writefreely'@'%'; FLUSH PRIVILEGES;确认MySQL的bind-address没有锁定为127.0.0.1(尤其群晖或宝塔环境下常被默认限制)让WriteFreely从外网访问(Nginx反向代理关键点)
不配反向代理,就只能用:8080端口访问,既不安全也不符合常规域名转发。
核心是两件事:改config.ini + 配Nginx,缺一不可:[app]主机必须设置你的公网域名(如https://blog.example.com),不能是http://localhost:8080 ——否则所有生成的链接、RSS、ActivityPub地址全是错的Nginx配置里proxy_pass http://127.0.0.1:8080 后**必须加斜杠**:proxy_pass http://127.0.0.1:8080/;,否则子路径(如/about)会 404 务必转发 WebSocket 头:proxy_set_header Upgrade $http_upgrade; 和 proxy_set_header Connection "upgrade";,否则实时通知功能失效 HTTPS 下记得开 [server] tls = true,否则部分前端资源会因混合内容被浏览器拦截
复杂点位于配置项之间有隐式依赖:改了数据库类型就得重跑 dbinit,改了主机就得清浏览器缓存,改了端口同步更新反代配置——每一步都影响下一步能否继续生效。
