一、LNMP环境简介
LNMP是指Linux+Nginx+MySQL+PHP这一经典网站服务器架构组合。与传统的LAMP(Linux+Apache+MySQL+PHP)相比,LNMP架构具有更高的并发处理能力和更低的内存消耗,特别适合中小型网站和博客系统。WordPress作为全球最流行的内容管理系统(CMS),在LNMP环境下运行可以获得优异的性能表现。
二、准备工作
在开始构建LNMP环境前,需要做好以下准备:
- 服务器选择:推荐使用CentOS 7/8或Ubuntu 18.04/20.04等主流Linux发行版
- 系统更新:执行
sudo apt update && sudo apt upgrade -y
(Ubuntu)或sudo yum update -y
(CentOS) - 创建非root用户:建议使用普通用户操作,通过sudo获取权限
三、安装Nginx服务器
- 安装Nginx:
# Ubuntu/Debian
sudo apt install nginx -y
# CentOS/RHEL
sudo yum install epel-release -y
sudo yum install nginx -y
- 启动并设置开机自启:
sudo systemctl start nginx
sudo systemctl enable nginx
- 验证安装:浏览器访问服务器IP,应看到Nginx欢迎页面
四、安装MySQL数据库
- 安装MySQL服务器:
# Ubuntu/Debian
sudo apt install mysql-server -y
# CentOS/RHEL
sudo yum install mysql-server -y
- 安全配置MySQL:
sudo mysql_secure_installation
按照提示设置root密码、移除匿名用户、禁止root远程登录等
- 启动并设置开机自启:
sudo systemctl start mysqld
sudo systemctl enable mysqld
五、安装PHP及必要扩展
- 安装PHP和常用扩展:
# Ubuntu/Debian
sudo apt install php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip -y
# CentOS/RHEL
sudo yum install php-fpm php-mysqlnd php-curl php-gd php-mbstring php-xml php-soap php-intl php-zip -y
- 配置PHP-FPM:
编辑
/etc/php-fpm.d/www.conf
(CentOS)或/etc/php/7.x/fpm/pool.d/www.conf
(Ubuntu):
user = nginx
group = nginx
listen = /run/php-fpm/www.sock
listen.owner = nginx
listen.group = nginx
- 启动PHP-FPM:
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
六、配置Nginx支持PHP
- 创建网站配置文件
/etc/nginx/conf.d/wordpress.conf
:
server {
listen 80;
server_name your_domain.com;
root /var/www/wordpress;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
location ~ /\.ht {
deny all;
}
}
- 测试配置并重启Nginx:
sudo nginx -t
sudo systemctl restart nginx
七、安装并配置WordPress
- 创建网站目录并设置权限:
sudo mkdir -p /var/www/wordpress
sudo chown -R nginx:nginx /var/www/wordpress
sudo chmod -R 755 /var/www/wordpress
- 下载最新版WordPress:
cd /tmp
wget https://wordpress.org/latest.tar.gz
tar -xzvf latest.tar.gz
sudo cp -r wordpress/* /var/www/wordpress/
- 创建WordPress数据库:
mysql -u root -p
在MySQL命令行中执行:
CREATE DATABASE wordpress;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'your_strong_password';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
- 配置WordPress:
cd /var/www/wordpress
cp wp-config-sample.php wp-config.php
nano wp-config.php
修改数据库连接信息:
define('DB_NAME', 'wordpress');
define('DB_USER', 'wpuser');
define('DB_PASSWORD', 'your_strong_password');
define('DB_HOST', 'localhost');
- 设置文件权限:
sudo chown -R nginx:nginx /var/www/wordpress
sudo find /var/www/wordpress -type d -exec chmod 750 {} \;
sudo find /var/www/wordpress -type f -exec chmod 640 {} \;
八、完成WordPress安装
- 浏览器访问服务器IP或域名,按照WordPress安装向导完成安装
- 设置网站标题、管理员账号等信息
- 登录WordPress后台(
your_domain.com/wp-admin
)进行进一步配置
九、安全加固建议
- 限制PHP函数:编辑
php.ini
,添加:
disable_functions = exec,passthru,shell_exec,system,proc_open,popen
- 安装防火墙:
# Ubuntu
sudo apt install ufw
sudo ufw allow 'Nginx Full'
sudo ufw enable
# CentOS
sudo yum install firewalld
sudo systemctl start firewalld
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
- 定期更新系统组件:
# Ubuntu
sudo apt update && sudo apt upgrade -y
# CentOS
sudo yum update -y
通过以上步骤,您已成功搭建了LNMP环境并部署了WordPress网站。后续可以根据需要安装主题、插件,并进一步优化服务器性能和安全设置。