Ubuntu 下安装并使用WordPress

网站运维

使用 Nginx + MariaDB + PHP 8.4 搭建 WordPress 并优化配置

1. 环境准备

在 Linux 服务器上,我们将使用以下组件来搭建 WordPress:

  • Nginx:作为 Web 服务器
  • MariaDB:作为数据库
  • PHP 8.4:用于运行 WordPress

1.1 安装必要软件包

sudo apt update && sudo apt upgrade -y
sudo apt install nginx mariadb-server php8.4-fpm php8.4-mysql php8.4-xml php8.4-curl php8.4-gd php8.4-mbstring unzip -y

1.2 启动并配置 MariaDB

sudo systemctl start mariadb
sudo systemctl enable mariadb
sudo mysql_secure_installation

创建 WordPress 数据库和用户:

sudo mysql -u root -p
CREATE DATABASE wordpress;
CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wp_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

2. 安装 WordPress

mkdir /var/www & cd /var/www/
sudo wget https://cn.wordpress.org/latest-zh_CN.zip
sudo unzip latest.zip
sudo mv wordpress /var/www/wordpress

2.1 赋予 www-data 用户权限

sudo chown -R www-data:www-data /var/www/wordpress
sudo chmod -R 755 /var/www/wordpress
sudo chmod 644 /var/www/wordpress/wp-config.php

3. Nginx 配置 WordPress

3.1 Nginx 服务器块配置

编辑 /etc/nginx/conf.d/wordpress.conf 文件:

server {
listen 443 ssl;
listen [::]:443 ssl;
http2 on;

server_name www.yourdomain.com;

ssl_certificate /etc/nginx/cert/techmingle.cer; //需要你用acme.sh申请CA证书
ssl_certificate_key /etc/nginx/cert/techmingle.key;

root /var/www/wordpress;
index index.php index.html index.htm;

location / {
try_files $uri $uri/ /index.php?$args;
}

location ~ \.php$ {
include fastcgi.conf;
fastcgi_pass unix:/var/run/php/php8.4-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_cache php_cache;
fastcgi_cache_valid 200 1h;
fastcgi_cache_use_stale error timeout invalid_header updating;
fastcgi_cache_lock on;

fastcgi_buffer_size 16k;
fastcgi_buffers 4 16k;
fastcgi_busy_buffers_size 32k;
}

location ~* \.(jpg|jpeg|png|gif|ico|css|js|svg|woff|woff2|eot|ttf|otf|ttc|mp4|webm|ogg|ogv|avi|mkv)$ {
expires max;
access_log off;
log_not_found off;
add_header Cache-Control "public, no-transform";
}


location ~ /\.(?!well-known) {
deny all;
}

location = /xmlrpc.php {
deny all;
return 404;
}
}
server {
listen 80;
listen [::]:80;
server_name yourdomain.com;
return 301 https://www.techmingle.org$request_uri;
}

server {
listen 443 ssl;
listen [::]:443 ssl;
server_name yourdomain.com;

ssl_certificate /etc/nginx/cert/techmingle.cer;
ssl_certificate_key /etc/nginx/cert/techmingle.key;

return 301 https://www.yourdomain.com$request_uri;
}

4 启动服务

sudo systemctl restart nginx
sudo systemctl restart php8.4-fpm

5. 访问 WordPress

在浏览器中访问 https://yourdomain.com,完成 WordPress 安装。