使用Linux系统(推荐Ubuntu 20.04 LTS),通过SSH连接服务器后执行以下命令:
sudo apt update && sudo apt install nginx -ysudo apt install php7.4-fpm php7.4-mysql php7.4-gd php7.4-mbstring php7.4-curl -ysudo apt install mysql-server -y && sudo mysql_secure_installation创建MySQL数据库和用户:
mysql -u root -p
CREATE DATABASE zblog_tutorial CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'zblog_user'@'localhost' IDENTIFIED BY 'YourStrongPassword123!';
GRANT ALL PRIVILEGES ON zblog_tutorial. TO 'zblog_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
进入网站根目录(假设为/var/www/zblog):
cd /var/www
sudo wget https://update.zblogcn.com/zblog/zb_install.zip
sudo unzip zb_install.zip
sudo mv zb_install zblog
sudo chown -R www-data:www-data zblog
创建配置文件/etc/nginx/sites-available/zblog:
server {
listen 80;
server_name yourdomain.com;
root /var/www/zblog;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
启用站点配置:sudo ln -s /etc/nginx/sites-available/zblog /etc/nginx/sites-enabled/
重启服务:sudo systemctl restart nginx php7.4-fpm
访问http://yourdomain.com进入安装界面,填写数据库信息:
管理员账户设置:使用强密码,建议包含大小写字母、数字和特殊字符,长度至少12位。
进入后台(管理-分类管理),创建以下分类:
设置分类描述:每个分类填写详细的SEO描述,包含3-5个核心关键词。
进入网站设置-固定链接,选择"分类/别名/文章别名"格式:
/{%category%}/{%alias%}.html
下载推荐主题(如zBlogger):
cd /var/www/zblog/zb_users/theme
sudo wget https://github.com/zblogcn/zblogger/releases/latest/download/zblogger.zip
sudo unzip zblogger.zip
sudo chown -R www-data:www-data zblogger
后台进入"主题管理",激活zBlogger主题。
编辑/var/www/zblog/zb_users/theme/zblogger/template/header.php:
{
"@context": "https://schema.org",
"@type": "WebSite",
"name": "' . $zbp->name . '",
"url": "' . $zbp->host . '"
}
';
?>
修改模板css文件,添加响应式断点:
/ 移动端适配 /
@media (max-width: 768px) {
.container { width: 100%; padding: 0 15px; }
.sidebar { display: none; }
.article-content { font-size: 16px; line-height: 1.8; }
}
编辑/var/www/zblog/zb_users/c_option.php,添加:
$zbp->option['ZC_DATABASE_TYPE'] = 'mysqli';
$zbp->option['ZC_DATABASE_PERSISTENT'] = false;
$zbp->option['ZC_DATABASE_OPTIONS'] = array(
MYSQLI_OPT_CONNECT_TIMEOUT => 5,
MYSQLI_OPT_READ_TIMEOUT => 30
);
编辑/etc/php/7.4/fpm/php.ini:
[opcache]
opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.revalidate_freq=2
opcache.fast_shutdown=1
重启PHP:sudo systemctl restart php7.4-fpm

在Nginx配置文件中添加:
location ~ \.(jpg|jpeg|png|gif|ico|css|js)$ {
expires 365d;
add_header Cache-Control "public, immutable";
}
location ~ \.php$ {
fastcgi_cache_path /var/cache/nginx levels=1:2 keys_zone=zblog_cache:100m inactive=60m;
fastcgi_cache_key "$scheme$request_method$host$request_uri";
fastcgi_cache_valid 200 301 302 60m;
fastcgi_cache_bypass $http_pragma;
fastcgi_cache_revalidate on;
add_header X-Cache $upstream_cache_status;
}
安装WebP转换工具:
sudo apt install webp -y
创建图片压缩脚本/usr/local/bin/compress-images.sh:
!/bin/bash
find /var/www/zblog/upload -name ".jpg" -o -name ".png" | while read file; do
cwebp -q 80 "$file" -o "${file%.}.webp"
done
设置定时任务:crontab -e 添加:
0 2 /usr/local/bin/compress-images.sh
安装AppCentre插件后,搜索并安装:
编辑robots.txt:
User-agent:
Allow: /
Disallow: /zb_system/
Disallow: /zb_users/
Sitemap: https://yourdomain.com/baidusitemap.xml
Sitemap: https://yourdomain.com/googlesitemap.xml
修改后台登录地址:编辑/var/www/zblog/zb_system/function/c_system_admin.php,找到:
define('ZC_LOGIN_URL', 'zb_system/login.php');
修改为:
define('ZC_LOGIN_URL', 'your-custom-login-path.php');
设置文件权限:
sudo chmod 644 /var/www/zblog/ -R
sudo chmod 755 /var/www/zblog/zb_users/upload/
sudo chmod 755 /var/www/zblog/zb_users/cache/
安装Fail2ban防护:
sudo apt install fail2ban -y
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
编辑/etc/fail2ban/jail.local,添加:
[nginx-http-auth]
enabled = true
filter = nginx-http-auth
port = http,https
logpath = /var/log/nginx/error.log
创建备份脚本/usr/local/bin/backup-zblog.sh:
!/bin/bash
BACKUP_DIR="/backup/zblog"
DATE=$(date +%Y%m%d_%H%M%S)
备份数据库
mysqldump -u zblog_user -p'YourStrongPassword123!' zblog_tutorial | gzip > $BACKUP_DIR/db_$DATE.sql.gz
备份文件
tar -czf $BACKUP_DIR/files_$DATE.tar.gz /var/www/zblog --exclude="zb_users/cache/" --exclude="zb_users/upload/_tmp/"
保留最近7天备份
find $BACKUP_DIR -type f -name ".gz" -mtime +7 -delete
设置执行权限:sudo chmod +x /usr/local/bin/backup-zblog.sh
每日凌晨3点执行:crontab -e 添加:
0 3 /usr/local/bin/backup-zblog.sh
安装监控工具:
sudo apt install htop nmon iftop -y
创建监控脚本/usr/local/bin/monitor-zblog.sh:
!/bin/bash
LOG_FILE="/var/log/zblog-monitor.log"
echo "$(date) - CPU: $(top -bn1 | grep "Cpu(s)" | awk '{print $2}')%" >> $LOG_FILE
echo "$(date) - Memory: $(free -m | awk 'NR==2{printf "%.2f%%", $3100/$2}')" >> $LOG_FILE
echo "$(date) - Disk: $(df -h / | awk 'NR==2{print $5}')" >> $LOG_FILE
每5分钟执行一次:
/5 /usr/local/bin/monitor-zblog.sh
配置Nginx日志格式:
log_format zblog '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for" '
'$request_time $upstream_response_time';
access_log /var/log/nginx/zblog-access.log zblog;
安装GoAccess进行实时分析:
sudo apt install goaccess -y
goaccess /var/log/nginx/zblog-access.log --log-format=COMBINED --real-time-html --port=7890易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。
Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图