





















最近弄了免费的服务器😋,想脱离宝塔面板搭建网站了,但纯手工配置又感觉很难,而且难保不会出现一些安全性问题,于是就研究起了之前在共享主机上用过的 LiteSpeed Enterprise,用来跑 WordPress 很不错,还有官方插件。而 OpenLiteSpeed 相当于一个开源版,支持 LiteSpeed Enterprise 的大部分功能,而且带一个 Web 面板,可以方便修改网页服务器的各种设置,很容易上手。
本教程讲述如何在 Linux 上安装 OpenLiteSpeed,以及如何建好一个 WordPress 网站,也会涉及到 MySQL、LSPHP、phpMyAdmin、Cloudflare 等配置。本教程使用全新安装的 AlmaLinux 10.1(RHEL 系)演示,其他发行版类似。
封面图来自 OpenLiteSpeed
执行以下命令可以安装 OpenLiteSpeed 软件源(脚本来自官方,若有疑虑,可先审阅),同时会启用相关软件源:
sudo wget -O - https://repo.litespeed.sh | sudo bash
sudo dnf update然后安装 OpenLiteSpeed 及 WordPress 相关依赖(包含 LSPHP 8.3 及扩展,LSPHP 是带有 LiteSpeed API 的 PHP 变体,所以不用再安装 PHP 了):
sudo dnf install openlitespeed lsphp83-bcmath lsphp83-intl lsphp83-pecl-redis lsphp83-pecl-imagick lsphp83-pecl-imagick lsphp83-sodium在安装快结束的时候,会产生一个随机的临时密码用于管理员登录后台,默认用户名为 admin,临时密码为斜杠后面一坨:

如果忘记用户名或密码,可使用 sudo /usr/local/lsws/admin/misc/admpass.sh 重置。
执行以下命令来安装 MySQL 8.4 数据库及相关依赖:
sudo dnf install mysql8.4-server重要:为了未来可能的迁移,需要设置表名和库名在存储和比较时不区分大小写以增大兼容性:
echo "lower_case_table_names=1" | sudo tee -a /etc/my.cnf.d/m
ysql-server.cnf然后启动 MySQL 服务并开机自启:
sudo systemctl enable --now mysqld然后执行以下命令进行基本的 MySQL 配置:
sudo mysql_secure_installationopenssl rand -base64 24 命令生成一个 24 位的随机密码粘贴进去安装 OpenLiteSpeed 时,应该是启用了 Remi 软件源的,我们可以使用 sudo dnf module list redis 查看包含 redis 包的软件源,应有类似以下输出:

然后我们使用 sudo dnf module enable redis:remi-8.6 来启用最新版的 Redis 源,然后使用 sudo dnf install redis 即可安装,最后使用 sudo systemctl enable --now redis 来启动 Redis 并设置开机自启。
使用 sudo nano /etc/my.cnf.d/mysql-server.cnf 编辑 MySQL 服务端的配置文件。

可以看到,默认情况下,MySQL 将数据库数据和 Socket 都存放在 /var/lib/mysql 目录下,通过 ls -lZa /var/lib/mysql 我们可以发现这个数据目录具有 drwxr-xr-x(755)权限,和 system_u:object_r:mysqld_db_t:s0 的 SELinux 上下文(仅允许 mysqld 进程访问该文件夹)。
你可能会觉得这样已经够安全了,事实上也确实没有太大风险。但我还是喜欢将 Socket 移动到 /var/run/mysqld 里面(就像 Debian 一样),并且将 /var/lib/mysql 数据目录设置为 750 权限(不允许非 mysql 用户写入,不允许非 mysql 组用户读取)。如果你不想设置,可以跳过本节,同时在之后的 LSPHP 配置中,也不要设置 pdo_mysql.default_socket 和 mysqli.default_socket。
继续编辑 /etc/my.cnf.d/mysql-server.cnf,将 socket=/var/lib/mysql/mysql.sock 改为 socket=/var/run/mysqld/mysqld.sock,同时在下面新增这一行,如图:
mysqlx_socket=/var/run/mysqld/mysqlx.sock
另外,还需要修改 /etc/my.cnf.d/client.cnf,在 [client] 部分加入以下内容,如图:
socket=/var/run/mysqld/mysqld.sock
mysqlx-socket=/var/run/mysqld/mysqlx.sock
这一部分建议让 AI 给你生成配置(记得开深度思考),你可以用类似以下的问法,<> 中内容按照你的实际情况填写:
我正在配置 MySQL 8.4 服务端的性能设置。我的 VPS 有 <> GB 内存,使用 <> CPU(主频 <> GHz)的 <> 个核心,硬盘速度 <慢、中、快>,同时会运行 OpenLiteSpeed、LSPHP 和 Redis。我的网站是 <> 类型,访问量 <少、中、多>。我的 mysql-server.cnf 已经有以下内容,请为我生成接下来的适合于我服务器的 mysqld 配置(例如内存分配、临时表、缓存、关闭二进制日志等优化项,暂时不需要生成 OpenLiteSpeed、LSPHP 和 Redis 的配置):
[mysqld]
datadir=/var/lib/mysql
socket=/var/run/mysqld/mysqld.sock
mysqlx_socket=/var/run/mysqld/mysqlx.sock
log-error=/var/log/mysql/mysqld.log
pid-file=/run/mysqld/mysqld.pid
lower_case_table_names=1
注意:我使用的是 MySQL 8.4,请不要生成老旧的参数如 query_cache_type=0。以 4 核 E5-2696 v4 + 4 GB 内存为例,生成的配置应该类似下面这样,写入 /etc/my.cnf.d/mysql-server.cnf 即可:
[mysqld]
# 基础路径配置(保留你原有设置)
datadir=/var/lib/mysql
socket=/var/run/mysqld/mysqld.sock
mysqlx_socket=/var/run/mysqld/mysqlx.sock
log-error=/var/log/mysql/mysqld.log
pid-file=/run/mysqld/mysqld.pid
# 表名大小写不敏感(保留你原有设置)
lower_case_table_names=1
# ==================== 核心优化:内存分配(4GB VPS 专属)====================
# 给MySQL总分配约1.2GB内存,剩余2.8GB供系统/OLS/LSPHP使用,低访问完全足够
# InnoDB缓冲池(MySQL最核心参数,占用800M,博客性能关键)
innodb_buffer_pool_size = 800M
# 缓冲池实例数(匹配4核CPU,提升并发效率)
innodb_buffer_pool_instances = 4
# InnoDB日志文件大小(中速硬盘最优值,平衡写入性能)
innodb_log_file_size = 128M
# InnoDB日志缓冲区(小博客默认值即可)
innodb_log_buffer_size = 16M
# ==================== 关闭冗余日志(低访问必备,节省性能/磁盘)====================
# 关闭二进制日志(无需主从复制,个人博客完全用不到)
skip_log_bin
disable_log_bin
# 关闭慢查询日志(低访问无分析需求)
slow_query_log = 0
# 关闭通用查询日志(默认关闭,强制禁用)
general_log = 0
# ==================== InnoDB 引擎优化(中速硬盘 + 低访问)====================
# 默认存储引擎(强制InnoDB)
default-storage-engine = InnoDB
# 每个表独立表空间(默认开启,优化表管理)
innodb_file_per_table = 1
# 磁盘刷新模式(避免双缓冲,提升中速硬盘性能)
innodb_flush_method = O_DIRECT
# 事务刷新策略(2=平衡性能+安全,博客崩溃最多丢1秒数据,性价比最高)
innodb_flush_log_at_trx_commit = 2
# 关闭元数据统计(提升查询速度)
innodb_stats_on_metadata = 0
# ==================== 连接数 & 线程(低访问轻量化)====================
# 最大连接数(个人博客100完全足够,默认值过大浪费资源)
max_connections = 100
# 线程缓存(复用连接,减少CPU开销)
thread_cache_size = 8
# 空闲连接自动关闭时间(10分钟,释放闲置资源)
wait_timeout = 600
interactive_timeout = 600
# ==================== 临时表 & 排序缓存(小博客轻量化)====================
# 内存临时表大小(防止磁盘临时表,提升速度)
tmp_table_size = 64M
max_heap_table_size = 64M
# 排序/连接/读取缓存(低访问小值即可,避免内存浪费)
sort_buffer_size = 2M
join_buffer_size = 2M
read_buffer_size = 1M
read_rnd_buffer_size = 2M
# ==================== 表缓存 & 文件限制====================
table_open_cache = 2048
table_definition_cache = 1024
open_files_limit = 65535
# ==================== 通用安全 & 字符集====================
# 最大数据包(防止导入/上传大数据报错)
max_allowed_packet = 64M
# 默认字符集(支持emoji,适配现代博客)
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci然后使用 sudo systemctl restart mysqld.service 来重启 MySQL 服务。但是这一步大概会重启失败,可以使用 cat /var/log/mysql/mysqld.log | grep -E "ERROR|Warning" 来查看日志中的警告和错误,然后发给 AI 询问,改好后再重启。
注意:PHP 相关配置文件每行前面的分号 ; 表示注释,修改配置记得把相关分号去掉。
注意:如果你在上面没有改 MySQL Socket 的位置,请跳过本小节。此处以 LSPHP 8.3 为例,其它版本请对应修改命令。
先用 sudo nano /usr/local/lsws/lsphp83/etc/php.ini 打开 LSPHP 主配置文件,CTRL + W 搜索 mysqli.default_socket(大概在 1141 行),然后改成下面这样:
mysqli.default_socket = /var/run/mysqld/mysqld.sock再用 CTRL + W 搜索 pdo_mysql.default_socket(大概在 1034 行),然后改成下面这样:
pdo_mysql.default_socket=/var/run/mysqld/mysqld.sock
有一些 PHP 函数还是比较危险的,比如 exec、system,连宝塔面板都禁用了。我们可以在打开的 php.ini 里搜索 disable_functions(大概在 333 行),然后将这一行改为以下内容:
disable_functions = passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
这一部分也建议让 AI 给你生成配置(记得开深度思考),你可以接着刚才 MySQL 的对话,用类似以下的问法,<> 中内容按照你的实际情况填写:
我正在配置 LSPHP 8.3 的 php.ini。我的 VPS 有 <> GB 内存,使用 <> CPU(主频 <> GHz)的 <> 个核心,硬盘速度 <慢、中、快>,同时会运行 OpenLiteSpeed、MySQL 和 Redis。我的网站是 <> 类型,访问量 <少、中、多>,我已经给 MySQL 分配了约 <> GB 内存。另外,我已经在 php.ini 里设置了 MySQL Socket 的位置,并禁用了部分危险的 PHP 函数。请为我生成适合于我服务器和 phpMyAdmin 的 PHP 配置(例如基础 PHP 配置如 memory_limit max_execution_time post_max_size,和 OPcache 优化等。暂时不需要生成 OpenLiteSpeed、MySQL 和 Redis 的配置)。然后就会生成 PHP 和 OPcache 的配置了,应该直接将这些配置粘贴到 /usr/local/lsws/lsphp83/etc/php.ini 的底部就行了。但如果你想更美观,可以修改 php.ini 的原有配置,例如如果 AI 说 memory_limit = 256M,那可以先在原本的配置文件里搜索 memory_limit,然后将后面的值改为 256M;在修改 OPcache 配置的时候,也可以打开已有的配置文件 /usr/local/lsws/lsphp83/etc/php.d/10-opcache.ini 进行编辑(别忘了删掉注释用的分号)。
全部修改好后,使用 sudo touch /usr/local/lsws/admin/tmp/.lsphp_restart.txt 来重启 LSPHP(是的,就是用创建文件的方式来重启,下次要重启还是这个命令,覆盖文件即可)。
配置文件位于 /etc/redis/redis.conf,还是推荐用 AI 生成配置,问法如下:
我正在配置 Redis 8.6 的 redis.conf。我的 VPS 有 <> GB 内存,使用 <> CPU(主频 <> GHz)的 <> 个核心,硬盘速度 <慢、中、快>,同时会运行 OpenLiteSpeed、MySQL 和 LSPHP。我的网站是 <> 类型,访问量 <少、中、多>。我已经给 MySQL 分配了约 <> GB 内存,单 PHP 进程最大内存为 <> MB,请为我生成适合于我服务器的 Redis 服务器配置(例如内存限制、缓存淘汰策略、关闭持久化等性能优化。暂时不需要生成 OpenLiteSpeed、MySQL 和 LSPHP 的配置)。生成的内容可以直接复制到现有配置文件的底部,也可以修改已经有的配置。注释较多,也可以读下,眼睛别看花了就行😇。
但是,默认情况下的 Redis 可以被任何人读写所有内容,比较危险;默认使用的 TCP 连接方式(即使用 127.0.0.1 来连接),相比 MySQL 的 Socket 方式效率更低。如果你想了解更多,可以在完成了本篇教程后继续研究 Redis,教程见本人另一篇文章〈Redis 数据库权限与 Unix Socket 配置〉。
访问 https://<服务器 IP>:7080 即可打开 OpenLiteSpeed 仪表板。但为了安全性,不建议在防火墙里开放 7080 端口,而是使用 SSH 将 HTTP 服务端口转发到本地,同时发送心跳包来保持连接。但为了避免服务器被墙,也可以指定通过代理进行 SSH 连接,例如:
ssh -L 7080:localhost:7080 -o "ProxyCommand=nc -X 5 -x 127.0.0.1:7897 %h %p" -o "ServerAliveInterval=30" -o "ServerAliveCountMax=3" -i <密钥> -p <SSH 端口> <用户名>@<服务器 IP>
# nc -X 5 表示 SOCKS5 代理之后在本地直接访问 https://127.0.0.1:7080 即可打开仪表板,安全证书警告应该是可以忽略的。仪表板右上角可以修改语言。
登入后,点击左侧的「服务器配置」,进入整个服务器的整体设置部分。这个部分定义了服务器整体(包含所有虚拟主机)的运行逻辑。
点击 日志 选项卡,再点击 服务器日志 右侧的编辑,将 保留天数 改为 30,意为 30 天以前的日志会被自动删除。另外,如果硬盘性能一般,例如 RAID-10 的机械盘,可以将日志级别从 DEBUG 调到 WARNING,可以减少硬盘写入。
然后点击保存,之后会提示执行平滑重启后才能生效。我们先不急着重启,先把接下来的配置改了先。
本节主要是调低网页服务器压缩等级,如果你不用 Cloudflare 等带有内容压缩功能的 CDN,或 CPU 性能够强,可以跳过本节。
点击 调优 选项卡,翻到下面的 GZIP / Brotli 压缩,点击编辑。将压缩级别(动态内容)、GZIP压缩级别(静态文件)、Brotli压缩级别(静态文件)都设置为 2,然后保存。
如果你不用 Cloudflare 等 CDN 或者 LiteSpeed WordPress 插件中的 QUIC.cloud 服务(稍后会提到),就跳过本节。
点击 常规 选项卡,点击 常规设置 一栏右边的编辑,将 使用报头中的客户端 IP 改为 仅限受信任的 IP,然后保存。你也可以点击旁边的问号按钮看看这个选项是什么意思。
再点击 安全 选项卡,点击最下面的 访问控制 一栏的编辑,在允许列表已有的 ALL 之后,以逗号分隔,添加以下以 T 结尾的 IP/CIDR:

以 T 结尾,表示这个 IP 是受信任的。只有在请求来自受信任 IP 时,X-Forwarded-For 中的客户端 IP 才会被使用,CDN 和 QUIC.cloud 服务才能正常工作。保存后,就可以进行平滑重启了。
点击仪表板左侧的 虚拟主机,在添加虚拟主机前,我们可以先看下自带的这个 Example 虚拟主机是怎么配置的,比如虚拟主机根目录、配置文件目录、文档根目录等。可以看到它的虚拟主机根目录设置的是 Example/,这是一个相对地址,完整地址是 /user/local/lsws/Example/。配置文件目录也类似。
我们可以照着 Example 的配置来添加一个新的虚拟主机。不过在此之前,可以先创建好相应的目录:
sudo mkdir -p /usr/local/lsws/phpMyAdmin/html然后添加一个虚拟主机,初始配置如下:
phpMyAdminphpMyAdmin/conf/vhosts/phpMyAdmin/vhconf.conf是是然后点击保存后,应该会提示配置文件不存在,点击 CLICK TO CREATE 让它自动创建即可,然后再点保存。然后使用 ls -la /usr/local/lsws/conf/vhosts/phpMyAdmin/ 可以发现配置文件的权限是仅 lsadm 用户(即管理控制台所属的用户)有读写权限,而运行网页服务器和 LSPHP 的 nobody 用户没有任何权限。
然后我们就准备下载 phpMyAdmin 的文件了。前往 下载页面,在最新版的 zip 文件上右键,点击复制链接网址,然后在服务器里下载,并解压复制到相应目录(此处以 5.2.3 版本为例):
cd /usr/local/lsws/phpMyAdmin/
sudo wget "https://files.phpmyadmin.net/phpMyAdmin/5.2.3/phpMyAdmin-5.2.3-all-languages.zip"
sudo unzip phpMyAdmin-5.2.3-all-languages.zip
sudo cp -R phpMyAdmin-5.2.3-all-languages/* html/然后还需要配置 cookie 加密,先随机生成 32 个字符:
tr -dc 'A-Za-z0-9' < /dev/urandom | head -c 32; echo然后编辑 phpMyAdmin 的配置:
sudo cp /usr/local/lsws/phpMyAdmin/html/config.sample.inc.php /usr/local/lsws/phpMyAdmin/html/config.inc.php
sudo nano /usr/local/lsws/phpMyAdmin/html/config.inc.php将随机字符填入 $cfg['blowfish_secret'],如图,然后保存:

接下来还要设置权限:
sudo chown -R lsadm:nobody /usr/local/lsws/phpMyAdmin
sudo chown -R nobody:nobody /usr/local/lsws/phpMyAdmin/html
sudo find /usr/local/lsws/phpMyAdmin/ -type d -exec chmod 700 {} +
sudo find /usr/local/lsws/phpMyAdmin/ -type f -exec chmod 600 {} +
sudo chmod 710 /usr/local/lsws/phpMyAdmin让我解释一下,这个设置主要是为了防止网页服务器和 LSPHP 越权访问:

回到 OpenLiteSpeed 仪表板,先不急着平滑重启,还有别的要设置。
点击虚拟主机的 常规 选项卡,编辑核心设置,将 文档根目录 设定为 $VH_ROOT/html(此处的 $VH_ROOT 表示虚拟主机根目录,即 /usr/local/lsws/phpMyAdmin)。
点击 安全 选项卡,编辑访问控制,在允许列表里填入 127.0.0.1,在拒绝列表里填入 ALL,即只允许本机访问(我们要访问也是通过 SSH 本地转发隧道去访问,相当于本机访问)。
点击 重写 选项卡,编辑重写控制,将 启用重写 和 自动从 .htaccess 加载 选为 是。
在 SSL 选项卡里可以配置这个虚拟主机的安全证书,但由于我们只会本地访问,所以不用配置了。
点击仪表板左侧的 监听器,点击自带的 Default 监听器,编辑地址设置:
phpMyAdmin,因为这个监听器监听的 8088 端口只会用于 phpMyAdmin。如果以后有个新的服务要使用别的端口,需要创建一个新的监听器,监听新的端口(一个监听器只能监听一个端口)127.0.0.1,表示这个监听器只会监听本机连接保存后,看到虚拟主机映射,将自带的 Example 映射删掉,添加一个新映射:
phpMyAdmin*
phpMyAdmin 监听器设置保存后,就可以平滑重启了。然后我们可以新建一个 SSH 连接,通过代理转发服务器的 8088 端口到本地:
ssh -L 8088:localhost:8088 -o "ProxyCommand=nc -X 5 -x 127.0.0.1:7897 %h %p" -o "ServerAliveInterval=30" -o "ServerAliveCountMax=3" -i <密钥> -p <SSH 端口> <用户名>@<服务器 IP>SSH 端口转发后,本地访问 http://127.0.0.1:8088,即可打开 phpMyAdmin 页面。输入 MySQL 用户 root 和密码登入。登入后会看到一个提示,尚未设定 phpMyAdmin 设定储存空间。我们可以先点击左侧已有的 mysql 数据库,再点击工具栏的 操作,再点击提示里的 了解原因,最后点击 建立。


点击左上角 Logo 下面的 首页🏠 按钮,再点击工具栏的 数据库,建立一个名为 wordpress 的数据库,编码选择 utf8mb4_unicode_ci。
创建好后,回到首页,点击工具栏的 使用者帐号,再点击 新增使用者帐号,填写内容如下:
wordpress本机(然后后面的框会自动填入 localhost)

创建好用户后,点击 数据库 来编辑用户权限,再选中刚才新建的 wordpress 数据库,点击 执行。在 指定数据库权限 旁边,点击 全选,再将 GRANT 权限取消掉,最后点击执行。


至此,用于 WordPress 的数据库和用户都创建好了,接下来就准备安装 WordPress 了。
添加虚拟主机前,先创建文件夹 sudo mkdir -p /usr/local/lsws/WordPress/html,然后回到 OpenLiteSpeed 仪表板,点击左侧的 虚拟主机,添加一个新的虚拟主机,基本配置如下:
WordPressWordPress/conf/vhosts/WordPress/vhconf.conf是是然后点击保存后,还是会提示配置文件不存在,点击 CLICK TO CREATE 让它自动创建即可,然后再点保存。
然后就需要下载 WordPress 文件了,并解压复制到对应目录:
cd /usr/local/lsws/WordPress
sudo wget "https://cn.wordpress.org/latest-zh_CN.zip"
sudo unzip latest-zh_CN.zip
sudo cp -R wordpress/* html/然后设置一下文件权限:
sudo chown -R lsadm:nobody /usr/local/lsws/WordPress
sudo chown -R nobody:nobody /usr/local/lsws/WordPress/html
sudo find /usr/local/lsws/WordPress/ -type d -exec chmod 700 {} +
sudo find /usr/local/lsws/WordPress/ -type f -exec chmod 600 {} +
sudo chmod 710 /usr/local/lsws/WordPress点击虚拟主机的 常规 选项卡,编辑核心设置,将 文档根目录 设定为 $VH_ROOT/html,域名设置为你的完整域名。点击 重写 选项卡,编辑重写控制,将 启用重写 和 自动从 .htaccess 加载 选为 是。然后 SSL 证书配置将会写在配置完监听器之后。
点击仪表板左侧的 监听器,添加一个监听器,用于监听 443 端口的 IPv4 流量:
WordPressANY IPv4443是是保存后,添加一个虚拟主机映射:

然后回到上一页,再添加一个监听器,用于监听 443 端口的 IPv6 流量(没有 IPv6 地址就不用添加了):
WordPress IPv6[ANY] IPv6443是是保存后,添加一个相同的虚拟主机映射:
注:这部分内容仅适用于使用 Cloudflare CDN 的网站,其他用户仅供参考
SSL 设置将会分为两部分:监听器和虚拟主机,主要是为了避免攻击者通过 SSL 证书找到源站 IP。你可以这样理解:假如监听器 SSL 和虚拟主机使用了同一个 SSL 证书,且这个证书是包含域名信息的,那么攻击者通过扫描所有 IP 地址的 443 端口,并抓取扫描到的证书里的域名,即可找到源站 IP,CDN 就形同虚设了。
为了避免被找到 IP,我们会在监听器里设置一个不包含任何相关信息的 SSL 证书,同时会在虚拟主机里使用 Cloudflare 的原始服务器证书,也不包含域名信息,仅会在 Cloudflare 边缘服务器和源站之间使用。
先创建自签名证书:
cd /usr/local/lsws/conf/cert
# 生成 ECC P-256 的自签名 SSL 证书,并随机指定一个 CN
sudo openssl req -x509 -newkey ec -pkeyopt ec_paramgen_curve:prime256v1 -keyout lsws-blank.pem -out lsws-blank.crt -nodes -days 36500 -subj "/CN=$(uuidgen)"
# 权限设定
sudo chown lsadm:nobody lsws-blank.*
sudo chmod 640 lsws-blank.*然后回到监听器界面,点击刚才创建的 WordPress 监听器,点进 SSL 选项卡,点击 SSL 私钥和证书 右侧的编辑,填写以下信息后保存:
conf/cert/lsws-blank.pemconf/cert/lsws-blank.crt再点击 SSL 协议 右边的编辑,协议版本选择 TLS 1.2 和 TLS 1.3(如果要更安全也可以只选 1.3),并启用 ECDH 密钥交换和 DH 密钥交换,然后保存,IPv4 的监听器就配置完成了。对于 IPv6 监听器也需要同样的配置(设置 SSL 证书目录、协议配置)。

我们先从 Cloudflare 获取一个原始服务器证书。打开 Cloudflare 仪表板,然后点击你的域名,再点击左侧工具栏的 SSL/TLS,选择原始服务器,然后创建一个源站(Origin)证书:

点击创建后,会显示证书和私钥,我们需要复制到服务器里。将证书的内容粘贴进 /usr/lcoal/lsws/conf/cert/wordpress.crt,私钥内容粘贴进 /usr/lcoal/lsws/conf/cert/wordpress.pem,然后设置权限:
cd /usr/local/lsws/conf/cert
sudo chown lsadm:nobody wordpress.*
sudo chmod 640 wordpress.*还需要在 Cloudflare 仪表板里配置 CDN 节点到源站之间的 SSL 方式。还是点击左侧工具栏的 SSL/TLS>概观,再点击右上角的 设定,将加密模式设置为 完整(严格),然后保存。

再回到 OpenLiteSpeed 仪表板,点击左侧的 虚拟主机,点击刚才创建的 WordPress 虚拟主机,再点击工具栏的 SSL,编辑 SSL 私钥和证书:
conf/cert/wordpress.pemconf/cert/wordpress.crt保存后,就可以平滑重启了。
在 Cloudflare 的 DNS 记录里添加了你服务器的 A、AAAA 记录后(具体步骤略过,因本教程并不主要针对 Cloudflare),过几分钟就可以访问你的网站了(如果提示不安全,就手动加 https://),然后就会跳转到 WordPress 安装界面。点击下一步后,输入数据库信息、网站基本信息,即可安装完成。
如果打不开,且 Cloudflare 提示 5xx 错误,可能是系统防火墙或 VPS 网络安全组没设置好。你可以问下 AI 如何通过 firewall-cmd 新建一个区域来设置仅允许 Cloudflare 节点 IP 访问服务器 443 端口(TCP 和 UDP),VPS 网络安全组就自己去后台开端口。
安装好 WordPress 后,会跳转到网站后台。点击左侧的 插件,可以将自带的两个未启用的插件移除,大概率用不上。然后点击 安装插件,搜索 LiteSpeed Cache,然后安装并启用。
安装好后,应该会让你选择一个预设,这里可以先选择 必备(最低等级的那个),然后点击左侧边栏的 缓存规则,再点击上面的 [6] 对象 选项卡,设置 Redis 对象缓存:
127.0.0.16379
保存后,应该会提示连接测试通过。这个插件还有很多好用的功能,可以去网上搜其它教程来设置插件别的内容,例如页面优化、对象(主要现在这个文章已经太长了,以后我也许会写新的文章介绍这个插件)。
之前设置过的 QUIC.cloud 的可信 IP 也和这个插件提供的一个云服务有关,可以帮助你优化页面 JS、CSS、图像等,个人觉得还是很好用的,而且对于 OpenLiteSpeed 服务器还有免费额度。
基本安装内容就到此为止了,但要搞好一个 WordPress 站这样应该还不够,特别是 Cloudflare,还有一大堆要设置的。你可以参考我的其它教程来继续研究:
另外,OpenLiteSpeed 进程默认使用 unconfined_service_t SELinux 类型运行,意味着没有任何限制,如果对安全特别顾虑的需要调整下(我试了下,不简单)。
本文也许是和 LiteSpeed 有关的最长的中文教程了(虽然大部分内容和 LiteSpeed 无关),但感觉还是有很多东西没讲完,只能说要建好一个网站确实不简单,等以后补充吧。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。