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_here
、username_here
、password_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 );
进入网站后台 – 工具 – 站点网络配置,填入站点名称和管理员邮箱,然后点击安装。
之后重新登录站点查看后台就可以管理站点了。