官方repo安装最稳妥,应优先选用;源码编译仅适用于需自定义模块或离线部署场景。安装后须立即修改默认管理员密码、监听端口及php版本。

直接装二进制包或用官方 repo 安装是最稳妥的,自己编译容易卡在 PCRE、OpenSSL 或 libnsl 缺失上,尤其在 Fedora/CentOS 8+ 和 Ubuntu 22.04+ 上。
怎么选安装方式:repo 还是源码编译?
绝大多数场景下走官方 repo(apt 或 yum)更省事,也更易更新和管理。源码编译只在两种情况下值得考虑:需要启用特定模块(如自定义 mod_security 补丁),或目标系统无法联网但已有完整依赖环境。
- Ubuntu/Debian 系统:运行
wget -O - https://repo.litespeed.sh | sudo bash,再执行sudo apt install openlitespeed - CentOS/RHEL 7/8:先装 EPEL(
sudo yum install epel-release),再加 repo:sudo rpm -Uvh http://rpms.litespeedtech.com/centos/litespeed-repo-1.1-1.el8.noarch.rpm,最后sudo yum install openlitespeed - Fedora 或离线环境:下载
openlitespeed-*.tgz,解压后运行./install.sh;注意 Fedora 31+ 必须额外装libnsl(sudo dnf install libnsl)
安装后必须改的三件事
开箱即用不等于安全可用。默认配置里藏着三个高危点:管理密码是 123456、监听端口是 7080(非标准)、PHP 版本老旧(如 CentOS 7 repo 里默认是 lsphp56)。
- 改管理员密码:运行
/usr/local/lsws/admin/misc/admpass.sh,按提示输新用户名和密码 - 改监听端口:编辑
/usr/local/lsws/conf/httpd_config.conf,找到listener Default段,把address *:7080改成*:80或*:443(若配了 HTTPS) - 换 PHP 版本:先查已装版本(
ls /usr/local/lsws/ | grep lsphp),再在 Web 管理界面(http://IP:7080)→Server Configuration → External App里把Command路径指向新版本,比如/usr/local/lsws/lsphp83/bin/lsphp
systemd 服务没起来?检查 PIDFile 和 fork 模式
OpenLiteSpeed 默认以 forking 方式启动,但很多 systemd 配置模板漏写了 PIDFile 或权限设置,导致 systemctl status lsws 显示 inactive。这不是服务没跑,而是 systemd 没法确认它是否真活了。
- 确认
/etc/systemd/system/lsws.service中有这一行:PIDFile=/usr/local/lsws/logs/httpd.pid -
User和Group必须设为root(因为监听 80/443 端口需要 root 权限),不能改成nobody - 改完记得重载:
sudo systemctl daemon-reload,再sudo systemctl start lsws - 如果仍失败,手动执行
/usr/local/lsws/bin/lswsctrl start看终端报错,常见是bind: Permission denied(端口被占)或cannot open /usr/local/lsws/logs/error.log(目录权限不对)
HTTPS 证书配不上?别动 vhost.conf 里的路径
很多人把证书文件丢进 /usr/local/lsws/conf/ 后,在虚拟主机配置里写 /usr/local/lsws/conf/website.crt,结果 reload 失败。OpenLiteSpeed 实际读的是相对路径,且要求证书文件属主是 lsadm 或 root,权限不能是 600(会拒绝加载)。
- 证书路径在 Web 管理界面填时,直接写文件名(如
website.crt),它会自动拼到/usr/local/lsws/conf/下 - 确保私钥文件权限是
640,证书是644,命令:sudo chmod 640 /usr/local/lsws/conf/website.key、sudo chmod 644 /usr/local/lsws/conf/website.crt - 改完配置后必须点 Web 界面右上角的
Graceful Restart,不是Restart,否则 TLS 握手会中断
真正麻烦的从来不是安装,而是改完配置后忘记 reload、改了证书权限却没改属主、或者以为 systemd 启动成功其实只是 fork 出了个空壳——这些细节不盯住,服务看起来“在跑”,实际连 HTTP/2 都协商不了。











