InfrawireInfrawire 标志文档

在Linux VPS上安装WordPress

本指南介绍如何在Linux VPS上安装WordPress。WordPress是世界上最流行的内容管理系统(CMS),被数百万个网站使用。

⚠️ 重要警告

📋 先决条件

  • 具有root或sudo访问权限的Linux VPS
  • 至少1 GB RAM(WordPress建议2 GB)
  • 至少10 GB可用磁盘空间
  • 指向您VPS IP的域名
  • 防火墙中开放端口80(HTTP)和443(HTTPS)

💡 基础设施推荐

为了获得最佳的WordPress性能,我们推荐使用我们的NVMe VPS用于中等流量网站,或我们的性能VPS用于需要大量CPU资源的高流量网站。NVMe驱动器可显著加速页面加载和数据库操作。

🔧 方法1:使用LAMP(Apache)安装

步骤1:更新系统

Bash
1# 更新软件包列表 2sudo apt update 3 4# 更新已安装的软件包 5sudo apt upgrade -y

步骤2:安装Apache

Bash
1# 安装Apache 2sudo apt install -y apache2 3 4# 启动Apache 5sudo systemctl start apache2 6 7# 启用Apache开机自启 8sudo systemctl enable apache2 9 10# 检查状态 11sudo systemctl status apache2

步骤3:安装MySQL

Bash
1# 安装MySQL Server 2sudo apt install -y mysql-server 3 4# 启动MySQL 5sudo systemctl start mysql 6 7# 启用MySQL开机自启 8sudo systemctl enable mysql 9 10# 保护MySQL安装 11sudo mysql_secure_installation

在保护过程中,您需要:

  • 设置MySQL的root密码
  • 删除匿名用户
  • 禁用远程root登录
  • 删除测试数据库
  • 重新加载权限

步骤4:创建WordPress数据库

Bash
# 连接到MySQL sudo mysql -u root -p

在MySQL中,运行以下命令:

SQL
1-- 创建数据库 2CREATE DATABASE wordpress_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; 3 4-- 为WordPress创建用户 5CREATE USER 'wordpress_user'@'localhost' IDENTIFIED BY '您的安全密码123!'; 6 7-- 授予用户所有权限 8GRANT ALL PRIVILEGES ON wordpress_db.* TO 'wordpress_user'@'localhost'; 9 10-- 应用更改 11FLUSH PRIVILEGES; 12 13-- 退出MySQL 14EXIT;

步骤5:安装PHP和必需的扩展

Bash
1# 安装PHP和WordPress所需的扩展 2sudo apt install -y php php-mysql php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip libapache2-mod-php 3 4# 检查PHP版本 5php -v

WordPress需要PHP 7.4或更高版本。要安装特定版本:

Bash
# 对于PHP 8.1(推荐) sudo apt install -y php8.1 php8.1-mysql php8.1-curl php8.1-gd php8.1-mbstring php8.1-xml php8.1-xmlrpc php8.1-soap php8.1-intl php8.1-zip libapache2-mod-php8.1

步骤6:下载WordPress

Bash
1# 转到临时目录 2cd /tmp 3 4# 下载最新版本的WordPress 5curl -O https://wordpress.org/latest.tar.gz 6 7# 解压存档 8tar xzf latest.tar.gz 9 10# 将WordPress复制到Web目录 11sudo cp -r wordpress/* /var/www/html/ 12 13# 设置正确的权限 14sudo chown -R www-data:www-data /var/www/html 15sudo chmod -R 755 /var/www/html

步骤7:配置WordPress

Bash
1# 创建配置文件 2cd /var/www/html 3sudo cp wp-config-sample.php wp-config.php 4 5# 编辑配置文件 6sudo nano wp-config.php

使用您的数据库信息修改以下行:

PHP
define( 'DB_NAME', 'wordpress_db' ); define( 'DB_USER', 'wordpress_user' ); define( 'DB_PASSWORD', '您的安全密码123!' ); define( 'DB_HOST', 'localhost' );

还添加这些安全行(生成唯一密钥):

PHP
1define('AUTH_KEY', '在此生成唯一密钥'); 2define('SECURE_AUTH_KEY', '在此生成唯一密钥'); 3define('LOGGED_IN_KEY', '在此生成唯一密钥'); 4define('NONCE_KEY', '在此生成唯一密钥'); 5define('AUTH_SALT', '在此生成唯一密钥'); 6define('SECURE_AUTH_SALT', '在此生成唯一密钥'); 7define('LOGGED_IN_SALT', '在此生成唯一密钥'); 8define('NONCE_SALT', '在此生成唯一密钥');

您可以在以下位置生成唯一密钥:https://api.wordpress.org/secret-key/1.1/salt/

步骤8:为WordPress配置Apache

Bash
1# 启用rewrite模块 2sudo a2enmod rewrite 3 4# 编辑Apache配置 5sudo nano /etc/apache2/sites-available/000-default.conf

添加或修改<Directory /var/www/html>部分:

Apache
1<Directory /var/www/html> 2 Options Indexes FollowSymLinks 3 AllowOverride All 4 Require all granted 5</Directory>

重启Apache:

Bash
sudo systemctl restart apache2

步骤9:通过Web界面完成安装

  1. 打开您的浏览器
  2. 转到:http://您的IPhttp://您的域名.com
  3. 按照WordPress安装向导:
    • 选择您的语言
    • 填写网站信息(标题、管理员用户、电子邮件、密码)
    • 点击安装WordPress

🔧 方法2:使用LEMP(Nginx)安装

步骤1:安装Nginx

Bash
1# 安装Nginx 2sudo apt install -y nginx 3 4# 启动Nginx 5sudo systemctl start nginx 6 7# 启用Nginx开机自启 8sudo systemctl enable nginx

步骤2:安装MySQL(与LAMP方法相同)

按照LAMP方法的步骤3和4安装MySQL并创建数据库。

步骤3:安装PHP-FPM

Bash
1# 安装PHP-FPM和扩展 2sudo apt install -y php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip 3 4# 对于PHP 8.1 5sudo apt install -y php8.1-fpm php8.1-mysql php8.1-curl php8.1-gd php8.1-mbstring php8.1-xml php8.1-xmlrpc php8.1-soap php8.1-intl php8.1-zip

步骤4:下载WordPress

按照LAMP方法的步骤6下载并安装WordPress。

步骤5:为WordPress配置Nginx

Bash
# 为您的网站创建配置文件 sudo nano /etc/nginx/sites-available/wordpress

添加以下配置(将您的域名.com替换为您的域名):

Nginx
1server { 2 listen 80; 3 listen [::]:80; 4 server_name 您的域名.com www.您的域名.com; 5 root /var/www/html; 6 index index.php index.html index.htm; 7 8 location / { 9 try_files $uri $uri/ /index.php?$args; 10 } 11 12 location ~ \.php$ { 13 include snippets/fastcgi-php.conf; 14 fastcgi_pass unix:/var/run/php/php8.1-fpm.sock; 15 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 16 include fastcgi_params; 17 } 18 19 location ~ /\.ht { 20 deny all; 21 } 22}

启用网站:

Bash
1# 创建符号链接 2sudo ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/ 3 4# 测试配置 5sudo nginx -t 6 7# 重启Nginx 8sudo systemctl restart nginx

步骤6:配置WordPress

按照LAMP方法的步骤7和9配置WordPress。

🔒 保护WordPress

1. 更改文件权限

Bash
1# 文件权限 2sudo find /var/www/html -type f -exec chmod 644 {} \; 3 4# 目录权限 5sudo find /var/www/html -type d -exec chmod 755 {} \; 6 7# wp-config.php的特殊权限 8sudo chmod 600 /var/www/html/wp-config.php

2. 使用Let's Encrypt安装SSL证书

Bash
1# 安装Certbot 2sudo apt install -y certbot python3-certbot-apache 3# 对于Nginx:sudo apt install -y certbot python3-certbot-nginx 4 5# 获取SSL证书 6sudo certbot --apache -d 您的域名.com -d www.您的域名.com 7# 对于Nginx:sudo certbot --nginx -d 您的域名.com -d www.您的域名.com 8 9# 自动续订 10sudo certbot renew --dry-run

3. 配置防火墙

Bash
1# 允许HTTP和HTTPS 2sudo ufw allow 'Apache Full' 3# 对于Nginx:sudo ufw allow 'Nginx Full' 4 5# 或手动 6sudo ufw allow 80/tcp 7sudo ufw allow 443/tcp

4. 限制登录尝试

安装WordPress安全插件,如:

  • Wordfence Security
  • iThemes Security
  • Sucuri Security

5. 禁用通过界面编辑文件

wp-config.php中添加:

PHP
define('DISALLOW_FILE_EDIT', true);

🔄 WordPress更新

通过WordPress界面

  1. 登录WordPress管理后台
  2. 转到仪表板更新
  3. 点击立即更新

通过WP-CLI(命令行)

Bash
1# 安装WP-CLI 2curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar 3chmod +x wp-cli.phar 4sudo mv wp-cli.phar /usr/local/bin/wp 5 6# 更新WordPress 7cd /var/www/html 8sudo -u www-data wp core update 9sudo -u www-data wp plugin update --all 10sudo -u www-data wp theme update --all

📦 推荐的插件

  • Yoast SEO:搜索引擎优化
  • Wordfence Security:安全和保护
  • UpdraftPlus:自动备份
  • W3 Total Cache:缓存以提高性能
  • Contact Form 7:联系表单

❓ 常见问题

错误"Error establishing a database connection"

解决方案:

  1. 检查wp-config.php中的凭据
  2. 检查MySQL是否已启动:sudo systemctl status mysql
  3. 测试连接:mysql -u wordpress_user -p wordpress_db

固定链接上的404错误

对于Apache:

Bash
# 检查mod_rewrite是否已启用 sudo a2enmod rewrite sudo systemctl restart apache2

对于Nginx: 检查try_files配置是否正确。

权限问题

Bash
# 修复权限 sudo chown -R www-data:www-data /var/www/html sudo find /var/www/html -type d -exec chmod 755 {} \; sudo find /var/www/html -type f -exec chmod 644 {} \;

📝 有用命令

Bash
1# 检查服务状态 2sudo systemctl status apache2 # 或nginx 3sudo systemctl status mysql 4 5# 重启服务 6sudo systemctl restart apache2 # 或nginx 7sudo systemctl restart mysql 8 9# 查看Apache日志 10sudo tail -f /var/log/apache2/error.log 11 12# 查看Nginx日志 13sudo tail -f /var/log/nginx/error.log 14 15# 查看PHP-FPM日志 16sudo tail -f /var/log/php8.1-fpm.log

📞 需要帮助?

如果您在安装WordPress时遇到困难,请联系Infrawire支持。我们的团队随时为您提供帮助。


注意: 为了获得更好的WordPress体验,包括专业支持、自动备份和预配置优化,请考虑我们的WordPress专用网站托管