debian

Debian如何利用LNMP搭建个人博客

小樊
49
2025-10-06 06:36:58
栏目: 智能运维

一、准备工作
在开始前,请确保你有一台运行Debian的服务器(物理机或虚拟机),并具备SSH访问权限。同时,准备好一个域名(可选,但推荐),并确保域名已解析到服务器IP。

二、安装LNMP环境
LNMP是Linux+Nginx+MySQL/MariaDB+PHP的组合,以下是具体安装步骤:

1. 更新系统

首先更新系统软件包列表,确保后续安装的软件是最新版本:

sudo apt update && sudo apt upgrade -y
2. 安装Nginx

Nginx作为Web服务器,负责处理HTTP请求。安装命令如下:

sudo apt install nginx -y

安装完成后,启动Nginx并设置开机自启动:

sudo systemctl start nginx
sudo systemctl enable nginx

验证Nginx是否运行:在浏览器访问服务器IP,若看到Nginx默认欢迎页面,则说明安装成功。

3. 安装MySQL/MariaDB

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

按照提示操作,确保数据库安全。

4. 安装PHP及扩展

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+OEnterCtrl+X)。
测试Nginx配置是否正确:

sudo nginx -t

若输出syntax is oktest is successful,则重新加载Nginx:

sudo systemctl reload nginx

四、创建数据库和用户
为博客创建专用数据库和用户(避免使用root账户):

sudo mysql -u root -p

在MySQL shell中执行以下命令(将blog_dbblog_useryour_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博客系统),步骤如下:

1. 下载WordPress
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             -- 删除压缩包和临时目录
2. 设置文件权限

确保WordPress目录归www-data用户(Nginx运行用户)所有,避免权限问题:

sudo chown -R www-data:www-data /var/www/html
sudo chmod -R 755 /var/www/html
3. 配置WordPress

复制wp-config-sample.phpwp-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安装向导:

  1. 输入站点标题、管理员账号密码、邮箱等信息。
  2. 点击“Install WordPress”,等待安装完成。
  3. 登录后台(http://your_domain.com/wp-admin),即可开始配置博客(如选择主题、安装插件、发布文章)。

七、安全加固(可选但推荐)

  1. 配置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重定向。

  2. 配置防火墙:允许HTTP(80)和HTTPS(443)流量:

    sudo ufw allow 'Nginx Full'
    sudo ufw enable
    
  3. 定期备份:使用rsynctar或数据库工具(如mysqldump)定期备份博客文件和数据库。

通过以上步骤,你已成功在Debian上利用LNMP搭建了个人博客。后续可根据需求安装插件(如Yoast SEO、Akismet)、更换主题(如Astra、GeneratePress),打造个性化博客。

0
看了该问题的人还看了