好的,为您提供从零开始在低配置Ubuntu Server上使用Nginx安装WordPress的完整指令。

低配置Ubuntu Server安装WordPress完整指南(Nginx版)

第一步:系统准备

“`bash
# 1. 更新系统
sudo apt update
sudo apt upgrade -y

# 2. 安装基础工具(可选)
sudo apt install curl wget nano -y

# 3. 设置时区(可选)
sudo timedatectl set-timezone Asia/Shanghai
“`

第二步:安装MySQL数据库

“`bash
# 1. 安装MySQL
sudo apt install mysql-server -y

# 2. 启动并启用服务
sudo systemctl start mysql
sudo systemctl enable mysql

# 3. 运行安全配置
sudo mysql_secure_installation
“`

安全配置步骤(交互式):

“`
1. 是否设置验证密码插件?按Enter跳过
2. 输入root密码(输入两次,记住这个密码)
3. 是否移除匿名用户?输入 Y
4. 是否禁止root远程登录?输入 Y
5. 是否移除测试数据库?输入 Y
6. 是否重新加载权限表?输入 Y
“`

第三步:创建WordPress数据库

“`bash
# 1. 登录MySQL
sudo mysql -u root -p
# 输入上面设置的root密码

# 2. 在MySQL命令行中执行以下命令
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER ‘wpuser’@’localhost’ IDENTIFIED BY ‘StrongPassword123!’; # 请修改密码
GRANT ALL PRIVILEGES ON wordpress.* TO ‘wpuser’@’localhost’;
FLUSH PRIVILEGES;
EXIT;
“`

第四步:安装PHP和Nginx

“`bash
# 1. 添加PHP仓库(Ubuntu 22.04+可能需要)
sudo apt install software-properties-common -y
sudo add-apt-repository ppa:ondrej/php -y
sudo apt update

# 2. 安装PHP和必要扩展
sudo apt install php8.1-fpm php8.1-mysql php8.1-common php8.1-mbstring php8.1-xmlrpc php8.1-gd php8.1-xml php8.1-cli php8.1-curl php8.1-zip -y

# 3. 安装Nginx
sudo apt install nginx -y
“`

第五步:下载WordPress

“`bash
# 1. 进入web目录
cd /tmp

# 2. 下载最新WordPress
wget https://wordpress.org/latest.tar.gz

# 3. 解压
tar -xzvf latest.tar.gz

# 4. 移动到网站目录
sudo mv wordpress /var/www/

# 5. 设置权限
sudo chown -R www-data:www-data /var/www/wordpress
sudo chmod -R 755 /var/www/wordpress
“`

第六步:配置Nginx

“`bash
# 1. 创建Nginx配置文件
sudo nano /etc/nginx/sites-available/wordpress
“`

粘贴以下配置(按Ctrl+X,然后Y,Enter保存):

“`nginx
server {
listen 80;
listen [::]:80;

# 使用服务器IP访问,如果有域名可以修改
server_name _;

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

# 访问日志(可选,调试时可开启)
# access_log /var/log/nginx/wordpress_access.log;
error_log /var/log/nginx/wordpress_error.log;

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

# 缓存静态文件
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
expires 30d;
add_header Cache-Control “public, immutable”;
}

# PHP处理
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;
}

# 安全设置
location ~ /\.ht {
deny all;
}

location = /favicon.ico {
log_not_found off;
access_log off;
}

location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
}
“`

“`bash
# 2. 启用站点
sudo ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/

# 3. 禁用默认站点
sudo rm /etc/nginx/sites-enabled/default

# 4. 测试Nginx配置
sudo nginx -t

# 5. 重启Nginx
sudo systemctl restart nginx
“`

第七步:配置PHP-FPM

“`bash
# 1. 编辑PHP-FPM配置(根据PHP版本调整路径)
sudo nano /etc/php/8.1/fpm/pool.d/www.conf
“`

找到并修改以下行(确保值与下面一致):

“`ini
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
“`

“`bash
# 2. 重启PHP-FPM
sudo systemctl restart php8.1-fpm

# 3. 启用PHP-FPM开机启动
sudo systemctl enable php8.1-fpm
“`

第八步:配置WordPress

“`bash
# 1. 复制配置文件
cd /var/www/wordpress
sudo cp wp-config-sample.php wp-config.php

# 2. 编辑配置文件
sudo nano wp-config.php
“`

找到以下部分并修改:

“`php
// 数据库设置
define(‘DB_NAME’, ‘wordpress’);
define(‘DB_USER’, ‘wpuser’);
define(‘DB_PASSWORD’, ‘StrongPassword123!’); # 改为第三步设置的密码
define(‘DB_HOST’, ‘localhost’);
define(‘DB_CHARSET’, ‘utf8mb4’);

// 安全密钥(可选但建议)
// 访问 https://api.wordpress.org/secret-key/1.1/salt/ 生成并替换
“`

第九步:调整防火墙(如果启用)

“`bash
# 检查防火墙状态
sudo ufw status

# 如果启用,放行HTTP
sudo ufw allow ‘Nginx HTTP’
sudo ufw reload
“`

第十步:优化MySQL配置(低内存优化)

“`bash
# 1. 备份原配置
sudo cp /etc/mysql/mysql.conf.d/mysqld.cnf /etc/mysql/mysql.conf.d/mysqld.cnf.backup

# 2. 编辑配置
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
“`

在[mysqld]部分添加或修改:

“`ini
# 低内存优化配置(适用于512MB-1GB内存)
innodb_buffer_pool_size = 64M
key_buffer_size = 16M
max_connections = 20
thread_cache_size = 4
query_cache_type = 0
query_cache_size = 0
skip-name-resolve
max_allowed_packet = 16M
innodb_log_file_size = 32M
innodb_flush_log_at_trx_commit = 2
“`

“`bash
# 3. 重启MySQL
sudo systemctl restart mysql
“`

第十一步:完成安装

“`bash
# 1. 检查所有服务状态
sudo systemctl status nginx
sudo systemctl status mysql
sudo systemctl status php8.1-fpm

# 2. 设置开机自启
sudo systemctl enable nginx
sudo systemctl enable mysql
“`

第十二步:访问WordPress完成安装

1. 打开浏览器,访问:http://你的服务器IP地址
2. 按照WordPress安装向导:
· 选择语言(中文)
· 设置站点标题(如”工作日志”)
· 设置管理员用户名(不要用admin)
· 设置强密码
· 设置邮箱地址
3. 点击”安装WordPress”
4. 登录后台:http://你的服务器IP地址/wp-admin

快速检查脚本

“`bash
# 创建一个检查脚本
cat << 'EOF' > ~/check_installation.sh
#!/bin/bash
echo “=== 服务状态检查 ===”
systemctl status nginx –no-pager | grep -A 3 “Active:”
systemctl status mysql –no-pager | grep -A 3 “Active:”
systemctl status php8.1-fpm –no-pager | grep -A 3 “Active:”

echo -e “\n=== 端口监听检查 ===”
netstat -tulpn | grep -E ‘:80|:3306’

echo -e “\n=== 文件权限检查 ===”
ls -la /var/www/wordpress/wp-config.php

echo -e “\n=== 磁盘使用 ===”
df -h /var

echo -e “\n=== 内存使用 ===”
free -h
EOF

chmod +x ~/check_installation.sh
./check_installation.sh
“`

故障排除命令

“`bash
# 1. 查看错误日志
sudo tail -50 /var/log/nginx/wordpress_error.log
sudo tail -50 /var/log/php8.1-fpm.log

# 2. 测试PHP-FPM
sudo php-fpm8.1 -t

# 3. 测试数据库连接
mysql -u wpuser -p -e “SHOW DATABASES;”

# 4. 重载所有服务
sudo systemctl reload nginx
sudo systemctl reload php8.1-fpm
sudo systemctl reload mysql
“`

后期维护命令

“`bash
# 更新WordPress
cd /var/www/wordpress
sudo wp core update # 需要先安装wp-cli

# 备份数据库
mysqldump -u wpuser -p wordpress > ~/wordpress_backup_$(date +%Y%m%d).sql

# 查看资源使用
htop # 或安装后使用

# 重启所有服务
sudo systemctl restart nginx mysql php8.1-fpm
“`

安全增强建议(可选)

“`bash
# 1. 限制PHP函数(增强安全)
sudo nano /etc/php/8.1/fpm/php.ini
# 找到并修改:
disable_functions = exec,passthru,shell_exec,system,proc_open,popen

# 2. 安装防火墙
sudo apt install ufw -y
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw allow ‘Nginx HTTP’
sudo ufw enable

# 3. 安装fail2ban(防暴力破解)
sudo apt install fail2ban -y
sudo systemctl enable fail2ban
“`

完成以上步骤后,您的WordPress就应该正常运行了。访问服务器IP地址即可开始使用工作日志系统。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注