使用LNMP或LAMP环境如何在一台服务器上安装多个WordPress?

在一台服务器上使用LNMP或LAMP环境安装多个WordPress站点,主要有两种方法:基于虚拟主机(Virtual Host)基于目录(子目录安装)。以下是详细步骤:


方法一:基于虚拟主机(推荐)

每个WordPress站点使用独立的域名(或子域名)和独立的虚拟主机配置。

1. 准备工作

  • 确保已安装LNMP或LAMP环境。
  • 准备多个域名(如 site1.comsite2.com)或子域名(如 blog.site1.com),并将它们解析到服务器IP。

2. 创建网站目录

# 为每个站点创建独立的目录
sudo mkdir -p /var/www/site1
sudo mkdir -p /var/www/site2

3. 配置虚拟主机

对于LAMP(Apache)

  1. 为每个站点创建虚拟主机配置文件:
    sudo nano /etc/apache2/sites-available/site1.conf
  2. 示例配置:

    <VirtualHost *:80>
       ServerName site1.com
       ServerAlias www.site1.com
       DocumentRoot /var/www/site1
       ErrorLog ${APACHE_LOG_DIR}/site1_error.log
       CustomLog ${APACHE_LOG_DIR}/site1_access.log combined
    
       <Directory /var/www/site1>
           AllowOverride All
           Require all granted
       </Directory>
    </VirtualHost>
  3. 启用站点并重载Apache:
    sudo a2ensite site1.conf
    sudo systemctl reload apache2

对于LNMP(Nginx)

  1. 为每个站点创建配置文件:
    sudo nano /etc/nginx/sites-available/site1
  2. 示例配置:

    server {
       listen 80;
       server_name site1.com www.site1.com;
       root /var/www/site1;
       index index.php index.html;
    
       location / {
           try_files $uri $uri/ /index.php?$args;
       }
    
       location ~ .php$ {
           include snippets/fastcgi-php.conf;
           fastcgi_pass unix:/var/run/php/php8.1-fpm.sock; # 根据PHP版本调整
       }
    }
  3. 创建符号链接并重载Nginx:
    sudo ln -s /etc/nginx/sites-available/site1 /etc/nginx/sites-enabled/
    sudo systemctl reload nginx

4. 安装WordPress

  1. 下载并解压WordPress到每个站点目录:
    cd /var/www/site1
    sudo wget https://wordpress.org/latest.tar.gz
    sudo tar -xzvf latest.tar.gz --strip-components=1
    sudo rm latest.tar.gz
  2. 设置目录权限:
    sudo chown -R www-data:www-data /var/www/site1
    sudo chmod -R 755 /var/www/site1
  3. 为每个站点创建独立的MySQL数据库和用户:
    CREATE DATABASE site1_db;
    CREATE USER 'site1_user'@'localhost' IDENTIFIED BY '强密码';
    GRANT ALL PRIVILEGES ON site1_db.* TO 'site1_user'@'localhost';
    FLUSH PRIVILEGES;
  4. 通过浏览器访问 site1.com 完成WordPress安装向导。

方法二:基于子目录安装

所有WordPress站点共享同一个域名,但通过子目录区分(如 example.com/site1example.com/site2)。

步骤

  1. 在主站点目录下创建子目录:
    sudo mkdir -p /var/www/example.com/public_html/site1
    sudo mkdir -p /var/www/example.com/public_html/site2
  2. 将WordPress文件解压到对应子目录。
  3. 配置主站点的虚拟主机(以Nginx为例):

    server {
       listen 80;
       server_name example.com;
       root /var/www/example.com/public_html;
       index index.php;
    
       location /site1 {
           try_files $uri $uri/ /site1/index.php?$args;
       }
    
       location /site2 {
           try_files $uri $uri/ /site2/index.php?$args;
       }
    
       location ~ .php$ {
           include snippets/fastcgi-php.conf;
           fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
       }
    }
  4. 为每个子目录创建独立的数据库,并通过 example.com/site1 访问安装。

通用注意事项

  1. 资源隔离:虚拟主机方式更安全,推荐使用。
  2. PHP-FPM池:可以为每个站点分配独立的PHP-FPM池,避免资源冲突。
  3. SSL证书:若启用HTTPS,需为每个域名配置SSL证书(可使用Let’s Encrypt)。
  4. 性能优化:多个站点共享服务器资源,需根据流量调整PHP内存限制、数据库连接数等。

一键脚本工具

  • LNMP.org脚本:支持自动添加虚拟主机和SSL。
  • 宝塔面板:可视化操作,适合新手管理多站点。

通过以上步骤,你可以轻松在一台服务器上部署多个独立的WordPress站点。

云服务器