跳至正文
首页 » WordPress 安装与多站点配置

WordPress 安装与多站点配置

WordPress 是一个开源内容发布平台,提供了方便地网站设计工具,支持丰富的插件。同时,支持多个站点公用一个服务,实现每个站点使用不同的主题、插件等配置。本文将介绍 wordpress 安装方式包括配置数据库、Nginx反向代理和多站点的配置方法。

环境配置

首先安装 Mariadb 数据库和 Nginx 反向代理。

sudo apt install mariadb-server nginx-fpm

使用 root 登录数据库

sudo mariadb -u root

创建用户,为 wordpress 创建数据库后退出

CREATE USER 'username' IDENTIFIED BY 'password';
create database wordpress;
grant all privileges on wordpress.* to username@localhost identified by 'password';
flush privileges;
exit;

下载 wordpress 并将他解压到 /var/www 中。

打开wordpress的配置文件,在其中填入数据库名称、用户名、密码。需要注意如果没有配置,访问会在网页中要求配置数据库,但是在网页中配置数据库无法成功。

cd /var/www
wget https://cn.wordpress.org/latest-zh_CN.zip
unzip latest-zh_CN.zip
chown -R www-data:www-data wordpress
cd wordpress
cp wp-config-sample.php wp-config.php
vim wp-config.php

在文件开头部分 找到

/** The name of the database for WordPress */
define( 'DB_NAME', 'database_name_here' );

/** Database username */
define( 'DB_USER', 'username_here' );

/** Database password */
define( 'DB_PASSWORD', 'password_here' );

/** Database hostname */
define( 'DB_HOST', 'localhost' );

/** Database charset to use in creating database tables. */
define( 'DB_CHARSET', 'utf8' );

/** The database collate type. Don't change this if in doubt. */
define( 'DB_COLLATE', '' );

将数据库名称、用户名、密码分别填到 database_name_hereusername_herepassword_here

创建 Nginx 配置文件 /etc/nginx/sites-available/wordpress

server {
  listen 80;
  listen [::]:80;
  server_name www.wordpress wordpress;
  root /var/www/wordpress/;
  index index.php index.html index.htm index.nginx-debian.html;

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

   location ~ ^/wp-json/ {
     rewrite ^/wp-json/(.*?)$ /?rest_route=/$1 last;
   }

  location ~* /wp-sitemap.*\.xml {
    try_files $uri $uri/ /index.php$is_args$args;
  }

  error_page 404 /404.html;
  error_page 500 502 503 504 /50x.html;

  client_max_body_size 20M;

  location = /50x.html {
    root /usr/share/nginx/html;
  }

  location ~ \.php$ {
    fastcgi_pass unix:/run/php/php8.1-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    include snippets/fastcgi-php.conf;
    fastcgi_buffers 1024 4k;
    fastcgi_buffer_size 128k;

    # Add headers to serve security related headers
    add_header X-Content-Type-Options nosniff;
    add_header X-XSS-Protection "1; mode=block";
    add_header X-Permitted-Cross-Domain-Policies none;
    add_header X-Frame-Options "SAMEORIGIN";
  }

  #enable gzip compression
  gzip on;
  gzip_vary on;
  gzip_min_length 1000;
  gzip_comp_level 5;
  gzip_types application/json text/css application/x-javascript application/javascript image/svg+xml;
  gzip_proxied any;

  # A long browser cache lifetime can speed up repeat visits to your page
  location ~* \.(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml)$ {
       access_log        off;
       log_not_found     off;
       expires           360d;
  }
 }

其中 unix:/run/php/php8.1-fpm.sock 需要根据 php 版本和配置选择,如果可查看 /etc/php/8.x/fpm/pool.d/www.conf 中 listen 字段定义确认。路径中 8.x 为 php 版本。

rm /etc/nginx/sites-available/default
ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/default

多站点

编辑 wp-config.php/* 在这行和「停止编辑」行之间添加任何自定义值。 *//* 就这样,停止编辑!祝您使用愉快。 */ 之间加入

/* Multisite */
define( 'WP_ALLOW_MULTISITE', true );

进入网站后台 – 工具 – 站点网络配置,填入站点名称和管理员邮箱,然后点击安装。

之后重新登录站点查看后台就可以管理站点了。

参考

发表回复

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