一、准备工作
确保你有一台运行Linux(如Ubuntu 22.04/20.04、CentOS 7/8)的服务器,且具备root或sudo权限。提前准备好域名(可选,用于后续绑定),并确保服务器网络畅通。
二、安装LNMP组件
运行以下命令更新系统软件包,确保后续安装的组件兼容性:
sudo apt update && sudo apt upgrade -y # Ubuntu/Debian
# 或
sudo yum update -y # CentOS/RHEL
安装Nginx并启动服务,设置开机自启:
sudo apt install nginx -y # Ubuntu/Debian
# 或
sudo yum install nginx -y # CentOS/RHEL
sudo systemctl start nginx
sudo systemctl enable nginx
安装完成后,在浏览器访问服务器IP,若看到Nginx欢迎页面,说明安装成功。
选择MySQL或MariaDB作为数据库(两者用法类似,推荐MariaDB):
sudo apt install mariadb-server -y # Ubuntu/Debian(推荐)
# 或
sudo yum install mariadb-server -y # CentOS/RHEL
sudo systemctl start mariadb
sudo systemctl enable mariadb
运行安全脚本强化数据库安全(设置root密码、删除匿名用户、禁止root远程登录等):
sudo mysql_secure_installation
安装PHP及常用扩展(需包含php-fpm和php-mysql,用于支持WordPress等博客系统):
sudo apt install php-fpm php-mysql php-curl php-gd php-mbstring php-xml -y # Ubuntu/Debian
# 或
sudo yum install php php-fpm php-mysqlnd -y # CentOS/RHEL
sudo systemctl start php7.4-fpm # 根据PHP版本调整(如Ubuntu 22.04为php8.1-fpm)
sudo systemctl enable php7.4-fpm
关键配置:编辑PHP-FPM池配置文件(路径如/etc/php/7.4/fpm/pool.d/www.conf),确保listen指令与Nginx配置一致(如listen = /run/php/php7.4-fpm.sock)。
三、配置Nginx支持PHP
编辑Nginx默认站点配置文件(路径如/etc/nginx/sites-available/default),在server块中添加PHP处理逻辑:
sudo nano /etc/nginx/sites-available/default
修改后的server块内容如下(重点关注location ~ \.php$部分):
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.php index.html index.htm;
server_name _; # 若有域名,替换为你的域名(如blog.example.com)
location / {
try_files $uri $uri/ =404;
}
# PHP处理配置
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.4-fpm.sock; # 根据PHP版本调整路径
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
# 禁止访问.htaccess文件
location ~ /\.ht {
deny all;
}
}
保存退出后,测试Nginx配置语法是否正确:
sudo nginx -t
若输出“syntax is ok”,则重新加载Nginx使配置生效:
sudo systemctl reload nginx
四、创建数据库与用户
登录MySQL/MariaDB,创建专门用于博客的数据库和用户(避免使用root账户):
sudo mysql -u root -p
在MySQL shell中执行以下命令(将blog_db、blog_user、your_password替换为你的实际名称和密码):
CREATE DATABASE blog_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'blog_user'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON blog_db.* TO 'blog_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
五、部署WordPress(博客系统)
以WordPress为例(最流行的PHP博客系统),部署步骤如下:
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 # 删除临时文件
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');
www-data)对WordPress目录有读写权限: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://your_domain.com),将进入WordPress安装向导。七、安全优化(可选但重要)
sudo apt install certbot python3-certbot-nginx -y # Ubuntu/Debian
sudo certbot --nginx -d your_domain.com -d www.your_domain.com # 替换为你的域名
按照提示完成证书安装,Certbot会自动配置Nginx重定向HTTP到HTTPS。
sudo ufw allow 'Nginx Full'
sudo ufw enable
sudo apt update && sudo apt upgrade -y(或CentOS对应的yum update -y),更新系统和软件包,修复安全漏洞。通过以上步骤,你已成功使用LNMP搭建了一个功能完整的WordPress博客。可根据需求进一步定制主题、安装插件(如Yoast SEO、Akismet)或优化性能(如开启OPcache、缓存插件)。