以下命令,确保系统是最新的
sudo apt update
sudo apt upgradesudo apt update
基于NGINX安装WordPress分4步
1,安装NGINX
2,安装mysql/mariadb
3,安装php
4,安装wordpress
开始安装
第一步,安装nginx
sudo apt install nginx
检查nginx运行状态
sudo systemctl status nginx
第二步,安装mysql/mariadb
mysql和mariadb选一个,个人比较推荐mariadb
把两种数据库安装都记录下来
安装mysql:
sudo apt install mysql-server

这个界面不一定会出现,出现的话就ok吧
检查一下状态
sudo systemctl status mysql

mariadb安装:
sudo apt install mariadb-server
跟mysql是一样的。
无论mysql还是mariadb安装完成,要初始化一下
mysql_secure_installation
会让你创建root密码,一路y
ok,进入数据库
sudo mysql -u root -p
创建wordpress数据库
CREATE DATABASE WordPress CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
创建一个mysql用户,专门给wordpress用,并设置权限,根据你自己喜欢的设置用户名和密码
CREATE USER 'wordpress'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON WordPress.* TO 'wordpress'@'localhost';
ok,数据库这边就弄好了
第三步,安装php和php扩展
sudo apt install php-fpm
sudo apt install php-mysql php-curl php-dom php-exif php-fileinfo php-imagick php-mbstring php-xml php-zip php-intl php-mysql
该命令会安装最新版php

问你重启哪些服务?看你情况吧,我全部重启ok
在安装过程中,你应该能看到安装的版本。
查看php状态,我的是8.1,别的版本改一下版本号
sudo systemctl status php8.1-fpm
ok,到现在LEMP环境已经安装好了
第四步,安装WordPress
先创建html目录,没有的创建,有就跳过
sudo mkdir -p /var/www/html/
进入目录
cd /var/www/html/
下载wordpress安装包
wget https://wordpress.org/latest.tar.gz
解压
tar -zxvf latest.tar.gz
cd wordpress

改变wrodpress的拥有者,nginx是用www-data用户,所以把wrodpress给到www-data用户和www-data组
sudo chown -R www-data:www-data /var/www/html/wordpress
ok,接下来设置wprdpress的配置文件
cd /var/www/html/wordpress/
sudo cp wp-config-sample.php wp-config.php
sudo nano wp-config.php

需要设置的有:
DB_NAME:数据库名称
DB_USER:访问数据库用户
DB_PASSWORD:访问数据用户的密码
这些在上面我们都已经设置过了
一一对应填好
ctrl+o保存,填写文件名,enter保存
ctrl+x退出
现在设置nginx
sudo nano /etc/nginx/conf.d/wp.conf
文件名根据自己喜好
加入以下内容
server {
listen 443 ssl;
#配置HTTPS的默认访问端口为443。
#如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。
#如果您使用Nginx 1.15.0及以上版本,请使用listen 443 ssl代替listen 443和ssl on。
root /var/www/html/wordpress;
index index.php index.html index.htm;
server_name yourdomain;#需要将yourdomain替换成证书绑定的域名。
ssl_certificate cert/你的pem文件;
ssl_certificate_key cert/你的key文件;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
#表示使用的加密套件的类型。
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;#表示使用的TLS协议的类型,您需要自行评估是否配置TLSv1.1协议。
ssl_prefer_server_ciphers on;
client_max_body_size 500M;
location / {
try_files $uri $uri/ /index.php?$args;
}
location = /favicon.ico {
log_not_found off;
access_log off;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
expires max;
log_not_found off;
}
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
server {
listen 80;
server_name yourdomain; #需要将yourdomain替换成证书绑定的域名。
rewrite ^(.*)$ https://$host$1; #将所有HTTP请求通过rewrite指令重定向到HTTPS。
location / {
index index.html index.htm;
}
}
保存退出
检查代码错误,没问题就重启nginx
sudo nginx -t
sudo systemctl restart nginx
输入你的域名,

完成