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

我推荐使用 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 unzip2.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-zip2.3 安装 Composer
curl -sS https://getcomposer.org/installer | phpsudo mv composer.phar /usr/local/bin/composer2.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 pixelfed3.2 安装依赖与配置
cd /var/www/pixelfedsudo -u www-data cp .env.example .envsudo -u www-data composer install --no-dev --optimize-autoloader3.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=redis3.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:cities3.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 horizon5.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/cache6.2 配置 Redis 缓存
PixelFed 使用 Redis 缓存用户会话和配置,默认已启用。如有需要可调整 Redis 内存限制。
访问与后续配置
完成以上步骤后,在浏览器访问 https://你的域名/,即可看到 PixelFed 登录页面。使用之前创建的管理员账户登录,进入管理后台进行以下设置:
开启站点注册(如需要)设置上传限制(图片大小、格式等)配置邮件服务(用于找回密码、通知)定义站点规则与描述至此,你已经成功搭建并配置了一个完全属于自己的 PixelFed 图片社交平台。它不仅可以作为个人图库使用,还可以加入联邦宇宙,与 Mastodon、Pleroma 等平台互通。如果你对服务器稳定性和扩展性有更高要求,强烈推荐使用 CiuiC 云服务器 提供的服务,它支持弹性扩容,让你专注于内容创作而非运维管理。祝你使用愉快!


