记录一下使用 LNMP + WordPress 搭建的过程
服务器 | 阿里云 ECS 2H2G 3M |
操作系统 | Debian 12.8(64 位) |
MySQL | 8.4.3 |
Nginx | 1.22.1 |
PHP | 8.2.26 |
WordPress | 6.6.2 |
管理工具 | Xshell、Xftp、Navicat |
步骤一:安装 MySQL
-
下载并安装 MySql 官方包
// 需要自己手动创建目录 cd /home/l4kkS41 wget https://repo.mysql.com/mysql-apt-config_0.8.32-1_all.deb dpkg -i mysql-apt-config_0.8.32-1_all.deb
-
更新软件包列表
apt clean && apt update
-
安装 MySQL
apt install -y mysql-server
-
设置 root 用户密码
-
安装完成,执行 MySQL 安全初始化脚本
// 按照提示完成安全设置 mysql_secure_installation // 输入 root 用户的密码 Enter password for user root: ******** // 是否安装验证密码组件? Would you like to setup VALIDATE PASSWORD component? No // 是否更改 root 用户的密码 Change the password for root? No // 是否删除 MySQL 自带的匿名用户 Remove anonymous users? Yes // 是否禁止 root 用户远程登录 Disallow root login remotely? Yes // 是否移除测试数据库 Remove test database and access to it? Yes // 是否重新加载权限表 Reload privilege tables now? Yes
-
创建 WordPress 数据库
// 登录 MySql 数据库 mysql -u root -p // 数据库名称:wordpress // 字符集:utf8mb4 // 排序规则:utf8mb4_0900_ai_ci CREATE DATABASE `wordpress` CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_0900_ai_ci'; // 退出 MySql 会话 exit;
使用以上命令行或者
Navicat
创建数据库 -
(可选)允许 root 用户远程登录
// 允许任意 IP 连接 UPDATE mysql.user SET host = '%' WHERE user = 'root'; // 刷新权限 FLUSH PRIVILEGES;
确保服务器的安全组策略允许
3306
端口的访问
步骤二:安装 Nginx
-
安装 Nginx
apt install -y nginx
-
删除默认配置
rm /etc/nginx/sites-available/default /etc/nginx/sites-enabled/default
-
配置 Nginx
创建新的配置文件
/etc/nginx/conf.d/wordpress.conf
,并根据实际情况修改server_name
、root
、ssl_certificate
和ssl_certificate_key
。// wordpress.conf server { listen 80; listen [::]:80; server_name example.com; return 301 https://$host$request_uri; } server { listen 443 ssl default_server; listen [::]:443 ssl default_server; root /home/l4kkS41/WordPress; server_name example.com; index index.php index.html index.htm; ssl_certificate /home/l4kkS41/ssl/cert.pem; ssl_certificate_key /home/l4kkS41/ssl/cert.key; ssl_protocols TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers on; ssl_ciphers "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305"; ssl_session_cache shared:SSL:10m; ssl_session_timeout 5m; add_header X-Content-Type-Options "nosniff"; add_header X-Frame-Options "SAMEORIGIN"; add_header X-XSS-Protection "1; mode=block"; add_header Referrer-Policy "no-referrer"; add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always; add_header Content-Security-Policy "default-src 'self';"; add_header Permissions-Policy "geolocation=(), midi=(), sync-xhr=(), microphone=(), camera=(), magnetometer=(), gyroscope=(), speaker=(), vibrate=(), fullscreen=(), payment=()"; location / { try_files $uri $uri/ /index.php?$args; } location ~ \.php$ { fastcgi_pass unix:/run/php/php8.2-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; add_header Cache-Control "no-store"; } location = /robots.txt { allow all; } location ~* \.(jpg|jpeg|png|gif|ico|css|js|woff|woff2|svg)$ { expires 1y; add_header Cache-Control "public, max-age=31536000, immutable"; } location ~* \.(7z|zip|rar|tar|gz|bak|conf|log|txt|sql)$ { deny all; } autoindex off; }
步骤三:安装 PHP
-
安装 PHP 及扩展
apt install -y php-fpm php-curl php-imagick php-intl php-mbstring php-mysql php-xml php-zip
步骤四:上传并配置 WordPress
-
上传 WordPress
使用 Xftp 将 WordPress 文件上传至
/home/l4kkS41/WordPress
目录 -
设置目录权限
chown -R www-data:www-data /home/l4kkS41/WordPress chmod -R 755 /home/l4kkS41
步骤五:重启服务并完成安装
-
重启 nginx 服务
nginx -s reload
-
通过浏览器访问
在浏览器中访问域名,按照提示完成 WordPress 的安装
数据库名:wordpress 用户名:root 密码:******** 数据库主机:localhost 表前缀:wp_