在Ubuntu上搭建LNMP博客系统前,需确保系统已更新至最新版本,并准备好博客程序(如WordPress)。以下是详细步骤:
运行以下命令更新软件包列表及已安装的包:
sudo apt update && sudo apt upgrade -y
Nginx作为轻量高性能的Web服务器,是LNMP的核心组件之一。安装命令:
sudo apt install nginx -y
安装完成后,启动Nginx并设置开机自启:
sudo systemctl start nginx
sudo systemctl enable nginx
验证Nginx是否运行:浏览器访问服务器IP地址,若看到Nginx默认欢迎页面,则说明安装成功。
MySQL/MariaDB用于存储博客数据(如文章、用户信息)。以MariaDB为例,安装命令:
sudo apt install mariadb-server mariadb-client -y
启动MariaDB并设置开机自启:
sudo systemctl start mariadb
sudo systemctl enable mariadb
运行安全脚本提升数据库安全性(设置root密码、删除匿名用户、禁止远程root登录等):
sudo mysql_secure_installation
按照提示完成配置(如设置root密码、移除测试数据库等)。
PHP是博客系统的核心脚本语言,需安装PHP核心及常用扩展(如MySQL连接、GD库等)。安装命令:
sudo apt install php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip -y
启动PHP-FPM(FastCGI进程管理器)并设置开机自启:
sudo systemctl start php8.2-fpm # 根据实际PHP版本调整(如php8.1-fpm)
sudo systemctl enable php8.2-fpm
编辑Nginx默认站点配置文件(/etc/nginx/sites-available/default),在server块中添加PHP处理逻辑:
location ~ \.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参数
}
保存文件后,测试Nginx配置语法是否正确:
sudo nginx -t
若无错误,重新加载Nginx使配置生效:
sudo systemctl reload nginx
创建PHP测试文件(/var/www/html/info.php),内容如下:
<?php phpinfo(); ?>
浏览器访问http://服务器IP/info.php,若看到PHP信息页面,则说明LNMP环境搭建成功。
WordPress是基于PHP+MySQL的开源博客系统,以下是部署步骤:
访问WordPress官网(https://wordpress.org/download/)下载最新版本,或通过命令行下载:
cd /var/www/html
sudo wget https://wordpress.org/latest.tar.gz
sudo tar -xzvf latest.tar.gz
sudo mv wordpress/* . # 将WordPress文件移动至网站根目录
sudo rm -rf wordpress latest.tar.gz # 删除临时文件
登录MySQL/MariaDB,创建专用数据库及用户:
sudo mysql -u root -p
在MySQL shell中执行以下命令(替换blog、bloguser、yourpassword为自定义值):
CREATE DATABASE blog; -- 创建数据库
CREATE USER 'bloguser'@'localhost' IDENTIFIED BY 'yourpassword'; -- 创建用户
GRANT ALL PRIVILEGES ON blog.* TO 'bloguser'@'localhost'; -- 授权用户对数据库的所有权限
FLUSH PRIVILEGES; -- 刷新权限
EXIT; -- 退出MySQL
编辑WordPress配置文件(/var/www/html/wp-config.php),修改数据库连接信息:
define('DB_NAME', 'blog'); // 数据库名
define('DB_USER', 'bloguser'); // 数据库用户
define('DB_PASSWORD', 'yourpassword'); // 数据库密码
define('DB_HOST', 'localhost'); // 数据库主机(本地为localhost)
保存文件后,设置网站根目录权限(确保Nginx用户www-data可读写):
sudo chown -R www-data:www-data /var/www/html
sudo find /var/www/html -type d -exec chmod 755 {} \;
sudo find /var/www/html -type f -exec chmod 644 {} \;
浏览器访问http://服务器IP,按照WordPress安装向导填写网站标题、管理员用户名/密码、邮箱等信息,点击“安装WordPress”。安装完成后,使用管理员账号登录后台(http://服务器IP/wp-admin),即可开始配置博客(如选择主题、安装插件、发布文章等)。
使用Let’s Encrypt为网站添加HTTPS加密,提升安全性:
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d yourdomain.com # 替换为你的域名
按照提示完成证书申请,Certbot会自动配置Nginx支持HTTPS。
允许HTTP(80端口)、HTTPS(443端口)流量通过UFW防火墙:
sudo ufw allow 'Nginx Full'
sudo ufw enable # 启用防火墙
通过以上步骤,即可在Ubuntu上成功搭建LNMP博客系统。后续可根据需求安装主题、插件(如Yoast SEO、Akismet)或进行性能优化(如缓存、CDN)。