在开始部署前,请确保具备以下条件:
sudo apt update && sudo apt upgrade -y 或 sudo yum update -y)。LNMP由**Nginx(Web服务器)、MySQL/MariaDB(数据库)、PHP(后端语言)**组成,需依次安装并配置。
使用包管理工具快速安装Nginx:
# Ubuntu/Debian
sudo apt install nginx -y
# CentOS
sudo yum install epel-release -y && sudo yum install nginx -y
安装完成后,启动Nginx并设置开机自启:
sudo systemctl start nginx
sudo systemctl enable nginx
验证Nginx是否运行:浏览器访问服务器IP,若看到“Welcome to nginx”页面则表示成功。
选择MySQL或MariaDB(推荐MariaDB,兼容性更好):
# Ubuntu/Debian(MySQL)
sudo apt install mysql-server -y
# CentOS(MariaDB)
sudo yum install mariadb-server mariadb -y
启动数据库服务并设置开机自启:
sudo systemctl start mysql # 或 mariadb
sudo systemctl enable mysql # 或 mariadb
运行安全脚本强化数据库安全(设置root密码、移除匿名用户、禁止root远程登录等):
sudo mysql_secure_installation
WordPress需要PHP 7.4及以上版本,及以下扩展:php-fpm(PHP FastCGI进程管理)、php-mysql(MySQL数据库连接)、php-curl(HTTP请求)、php-gd(图像处理)、php-mbstring(多字节字符串)、php-xml(XML解析)。
# Ubuntu/Debian
sudo apt install php-fpm php-mysql php-curl php-gd php-mbstring php-xml -y
# CentOS
sudo yum install php php-fpm php-mysqlnd php-curl php-gd php-mbstring php-xml -y
编辑PHP配置文件(/etc/php/7.4/fpm/php.ini,版本根据实际调整),将cgi.fix_pathinfo=1改为0(防止恶意文件访问):
sudo sed -i 's/cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/g' /etc/php/7.4/fpm/php.ini
启动PHP-FPM并设置开机自启:
sudo systemctl start php7.4-fpm # 或 php-fpm(CentOS)
sudo systemctl enable php7.4-fpm # 或 php-fpm(CentOS)
需创建或修改Nginx虚拟主机配置,使其能处理WordPress的PHP请求。
sudo nano /etc/nginx/sites-available/wordpress
粘贴以下内容(替换your_domain_or_IP为你的域名或服务器IP,/var/www/wordpress为WordPress安装目录):
server {
listen 80;
server_name your_domain_or_IP;
root /var/www/wordpress;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$args; # WordPress permalinks支持
}
location ~ \.php$ {
include snippets/fastcgi-php.conf; # 引入FastCGI配置
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # PHP-FPM socket路径(版本根据实际调整)
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; # 脚本路径
include fastcgi_params; # 包含通用FastCGI参数
}
location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
expires 30d; # 静态资源缓存30天
}
location ~ /\.ht {
deny all; # 禁止访问.htaccess文件(Apache遗留配置)
}
}
保存并退出(Ctrl+O→Enter→Ctrl+X)。
创建符号链接到sites-enabled目录:
sudo ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/
检查配置文件语法是否正确:
sudo nginx -t
若输出“syntax is ok”和“test is successful”,则重启Nginx使配置生效:
sudo systemctl restart nginx
进入网站根目录,下载最新版WordPress:
cd /var/www
sudo wget https://wordpress.org/latest.tar.gz
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
sudo find /var/www -type d -exec chmod 755 {} \; # 目录权限755
sudo find /var/www -type f -exec chmod 644 {} \; # 文件权限644
WordPress需要数据库存储内容,通过MySQL命令行创建:
sudo mysql -u root -p # 输入root密码登录
在MySQL shell中执行以下命令(替换wordpress_db、wp_user、your_password为自定义值):
CREATE DATABASE wordpress_db; -- 创建数据库
CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'your_password'; -- 创建用户
GRANT ALL PRIVILEGES ON wordpress_db.* TO 'wp_user'@'localhost'; -- 授权
FLUSH PRIVILEGES; -- 刷新权限
EXIT; -- 退出
编辑WordPress配置文件wp-config.php(位于/var/www目录):
sudo nano /var/www/wp-config.php
找到以下部分,替换为数据库信息:
define('DB_NAME', 'wordpress_db'); // 数据库名
define('DB_USER', 'wp_user'); // 数据库用户名
define('DB_PASSWORD', 'your_password'); // 数据库密码
define('DB_HOST', 'localhost'); // 数据库主机(本地为localhost)
保存并退出。
在浏览器中输入服务器IP或域名(如http://your_domain_or_IP),将看到WordPress安装向导。
admin,避免使用admin等弱密码);点击“Install WordPress”,等待安装完成。
安装完成后,点击“Log In”输入账号密码,进入WordPress后台(/wp-admin),即可开始配置网站(如选择主题、安装插件、发布文章)。
sudo apt install certbot python3-certbot-nginx -y && sudo certbot --nginx -d your_domain);/var/www)和数据库(mysqldump -u wp_user -p wordpress_db > backup.sql);通过以上步骤,即可在LNMP环境中成功部署WordPress。如需进一步优化(如缓存加速、CDN集成),可根据需求调整配置。