前言
买了空间之后,已经先后使用过wordpress和Halo,这次又耐不住寂寞,使用#WriteFreely 建立这个博客,主要参考 Salt《去中心化博客 WriteFreely 搭建指南》
不同之处,建立的是单用户版本,数据库使用SQLite。
环境
CentOS 7
磁盘空间20G
内存1G
writefreely_0.12.0_linux_amd64.tar.gz
安装WriteFreely
下载到主机
wget https://github.com/writeas/writefreely/releases/download/v0.12.0/writefreely_0.12.0_linux_amd64.tar.gz
解压到/home目录下,解压的位置如果修改,后面配置过程中需要一并调整
tar xvzf writefreely_0.12.0_linux_amd64.tar.gz -C /home
安装Ngnix
添加 Nginx 源
sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
安装 Nginx
sudo yum install -y nginx
启动 Nginx
sudo systemctl start nginx.service
设置开机自启 Nginx
sudo systemctl enable nginx.service
配置WriteFreely
在解压后文件在/home/writefreely下,进入该目录,执行命令进行配置
./writefreely --config
Server setup
选择Production, behind reverse proxy模式,后面需要安装Nginx;
Local port: 8080 这个端口后面配置Nginx需要用到;
Database setup
数据库选择SQLite
Filename: xxx.db 数据库名字建议改一下
App setup
选择 Single user blog 即单用户版本
Admin usename: 用户名
Admin password: 密码
Blog name: 博客名词
Public URL: http://canglang.me 你的域名写在这里
federation 是否通过ActivityPub接入联邦宇宙,接入的话选择Enabled
stats 是否通过NodeInfo公开展示用户情况,不公开选择Private
meta 没弄明白,选择了Public
初始化
./writefreely --init-db
./writefreely --gen-keys
配置服务
sudo nano /etc/systemd/system/writefreely.service
写入内容
[Unit]
Description=Write Freely Instance
After=syslog.target network.target
[Service]
Type=simple
StandardOutput=syslog
StandardError=syslog
WorkingDirectory=/home/writefreely
ExecStart=/home/writefreely/writefreely
Restart=always
[Install]
WantedBy=multi-user.target
其中,WorkingDirectory和ExecStart需要根据实际解压的位置进行修改
设置开机启动
systemctl daemon-reload #执行需要root授权
sudo systemctl start writefreely
sudo systemctl enable writefreely
配置Nginx
sudo nano /etc/nginx/conf.d/writefreely.conf
写入内容
server {
listen 80;
listen [::]:80;
server_name canglang.me;
gzip on;
gzip_types
application/javascript
application/x-javascript
application/json
application/rss+xml
application/xml
image/svg+xml
image/x-icon
application/vnd.ms-fontobject
application/font-sfnt
text/css
text/plain;
gzip_min_length 256;
gzip_comp_level 5;
gzip_http_version 1.1;
gzip_vary on;
location ~ ^/.well-known/(webfinger|nodeinfo|host-meta) {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://127.0.0.1:8080;
proxy_redirect off;
}
location ~ ^/(css|img|js|fonts)/ {
root /home/writefreely/static;
# Optionally cache these files in the browser:
# expires 12M;
}
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://127.0.0.1:8080;
proxy_redirect off;
}
}
其中 server_name和root /home/writefreely/static需要根据实际进行修改。
然后,配置 SSL 证书,就不写了,攻略很多,自行搜索吧。
检查配置是否有误
sudo nginx -t
重载 Nginx 配置
sudo nginx -s reload
至此配置完成,如果一切顺利,打开域名就能见到主页了。
现在又改回wordpress(捂脸
为何又改回wordpress了呀?
如果只是自己玩的话,writefreely折腾起来还是不如wordpress方便
尝试了几个小时,也没有成功。对“其中 server_name和root /home/writefreely/static需要根据实际进行修改”这句话很不理解。
server_name 后面是你的服务器的域名,比如我写的canglang.me
root /home/writefreely/static 这个地址跟你在服务器上放置writefreely文件夹的位置有关