📅  最后修改于: 2023-12-03 15:06:01.110000             🧑  作者: Mango
Wordpress 是一个非常流行的开源博客系统,可以方便的快速创建一个博客网站。在一些情况下,我们需要创建多个博客网站,这时候就可以使用 Wordpress 多站点配置。本文详细介绍了如何在 Nginx 环境下配置 Wordpress 多站点。
在开始配置 Wordpress 多站点之前,需要在 Nginx 环境下部署好 Wordpress 博客系统,并创建好一个站点。如果你还不知道如何在 Nginx 环境下部署 Wordpress,可以先看看这篇文章:Nginx + WordPress 搭建博客网站。
以下是一个配置文件示例,将一个 Wordpress 网站和一个 Wordpress 多站点部署在同一个 Nginx 服务器上:
server {
listen 80;
server_name example.com;
root /var/www/wordpress;
access_log /var/log/nginx/wordpress.access.log;
error_log /var/log/nginx/wordpress.error.log;
location / {
index index.php;
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
server {
listen 80;
server_name sub.example.com;
root /var/www/wordpress-sub;
access_log /var/log/nginx/wordpress-sub.access.log;
error_log /var/log/nginx/wordpress-sub.error.log;
location / {
index index.php;
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
# Wordpress multi-site config
location ^~ /blogs.dir {
internal;
alias /var/www/wordpress-sub/wp-content/blogs.dir;
}
if (!-e $request_filename) {
rewrite /sub.example.com/wp-admin$ $scheme://$host$uri/ permanent;
rewrite ^(/[^/]+)?(/wp-.*) /wp$2 last;
rewrite ^(/[^/]+)?(/.*\.php) /wp$2 last;
}
}
在上面的配置文件中,我们定义了两个 server,分别对应 example.com 和 sub.example.com 两个域名。其中第一个 server 就是普通的 Wordpress 站点,第二个 server 是 Wordpress 多站点配置所使用的站点。
两个 server 配置的代码很相似,都是配置了根目录、日志、PHP 解析等等。唯一不同的是第二个 server 加入了 Wordpress 多站点配置:
location ^~ /blogs.dir {
internal;
alias /var/www/wordpress-sub/wp-content/blogs.dir;
}
if (!-e $request_filename) {
rewrite /sub.example.com/wp-admin$ $scheme://$host$uri/ permanent;
rewrite ^(/[^/]+)?(/wp-.*) /wp$2 last;
rewrite ^(/[^/]+)?(/.*\.php) /wp$2 last;
}
这部分配置主要是定义了 Wordpress 多站点的上传路径和重写规则:
本文介绍了如何在 Nginx 环境下配置 Wordpress 多站点。通过这种方式,我们可以在一个服务器上部署多个 Wordpress 站点,从而更加灵活地管理和扩展我们的博客系统。