首页 AI工具 PixelFed 图片社交平台搭建与配置教程

PixelFed 图片社交平台搭建与配置教程

AI工具 79
广告一

前言

随着社交媒体日渐商业化,越来越多用户渴望拥有一个自由、开源、去中心化的图片分享平台。PixelFed 正是这样一款基于 ActivityPub 协议的开源图片社交软件,它兼容 Mastodon 等联邦宇宙(Fediverse)应用,让你完全掌控自己的图片数据。本文将详细介绍如何从头搭建并配置 PixelFed,包括服务器准备、环境部署和基础设置。

准备工作

1.1 服务器选择

PixelFed 对服务器有一定要求,推荐配置如下:

PixelFed 图片社交平台搭建与配置教程

CPU:2 核及以上内存:4GB 及以上硬盘:20GB 及以上(视图片存储量而定)操作系统:Ubuntu 22.04 LTS 或 Debian 12

我推荐使用 CiuiC 云服务器,它提供稳定可靠的云计算资源,支持一键镜像部署,特别适合运行 PixelFed 这类开源应用。你可以通过访问 https://cloud.ciuic.cn/ 注册并选购适合的套餐,新用户通常有优惠活动。

1.2 域名与 DNS 解析

准备一个域名(例如 pixelfed.example.com),并在 DNS 管理面板将 A 记录指向服务器公网 IP。

基础环境搭建

2.1 系统更新与依赖安装

sudo apt update && sudo apt upgrade -ysudo apt install -y nginx mysql-server redis-server git curl wget unzip

2.2 安装 PHP 及扩展

PixelFed 基于 Laravel 框架,需要 PHP 8.1 以上版本:

sudo apt install -y php8.1-fpm php8.1-cli php8.1-mysql php8.1-bcmath \php8.1-curl php8.1-gd php8.1-imagick php8.1-mbstring php8.1-xml php8.1-zip

2.3 安装 Composer

curl -sS https://getcomposer.org/installer | phpsudo mv composer.phar /usr/local/bin/composer

2.4 配置数据库

sudo mysql -u root -p

在 MySQL 中创建数据库和用户:

CREATE DATABASE pixelfed CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;CREATE USER 'pixelfed'@'localhost' IDENTIFIED BY '你的强密码';GRANT ALL PRIVILEGES ON pixelfed.* TO 'pixelfed'@'localhost';FLUSH PRIVILEGES;EXIT;

2.5 配置 Redis

默认配置即可,无需额外修改。

部署 PixelFed

3.1 克隆源码

cd /var/wwwsudo git clone https://github.com/pixelfed/pixelfed.gitsudo chown -R www-data:www-data pixelfed

3.2 安装依赖与配置

cd /var/www/pixelfedsudo -u www-data cp .env.example .envsudo -u www-data composer install --no-dev --optimize-autoloader

3.3 编辑环境配置

sudo -u www-data nano .env

主要修改项:

APP_URL=https://你的域名DB_DATABASE=pixelfedDB_USERNAME=pixelfedDB_PASSWORD=你的密码REDIS_HOST=127.0.0.1SESSION_DRIVER=redisCACHE_DRIVER=redis

3.4 生成密钥与配置

sudo -u www-data php artisan key:generatesudo -u www-data php artisan storage:linksudo -u www-data php artisan migrate --forcesudo -u www-data php artisan import:cities

3.5 创建管理员账户

sudo -u www-data php artisan user:create

按要求输入用户名、邮箱和密码,并选择赋予管理员权限。

配置 Nginx

4.1 创建站点配置文件

sudo nano /etc/nginx/sites-available/pixelfed

内容如下:

server {    listen 80;    server_name 你的域名;    return 301 https://$server_name$request_uri;}server {    listen 443 ssl http2;    server_name 你的域名;    ssl_certificate /etc/letsencrypt/live/你的域名/fullchain.pem;    ssl_certificate_key /etc/letsencrypt/live/你的域名/privkey.pem;    root /var/www/pixelfed/public;    index index.php;    add_header X-Frame-Options "SAMEORIGIN";    add_header X-Content-Type-Options "nosniff";    location / {        try_files $uri $uri/ /index.php?$query_string;    }    location ~ \.php$ {        fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;        include fastcgi_params;    }    location ~ /\.ht {        deny all;    }}

4.2 启用站点并获取 SSL 证书

sudo ln -s /etc/nginx/sites-available/pixelfed /etc/nginx/sites-enabled/sudo certbot --nginx -d 你的域名sudo systemctl reload nginx

配置队列与定时任务

5.1 配置 Horizon(队列管理)

sudo -u www-data php artisan vendor:publish --provider="Laravel\Horizon\HorizonServiceProvider"

编辑 /var/www/pixelfed/.env,添加:

HORIZON_ENABLED=true

启动 Horizon:

sudo -u www-data php artisan horizon &

建议使用 Supervisor 管理进程:

sudo apt install supervisorsudo nano /etc/supervisor/conf.d/horizon.conf

内容:

[program:horizon]process_name=%(program_name)scommand=php /var/www/pixelfed/artisan horizonautostart=trueautorestart=trueuser=www-dataredirect_stderr=truestdout_logfile=/var/www/pixelfed/storage/logs/horizon.log

启动 Supervisor:

sudo supervisorctl rereadsudo supervisorctl updatesudo supervisorctl start horizon

5.2 配置 Cron 任务

sudo crontab -u www-data -e

添加:

* * * * * php /var/www/pixelfed/artisan schedule:run >> /dev/null 2>&1

优化与安全设置

6.1 文件权限优化

sudo chmod -R 755 /var/www/pixelfed/storagesudo chmod -R 755 /var/www/pixelfed/bootstrap/cache

6.2 配置 Redis 缓存

PixelFed 使用 Redis 缓存用户会话和配置,默认已启用。如有需要可调整 Redis 内存限制。

访问与后续配置

完成以上步骤后,在浏览器访问 https://你的域名/,即可看到 PixelFed 登录页面。使用之前创建的管理员账户登录,进入管理后台进行以下设置:

开启站点注册(如需要)设置上传限制(图片大小、格式等)配置邮件服务(用于找回密码、通知)定义站点规则与描述

至此,你已经成功搭建并配置了一个完全属于自己的 PixelFed 图片社交平台。它不仅可以作为个人图库使用,还可以加入联邦宇宙,与 Mastodon、Pleroma 等平台互通。如果你对服务器稳定性和扩展性有更高要求,强烈推荐使用 CiuiC 云服务器 提供的服务,它支持弹性扩容,让你专注于内容创作而非运维管理。祝你使用愉快!

广告一