欢迎光临
我们一直在努力

在Linux服务器上部署与管理WordPress的完整指南

WordPress作为全球最流行的内容管理系统,在Linux服务器上的部署是许多网站管理员和开发者的必备技能。本指南将带您从零开始,在Linux服务器上搭建一个安全、高效的WordPress网站。

一、环境准备

1.1 服务器要求

  • Linux服务器(推荐Ubuntu 20.04+或CentOS 7+)
  • 最小1GB内存
  • 至少20GB存储空间
  • 稳定的网络连接

1.2 安装必要的软件包

Ubuntu/Debian系统:
# 更新系统
sudo apt update && sudo apt upgrade -y

# 安装LAMP栈(Linux, Apache, MySQL, PHP)
sudo apt install apache2 mysql-server php libapache2-mod-php php-mysql php-cli php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip -y
CentOS/RHEL系统:
# 安装EPEL仓库
sudo yum install epel-release -y

# 安装LAMP栈
sudo yum install httpd mariadb-server mariadb php php-mysql php-gd php-mbstring php-xml php-soap php-curl -y

# 启动服务
sudo systemctl start httpd
sudo systemctl start mariadb
sudo systemctl enable httpd
sudo systemctl enable mariadb

二、配置数据库

2.1 安全配置MySQL/MariaDB

# 运行安全安装脚本
sudo mysql_secure_installation

# 登录MySQL
sudo mysql -u root

# 创建WordPress数据库
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

# 创建专用用户
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'YourStrongPassword123!';

# 授予权限
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';

# 刷新权限
FLUSH PRIVILEGES;

# 退出
EXIT;

三、安装和配置WordPress

3.1 下载WordPress

# 进入web目录
cd /var/www/html

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

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

# 重命名目录(可选)
sudo mv wordpress mysite

# 设置权限
sudo chown -R www-data:www-data /var/www/html/mysite/
sudo chmod -R 755 /var/www/html/mysite/

3.2 配置wp-config.php

# 复制配置文件
cd /var/www/html/mysite
sudo cp wp-config-sample.php wp-config.php

# 编辑配置文件
sudo nano wp-config.php
在配置文件中,找到以下行并修改数据库信息:
// ** MySQL 设置 - 具体信息来自您正在使用的主机 ** //
define('DB_NAME', 'wordpress');
define('DB_USER', 'wpuser');
define('DB_PASSWORD', 'YourStrongPassword123!');
define('DB_HOST', 'localhost');
define('DB_CHARSET', 'utf8');
define('DB_COLLATE', '');

// 为WordPress设置唯一的密钥
// 您可以从 https://api.wordpress.org/secret-key/1.1/salt/ 获取
define('AUTH_KEY',         '在此放置您唯一的短语');
define('SECURE_AUTH_KEY',  '在此放置您唯一的短语');
define('LOGGED_IN_KEY',    '在此放置您唯一的短语');
define('NONCE_KEY',        '在此放置您唯一的短语');
define('AUTH_SALT',        '在此放置您唯一的短语');
define('SECURE_AUTH_SALT', '在此放置您唯一的短语');
define('LOGGED_IN_SALT',   '在此放置您唯一的短语');
define('NONCE_SALT',       '在此放置您唯一的短语');

四、配置Apache虚拟主机

4.1 创建虚拟主机配置文件

# 创建配置文件
sudo nano /etc/apache2/sites-available/mysite.conf
添加以下内容:
<VirtualHost *:80>
    ServerAdmin admin@yourdomain.com
    ServerName yourdomain.com
    ServerAlias www.yourdomain.com
    DocumentRoot /var/www/html/mysite

    <Directory /var/www/html/mysite>
        Options FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

4.2 启用站点和模块

# 禁用默认站点
sudo a2dissite 000-default.conf

# 启用新站点
sudo a2ensite mysite.conf

# 启用rewrite模块
sudo a2enmod rewrite

# 重启Apache
sudo systemctl restart apache2

五、SSL证书配置(Let’s Encrypt)

5.1 安装Certbot

# Ubuntu/Debian
sudo apt install certbot python3-certbot-apache -y

# CentOS/RHEL
sudo yum install certbot python3-certbot-apache -y

5.2 获取SSL证书

sudo certbot --apache -d yourdomain.com -d www.yourdomain.com

六、安全加固

6.1 文件权限优化

# 设置安全权限
sudo find /var/www/html/mysite -type d -exec chmod 755 {} \;
sudo find /var/www/html/mysite -type f -exec chmod 644 {} \;

# wp-config.php特殊权限
sudo chmod 440 /var/www/html/mysite/wp-config.php

# 限制访问wp-config.php
sudo nano /var/www/html/mysite/.htaccess
.htaccess中添加:
# 保护wp-config.php
<files wp-config.php>
order allow,deny
deny from all
</files>

# 禁用目录浏览
Options -Indexes

# 限制XML-RPC访问
<Files xmlrpc.php>
order deny,allow
deny from all
</Files>

6.2 防火墙配置

# Ubuntu使用UFW
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 22/tcp
sudo ufw enable

# CentOS使用firewalld
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

七、性能优化

7.1 安装和配置缓存插件

# 安装OPcache
sudo apt install php-opcache -y

# 编辑PHP配置
sudo nano /etc/php/7.4/apache2/php.ini
修改以下设置:
opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1

7.2 启用Gzip压缩

sudo a2enmod deflate
sudo a2enmod headers
sudo systemctl restart apache2

八、自动备份脚本

创建一个简单的备份脚本:
#!/bin/bash
# 备份脚本:/usr/local/bin/backup-wordpress.sh

# 配置变量
BACKUP_DIR="/backups/wordpress"
DATE=$(date +%Y%m%d_%H%M%S)
DB_NAME="wordpress"
DB_USER="wpuser"
DB_PASS="YourStrongPassword123!"
SITE_PATH="/var/www/html/mysite"

# 创建备份目录
mkdir -p $BACKUP_DIR

# 备份数据库
mysqldump -u$DB_USER -p$DB_PASS $DB_NAME > $BACKUP_DIR/db_backup_$DATE.sql
gzip $BACKUP_DIR/db_backup_$DATE.sql

# 备份网站文件
tar -czf $BACKUP_DIR/files_backup_$DATE.tar.gz $SITE_PATH

# 删除7天前的旧备份
find $BACKUP_DIR -type f -mtime +7 -delete

echo "备份完成:$BACKUP_DIR/files_backup_$DATE.tar.gz"
设置定时任务:
# 每天凌晨2点执行备份
sudo crontab -e
# 添加以下行
0 2 * * * /usr/local/bin/backup-wordpress.sh

九、故障排查常用命令

# 查看Apache错误日志
sudo tail -f /var/log/apache2/error.log

# 检查PHP错误
sudo tail -f /var/log/apache2/php_error.log

# 检查MySQL状态
sudo systemctl status mysql

# 测试PHP配置
php -i | grep "Loaded Configuration File"

# 检查磁盘空间
df -h

# 检查内存使用
free -m

十、最佳实践建议

  1. 定期更新:保持WordPress核心、主题和插件为最新版本
  2. 使用子主题:修改主题时创建子主题,避免直接修改父主题
  3. 实施备份策略:除了自动备份,定期进行异地备份
  4. 监控性能:使用如New Relic、Blackfire等工具监控性能
  5. 使用CDN:通过aiwcloud等CDN提升全球访问速度
  6. 限制登录尝试:安装登录保护插件,防止暴力破解
  7. 禁用文件编辑:在wp-config.php中添加define('DISALLOW_FILE_EDIT', true);
通过遵循本指南,您将能够在Linux服务器上部署一个安全、高效且易于维护的WordPress网站。记得根据实际需求调整配置参数,并定期进行安全扫描和性能优化。
赞(0) 打赏
未经允许不得转载:kkce - 国外主机测评、国外VPS、国外服务器、国外云服务器 » 在Linux服务器上部署与管理WordPress的完整指南

评论 抢沙发

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册