前言
在现代的 Web 开发中,搭建一个高效、稳定的网站环境是每个开发者必须掌握的技能之一。LEMP(Linux + Nginx + MySQL/MariaDB + PHP)作为一种轻量、高效的 Web 服务器架构,越来越受到开发者的青睐。与传统的 LAMP 环境(Apache 代替 Nginx)相比,LEMP 环境更注重性能优化,尤其适合需要高并发处理和大流量的网站。
WordPress,作为全球最流行的内容管理系统(CMS),具有开源、易用、插件丰富等优点,成为了许多个人博客、企业官网以及电子商务网站的首选平台。如果你希望在自己的服务器上搭建一个 WordPress 网站,LEMP 环境将为你提供快速、稳定的支持。
本教程将带你一步步完成 LEMP 环境的搭建,并教你如何在此环境中部署和配置 WordPress 网站。无论你是初学者,还是已有一定经验的开发者,都能通过本文掌握搭建过程中的关键步骤。
安装 Nginx
在 LEMP 环境中,Nginx 作为 Web 服务器,以其高效、稳定和轻量的特点,成为许多高流量网站的首选。接下来,我们将通过官方渠道在 Ubuntu 系统中安装 Nginx。
为了确保 Nginx 安装包的安全性,我们需要导入 Nginx 官方的 GPG 签名密钥:
导入 Nginx 官方签名密钥
curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
此命令将下载并转换 Nginx 的签名密钥,以便系统可以验证安装包的完整性和来源。
添加 Nginx 官方 APT 存储库
接着,我们需要将 Nginx 官方的 APT 存储库添加到系统中,确保能够从官方源安装 Nginx:
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" \
| sudo tee /etc/apt/sources.list.d/nginx.list
这条命令会自动根据你的 Ubuntu 版本(通过 lsb_release -cs
)选择对应的 Nginx 包版本,并将其源地址添加到系统的 APT 配置中。
设置存储库优先级(Pinning)
为了确保 Nginx 总是从官方源安装并避免使用其他第三方源的包,我们需要设置一个存储库优先级策略:
echo -e "Package: *\nPin: origin nginx.org\nPin: release o=nginx\nPin-Priority: 900\n" \
| sudo tee /etc/apt/preferences.d/99nginx
这将会使得来自 Nginx 官方源的包拥有最高优先级,确保系统始终使用官方版本。
更新软件包列表并安装 Nginx
完成以上步骤后,更新系统的软件包列表,并安装 Nginx:
sudo apt update
sudo apt install nginx
安装完成后,Nginx 将会自动启动,并且可以通过访问服务器的 IP 地址来检查 Nginx 是否成功运行。
安装php
在 LEMP 环境中,PHP 是处理动态内容和与数据库交互的关键组件。通过 PHP,WordPress 能够动态生成页面内容,并与 MySQL 数据库进行交互。接下来,我们将安装 PHP 及其所需的扩展,以确保 WordPress 能够正常运行。
添加 PHP 官方 PPA
sudo add-apt-repository ppa:ondrej/php
sudo apt update
安装 PHP 及相关扩展
apt install php8.4 php8.4-fpm php8.4-mysqli php8.4-curl php8.4-dom php8.4-imagick php8.4-mbstring php8.4-zip php8.4-gd php8.4-intl
配置 PHP-FPM 与 Nginx 配合
编辑 Nginx 网站配置文件时,通常需要修改 /etc/nginx/nginx.conf
或 /etc/nginx/conf.d/default.conf
文件。需要注意的是,在某些情况下,nginx.conf
文件中可能会使用 include /etc/nginx/conf.d/*.conf;
指令,直接包含 conf.d
文件夹中的所有配置文件。因此,修改配置时,除了可以直接编辑 nginx.conf
,也可以选择编辑位于 conf.d
目录中的其他配置文件。
我们找到default.conf替换成
server {
listen 80;
server_name localhost;
#access_log /var/log/nginx/host.access.log main;
index index index.php index.html index.htm;
root /var/www/html;
location / {
try_files $uri $uri/ /index.php?$args;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
#root html;
include fastcgi_params;
fastcgi_pass unix:/var/run/php/php8.4-fpm.sock; //如果你安装的其他的版本,就需要自己看一下自己的版本是啥
#fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
#include fastcgi_params;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
测试 PHP 配置
<?php phpinfo(); ?>
通过访问 http://your_ip/index.php
,你应该能够看到 PHP 配置页面,确认 PHP 是否正确安装。
使用 Docker Compose 安装 MySQL
MySQL 或 MariaDB 是 LEMP 环境中的数据库,用于存储 WordPress 网站的数据。我们将使用 Docker Compose 来管理 MySQL 容器,以便更灵活、便捷地进行管理。
安装 Docker 和 Docker Compose
确保系统已安装 Docker 和 Docker Compose。如果未安装,请参考官方文档进行安装。
创建 docker-compose.yml
文件
在项目目录下创建一个 docker-compose.yml
文件,定义 MySQL 服务配置:
services:
mysql:
image: mysql:9.1.0
container_name: mysql
restart: always
volumes:
- ./mysql/data:/var/lib/mysql
ports:
- 3306:3306
security_opt:
- seccomp:unconfined
environment:
- MYSQL_ROOT_PASSWORD=password
- MYSQL_DATABASE: wordpress # 创建一个名为 wordpress 的数据库
- MYSQL_USER: wordpressuser # 创建一个名为 wordpressuser 的用户
- MYSQL_PASSWORD: wordpresspassword # 为 wordpressuser 设置密码
启动 MySQL 容器
docker-compose up -d
使用 docker ps
命令查看容器是否成功启动。
连接 MySQL 容器
要连接到 MySQL 容器中的数据库,可以使用以下命令:
docker exec -it mysql-container mysql -u root -p
输入密码后,进入 MySQL 命令行界面,验证数据库是否创建成功:
SHOW DATABASES;
安装wordpress
在 LEMP 环境中,安装 WordPress 需要下载 WordPress 文件并配置 Nginx、PHP 和 MySQL,确保 WordPress 可以正常运行。
下载 WordPress 文件
首先,我们需要下载 WordPress 的最新版本并将其解压到适当的目录。进入 /var/www/html
目录并执行以下命令:
cd /var/www/html
sudo wget https://cn.wordpress.org/latest-zh_CN.zip
sudo tar -xzvf latest.tar.gz
设置 WordPress 目录权限
为了确保 Nginx 和 PHP-FPM 能够正常访问和写入 WordPress 文件,设置正确的权限非常重要。执行以下命令:
sudo chown -R www-data:www-data /var/www/html/wordpress
sudo chmod -R 755 /var/www/html/wordpress
配置 Nginx
把root /var/www/html
改成root /var/www/html/wordpress
定位到wordpress的目录
访问 WordPress 安装界面
在浏览器中访问 http://your_ip
或 http://your_domain
,你将看到 WordPress 安装界面。按照提示完成安装,输入站点信息、管理员账号和密码,完成 WordPress 安装。
恭喜你!你已经成功搭建了一个高效、稳定的 WordPress 网站。通过本教程,我们覆盖了从安装 Nginx、PHP、MySQL 到配置 WordPress 的每一个步骤。LEMP 环境因其高性能和低资源占用,特别适合高流量和高并发的网站需求。
在搭建完成后,记得定期备份数据,并根据实际需求进行性能优化和安全加固。你可以进一步优化 Nginx 配置,安装更多 PHP 扩展,或配置 SSL 加密来提升网站的安全性和性能。
希望本教程能帮助你顺利搭建自己的 WordPress 网站。如果遇到任何问题,欢迎随时交流或查阅相关文档。祝你在网站建设的道路上取得成功,创造更多精彩内容!
文章评论
我记得之前都是LNMP
@Leak 对,LEMP是标准命名,LNMP是中文命名