群晖搭建个人站可以用群晖自带的 Web Station 也可以选择第三方套件安装 Docker 后进行安装。两种方式都可以实现, Web Station 可以直接在套件里面设置域名进行反代理,Docker 也可以先设置端口方式访问,然后再在控制面板里设置反代理实现域名访问。 但是就个人感觉而言,因为群晖 Nginx 限制了80/443等端口,无论是 Web Station 还是 Docker 而言都会首先由群晖的 Nginx 进行反代,因此在此如果使用 Web Station 方式的话,反代次数会少一个环节。 但是不得不提的是由于群晖每次重启都会重新配置并覆盖上次的 Nginx 配置,群晖的 Web Station 的启动会比 Docker 启动慢很多。 群晖可以安装自带的 WordPress 套件,虽然安装和配置简单,但是官方禁止你更新(这套路),同时你无法上传主题,因此在此我们自己利用 Web Station 来安装官方的 WordPress 并开启更新权限才是最有选择。
WordPress安装
- 打开群晖的套件中心
- 搜索 Web Station 并安装
- 同样的安装 MariaDb 10
- 打开并设置密码信息
- 打开 Web Station 并安装PHP7.4和phpMyAdmin扩展
- 然后打开 phpMyAdmin 创建数据库,用刚才 MariaDb 10的 root 账号和密码登录
- 然后点击账户并创建账户
- 然后我们下载 WordPress 官方文件 下载 | WordPress.org China 简体中文,并上传到合适的群晖文件夹,然后解压。
- 再次打开 Web Station 新增一个 WordPress 使用的 php 配置,扩展全勾上确认。
然后连续下一步即可。
- 打开链接按操作配置,自行百度。
- 正常后,打开 WordPress 目录下的 wp-config.php文件 在最后合适位置添加如下内容已解决权限不足无法上传文件问题。
// 设置权限,否则无法上传主题或文件
define('FS_METHOD', 'direct');
define('FS_CHMOD_DIR', 0755 );
define('FS_CHMOD_FILE', 0755);
/* That's all, stop editing! Happy publishing. */
/** Absolute path to the WordPress directory. */
if ( ! defined( 'ABSPATH' ) ) {
define( 'ABSPATH', __DIR__ . '/' );
}
/** Sets up WordPress vars and included files. */
require_once ABSPATH . 'wp-settings.php';
- 至此 WordPress 基本搭建完成了,我就不截图了,网上很多。
WordPress 添加 redis 缓存
不是必须,但是设置好Redis缓存可以优化网站访问速度
- 确认套件源
- synocommunity
- https://packages.synocommunity.com/
- 我不是矿神
- https://spk7.imnks.com/
- 4sag
- https://spk.4sag.ru/
- cphub
- https://www.cphub.net
- 安装 redis 套件,内网访问无需设置,缓存而已,也没必要设置密码,默认就好。
- 在 WordPress 中安装 Redis Object Cache 插件,并设置。
- 正常后,打开 WordPress 目录下的 wp-config.php文件 在最后合适位置添加
/* Add any custom values between this line and the "stop editing" line. */
define( 'WP_DISABLE_FATAL_ERROR_HANDLER', true );
define('FS_METHOD', 'direct');
define('FS_CHMOD_DIR', 0755 );
define('FS_CHMOD_FILE', 0755);
/* Redis Object Cache*/
define( 'WP_REDIS_HOST', '127.0.0.1' );
define( 'WP_REDIS_PORT', 6379 );
// define( 'WP_REDIS_PASSWORD', 'secret' );
define( 'WP_REDIS_TIMEOUT', 1 );
define('WP_CACHE_KEY_SALT', 'wp_');
/* That's all, stop editing! Happy publishing. */
/** Absolute path to the WordPress directory. */
if ( ! defined( 'ABSPATH' ) ) {
define( 'ABSPATH', __DIR__ . '/' );
}
/** Sets up WordPress vars and included files. */
require_once ABSPATH . 'wp-settings.php';
