一、准备工作
在开始前,请确保你有一台运行Debian的服务器(物理机或虚拟机),并具备SSH访问权限。同时,准备好一个域名(可选,但推荐),并确保域名已解析到服务器IP。
二、安装LNMP环境
LNMP是Linux+Nginx+MySQL/MariaDB+PHP的组合,以下是具体安装步骤:
首先更新系统软件包列表,确保后续安装的软件是最新版本:
sudo apt update && sudo apt upgrade -y
Nginx作为Web服务器,负责处理HTTP请求。安装命令如下:
sudo apt install nginx -y
安装完成后,启动Nginx并设置开机自启动:
sudo systemctl start nginx
sudo systemctl enable nginx
验证Nginx是否运行:在浏览器访问服务器IP,若看到Nginx默认欢迎页面,则说明安装成功。
MySQL/MariaDB是关系型数据库,用于存储博客数据。这里以MariaDB为例(兼容MySQL):
sudo apt install mariadb-server mariadb-client -y
启动MariaDB并设置开机自启动:
sudo systemctl start mariadb
sudo systemctl enable mariadb
运行安全脚本,设置root密码、删除匿名用户、禁止远程root登录等:
sudo mysql_secure_installation
按照提示操作,确保数据库安全。
PHP是博客系统的后端语言,需要安装PHP核心及常用扩展(如MySQL连接、GD库等):
sudo apt install php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-bcmath -y
启动PHP-FPM并设置开机自启动:
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
注意:Debian 11及以上版本默认安装PHP 8.2,若需其他版本,可通过apt-cache policy php查看可用版本,或添加第三方仓库(如Ondřej Surý的PPA)。
三、配置Nginx支持PHP
默认的Nginx配置可能不支持PHP,需修改站点配置文件:
sudo nano /etc/nginx/sites-available/default
找到server块,修改或添加以下内容(关键部分用注释标注):
server {
listen 80;
server_name your_domain_or_ip; # 替换为你的域名或IP
root /var/www/html; # 博客文件存放目录(可自定义)
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404; # 尝试访问文件,不存在则返回404
}
location ~ \.php$ { # 处理PHP请求
include snippets/fastcgi-php.conf; # 引入FastCGI配置
fastcgi_pass unix:/run/php/php8.2-fpm.sock; # 根据PHP版本调整sock路径
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; # 设置脚本路径
include fastcgi_params; # 包含通用FastCGI参数
}
location ~ /\.ht { # 禁止访问.htaccess文件(Apache遗留配置)
deny all;
}
}
保存并退出编辑器(Ctrl+O→Enter→Ctrl+X)。
测试Nginx配置是否正确:
sudo nginx -t
若输出syntax is ok和test is successful,则重新加载Nginx:
sudo systemctl reload nginx
四、创建数据库和用户
为博客创建专用数据库和用户(避免使用root账户):
sudo mysql -u root -p
在MySQL shell中执行以下命令(将blog_db、blog_user、your_password替换为实际名称和密码):
CREATE DATABASE blog_db; -- 创建数据库
CREATE USER 'blog_user'@'localhost' IDENTIFIED BY 'your_password'; -- 创建用户
GRANT ALL PRIVILEGES ON blog_db.* TO 'blog_user'@'localhost'; -- 授权
FLUSH PRIVILEGES; -- 刷新权限
EXIT; -- 退出MySQL
五、安装WordPress(或其他博客系统)
这里以WordPress为例(最流行的PHP博客系统),步骤如下:
cd /var/www/html
sudo wget https://wordpress.org/latest.tar.gz -- 下载最新版WordPress
sudo tar -xzvf latest.tar.gz -- 解压
sudo mv wordpress/* . -- 移动文件到根目录
sudo rm -rf wordpress latest.tar.gz -- 删除压缩包和临时目录
确保WordPress目录归www-data用户(Nginx运行用户)所有,避免权限问题:
sudo chown -R www-data:www-data /var/www/html
sudo chmod -R 755 /var/www/html
复制wp-config-sample.php为wp-config.php,并编辑数据库信息:
sudo nano /var/www/html/wp-config.php
找到以下行,替换为之前创建的数据库信息:
define('DB_NAME', 'blog_db'); // 数据库名
define('DB_USER', 'blog_user'); // 数据库用户
define('DB_PASSWORD', 'your_password'); // 数据库密码
define('DB_HOST', 'localhost'); // 数据库主机(本地为localhost)
保存并退出。
六、完成WordPress安装
在浏览器访问服务器IP或域名(如http://your_domain.com),将进入WordPress安装向导:
http://your_domain.com/wp-admin),即可开始配置博客(如选择主题、安装插件、发布文章)。七、安全加固(可选但推荐)
配置SSL证书:使用Let’s Encrypt免费获取SSL证书,启用HTTPS:
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d your_domain.com -d www.your_domain.com
按照提示完成证书安装,Nginx会自动配置HTTPS重定向。
配置防火墙:允许HTTP(80)和HTTPS(443)流量:
sudo ufw allow 'Nginx Full'
sudo ufw enable
定期备份:使用rsync、tar或数据库工具(如mysqldump)定期备份博客文件和数据库。
通过以上步骤,你已成功在Debian上利用LNMP搭建了个人博客。后续可根据需求安装插件(如Yoast SEO、Akismet)、更换主题(如Astra、GeneratePress),打造个性化博客。