作为一个常年在阿里云薅羊毛的穷站长,今天必须吐槽一下:2核2G的ECS装Flarum简直像在螺蛳壳里做道场!但偏偏这配置便宜得真香(38元/年真香警告⚠️)。经过我三天三夜的踩坑,终于总结出两套能跑的方案,现在把血泪经验打包奉上。
目录
🐳 Docker版(30分钟速成)
1. 准备工作
# 先给系统换源(国内服务器必做)
sudo sed -i 's@http://.*.aliyun.com@https://mirrors.ustc.edu.cn@g' /etc/apt/sources.list
sudo apt update && sudo apt install docker.io docker-compose -y
# 设置镜像加速(阿里云用)
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://uyah70su.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload && sudo systemctl restart docker
2. 一键启动
mkdir flarum && cd flarum
cat > docker-compose.yml << EOF
version: '3'
services:
flarum:
image: mondedie/flarum:stable
container_name: flarum
ports:
- "8080:8888"
environment:
FORUM_URL: http://你的域名.com
DB_HOST: mysql
DB_NAME: flarum
DB_USER: root
DB_PASS: 123456
FLARUM_ADMIN_USER: admin
FLARUM_ADMIN_PASS: admin123
FLARUM_TITLE: "我的吐槽论坛"
volumes:
- ./assets:/flarum/app/public/assets
- ./extensions:/flarum/app/extensions
depends_on:
- mysql
mysql:
image: mysql:8.0
container_name: mysql
command: --default-authentication-plugin=mysql_native_password
environment:
MYSQL_ROOT_PASSWORD: 123456
MYSQL_DATABASE: flarum
volumes:
- ./mysql:/var/lib/mysql
EOF
# 启动!
docker-compose up -d
访问 http://你的域名.com:8080 初始化,默认账号密码就是上面设置的。
🐧 原生安装(古典派折腾)
1. 系统环境
# Ubuntu 20.04实测
sudo apt update && sudo apt upgrade -y
sudo apt install nginx mysql-server php8.1-fpm php8.1-mysql php8.1-curl php8.1-gd php8.1-mbstring php8.1-xml php8.1-zip -y
2. 配置Nginx
sudo nano /etc/nginx/sites-available/flarum
# 粘贴以下内容:
server {
listen 80;
server_name 你的域名.com;
root /var/www/flarum/public;
index index.php;
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 ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
expires 1y;
add_header Cache-Control "public, immutable";
}
}
3. 安装Flarum
cd /var/www
composer create-project flarum/flarum . --stability=beta
chown -R www-data:www-data /var/www/flarum
🚀 2核2G极限优化骚操作
1. 数据库优化
# MySQL 8.0配置(/etc/mysql/mysql.conf.d/custom.cnf)
[mysqld]
innodb_buffer_pool_size = 512M # 内存25%
max_connections = 50 # 够用就行
innodb_log_file_size = 64M # 减少磁盘IO
query_cache_type = 0 # 8.0已废弃
performance_schema = OFF # 省内存
# 重启生效
sudo systemctl restart mysql
2. PHP-FPM优化
# 编辑 /etc/php/8.1/fpm/pool.d/www.conf
pm = ondemand
pm.max_children = 10
pm.process_idle_timeout = 10s
pm.max_requests = 500
3. Nginx压缩黑科技
gzip on;
gzip_types text/plain application/javascript application/x-javascript text/javascript text/xml text/css;
gzip_vary on;
gzip_comp_level 6;
4. 国内服务器加速
- 静态资源全扔阿里云OSS+CDN(每月9块9的CDN包真香)
- 启用Brotli压缩(比gzip再省30%流量)
- 数据库每晚2点自动optimize table(crontab -e添加:0 2 * * * mysqlcheck -o flarum)
5. 中文全文搜索
# 进入MySQL
mysql -uroot -p
USE flarum;
-- 安装ngram解析器
ALTER TABLE flarum_posts ADD FULLTEXT(content) WITH PARSER ngram;
ALTER TABLE flarum_discussions ADD FULLTEXT(title) WITH PARSER ngram;
🤔 常见问题吐槽大会
Q:安装后页面空白?
A:九成是FORUM_URL写错了!Docker版检查环境变量,原生版检查config.php里的url。改完记得php flarum cache:clear
Q:2G内存跑不动?
A:把MySQL的buffer_pool砍到256M,PHP开opcache(php.ini里opcache.enable=1),瞬间省出200M内存。
Q:国内访问卡成PPT?
A:把/flarum/public/assets目录扔CDN,再装个Cloudflare免费套餐,瞬间从绿皮车变高铁。
最后的碎碎念:2核2G装Flarum就像用五菱宏光跑秋名山,虽然能跑但得会漂移。这套方案实测能扛日均1000PV(峰值同时在线50人),再往上就得上4G内存了。记得每天看一次htop,崩了别赖我!
觉得有用的话,欢迎万事屋博客留言吐槽→ https://www.rei3.com
没有回复内容