OpenLiteSpeed是LiteSpeed的开源版本,相对于企业版功能上少了一点,但个人使用基本没什么影响。OpenLiteSpeed是比较激进的web服务,集成了很多“新奇玩意”什么HTTP3/QUIC/TLS1.3/Brotli等等全都原生支持。
OpenLiteSpeed自带了一个WEB控制台,你原因花点时间摸索一下的话,你会发现OpenLiteSpeed上手真的很快,基本上所有的操作都可以通过这个控制台完成。
因为长时间使用centos,导致审美疲劳,所以这次换一个debian10来完成OpenLiteSpeed的安装。此外宝塔的测试版本已经可以安装OpenLiteSpeed。文章如下:
如果你对以下教程,感觉门槛太高,那么就可以试试宝塔面板,额,(宝塔服务器面板,一键全能部署及管理,送你3188元礼包,点我领取https://www.bt.cn/?invite_code=MV9ub2NxdmI=)
1、简介
1)开源项目:
https://github.com/litespeedtech/openlitespeed
2)安装文档:
2、准备
1)本文基于debian10纯净系统安装OpenLiteSpeed
2)准备好服务器,本次测试教程,服务器使用腾讯轻量香港服务器,目前优惠如下:
3)因为要建站,所以还是需要准备一个域名的。
3、安装
1)安装OpenLiteSpeed,命令如下:
apt -y update apt -y install wget wget -O - http://rpms.litespeedtech.com/debian/enable_lst_debian_repo.sh | bash apt -y install openlitespeed mariadb-server certbot
2)你不需要再去安装PHP,因为openlitespeed这个包会自动帮你安装好PHP组件,对于Debian10而言它会帮你安装好PHP7.3。
3)初次安装,执行下面的命令修改WEB控制台的管理员账号密码
5)访问控制台,浏览器访问<IP:7080>
4、设置端口
安装好,并进入控制台之后,我们首先要设置它。
1)登录进去的第一件事,修改语言为中文
2)应该修改默认的监听器端口,默认情况下它监听在8088端口,这里修改为80端口:箭头所指的地方,点击编辑即可。
注意:在你修改了配置之后它会提示让你重启服务生效,实际上在OpenLiteSpeed上做的修改,百分之90都是要重启才能生效的:
3)添加一个443端口的监听器
现在让我们来添加另外一个监听器,这个监听器监听在443端口,用于HTTPS连接。现在建站不支持SSL,和咸鱼有什么区别?在监听器界面点击添加按钮,按照下图配置:
5)在添加好443端口的监听器后,不要急着重启让修改生效,现在我们需要生成一个自签名的证书:
mkdir -p /opt/signcert && cd /opt/signcert openssl req -x509 -newkey rsa:4096 -keyout openlitespeed-key.pem -out openlitespeed-cert.pem -nodes -days 365
生成的证书路径如下:
私钥文件:/opt/signcert/openlitespeed-key.pem 证书文件:/opt/signcert/openlitespeed-cert.pem
之后,进入这个监听器的设置界面,点击SSL配置,将你生成的证书和私钥路径填写在上面:
配置完上面这些后重启服务使其生效~~
注意:命令执行后,会让你提交一些信息,额,因为是面板的自签证书,随意你随便填就可以了。
- 监听器这里配置自签名证书的目的是为了防止IP泄露SSL证书,导致别人可以通过这种方式反查到你的源站。
- 就类似于你平常给Nginx配置一个默认主机,然后给这个主机配置一个假证书,是一样的道理。
- OpenLiteSpeed的监听器相当于Nginx的默认主机,它接管所有缺省主机名的请求,这样配置之后别人在访问你的服务器IP,显示的证书名是你自签的证书而不是你的真实域名证书。
6)如果正常,你将可以在主面板的控制台看到监听器显示绿色
5、设置PHP
1)现在我们需要修改PHP的一些配置,对于Debian10而言,编辑默认的php.ini:
nano /usr/local/lsws/lsphp73/etc/php/7.3/litespeed/php.ini
2)默认的8M和2M太小了,修改一下文件上传的大小,当然,根据需要你还可以在这个文件修改更多配置。
post_max_size = 100M upload_max_filesize = 100M
3)修改完成之后,使用如下命令创建一个.lsphp_restart.txt重启PHP,使其生效:
touch /usr/local/lsws/admin/tmp/.lsphp_restart.txt
是不是觉得这个重启PHP进程的方式很奇葩?这是因为OpenLiteSpeed默认使用的PHP运行方式是独立模式,独立模式使用这种方式重启是最优雅的了。
4)如果是附加模式,你可以直接重启lsws,PHP进程也会跟着一起重启,如果要改为使用附加模式:
注:不建议使用附加模式,相较于独立来说,性能没有独立模式好。
具体修改看图:
6、设置调优
1)设置图片压缩,在服务器-调节-GZIP/Brotli Compression-压缩类型,添加如下配置:
image/jpeg, image/gif, image/png, image/bmp
全部代码:
text/*, application/x-javascript, application/javascript, application/xml, image/svg+xml, application/rss+xml, image/jpeg, image/gif, image/png, image/bmp
看图:
这样可以让Brotli压缩图片格式的文件,使站点加载速度更快。
2)修改一下默认的连接数,默认情况下是10000,额,自用修改为300就行了。
3)其他优化,可以根据需要来设置。
7、创建虚拟机
1)以上一大堆设置完成后,现在我们就可以来创建一个虚拟主机了。在创建虚拟主机之前,我们先把站点目录准备好:
mkdir /usr/local/lsws/wordpress-daniao mkdir /usr/local/lsws/wordpress-daniao/html mkdir /usr/local/lsws/wordpress-daniao/logs
2)这里有必要介绍几个OpenLiteSpeed的环境变量
变量名 | 路径 | 说明 |
---|---|---|
$SERVER_ROOT | /usr/local/lsws/ | OpenLiteSpeed的根目录。 |
$VH_ROOT | /usr/local/lsws/$VH_ROOT | 虚拟主机的根目录,也可以说是站点的根目录。 |
$VH_NAME | conf/vhosts/$VH_NAME/vhconf.conf | 虚拟主机名,一般用于匹配conf配置文件 |
注意:
一般情况下创建虚拟主机的时候只需要用到VH_ROOT/VH_NAME。现在的OpenLiteSpeed支持相对路径,所以SERVER_ROOT一般不会用了。
3)点击虚拟主机-添加,按下图添加
4)点保存会它会报错,提示你配置文件不存在,没关系这里点击CLICK TO CREATE就能帮你创建配置文件,之后再保存即可:
5)保存之后进到这个虚拟主机的配置界面,点击常规,按下图配置
6)还是在常规界面,找到索引文件,按下图配置:
7)错误日志,按下图配置(访问日志,如果站点访问量很大,可以不设置这个,节省硬盘空间:)
注意:上图的压缩存档需要选择“是”,截图的时候忘了设置。
8)接着点击安全-访问控制,允许列表添加一个*,代表允许所有人访问:
9)找到重写,启用.htaccess:
10)最后找到SSL,在这里填写你的域名证书和私钥:(如果还没有SSL证书,这步可暂时跳过。)
11)虚拟主机就创建好了,接下来我们需要把这个虚拟主机映射给相应的监听器。刚才我们配置了2个监听器,一个是80端口的,还有一个443端口,这里要把这个虚拟主机分别映射给这2个监听器,步骤是一样的。点击监听器→查看→虚拟主机映射→添加→选择好域名
保存后,在面板上平滑重启OpenLiteSpeed使所有更改生效。
8、安装wordpress
1)初始化数据库配置:
mysql_secure_installation
默认搭配的是MariaDB数据库,具体设置如下:
You already have a root password set, so you can safely answer 'n'. Change the root password? [Y/n] n ... skipping. By default, a MariaDB installation has an anonymous user, allowing anyone to log into MariaDB without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? [Y/n] Y ... Success! Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n] y ... Success! By default, MariaDB comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? [Y/n] y - Dropping test database... ... Success! - Removing privileges on test database... ... Success! Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n] y ... Success! Cleaning up... All done! If you've completed all of the above steps, your MariaDB installation should now be secure.
2)登录到MySQL:
mysql -u root -p
3)创建数据库和用户:
CREATE DATABASE wordpress CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; GRANT ALL PRIVILEGES ON wordpress.* TO wordpress@localhost IDENTIFIED BY '设置你的数据库用户密码'; FLUSH PRIVILEGES; quit
4)下载源码/解压/移动到虚拟主机目录:
cd /usr/local/lsws/wordpress-imlala/html wget https://wordpress.org/latest.tar.gz tar -xzvf latest.tar.gz cd wordpress/ mv * ../ cd .. rm -rf latest.tar.gz wordpress
5)给予正确的权限:
chown -R nobody:nogroup /usr/local/lsws/wordpress-imlala
6)打开你的域名应该就能看到WordPress的安装界面了。
9)安装完成之后可以使用下面的命令签发一个SSL证书
certbot certonly --agree-tos --no-eff-email --email [email protected] --webroot -w /usr/local/lsws/wordpress-daniao/html -d mm.qixi.ng
10)此时可以回到虚拟机的SSL中填入你的ssl证书路径,额,申请的时候,会有证书路径。
11)虚拟机映射重新设置,如果你要http301到https的话,你需要重新设置下映射。
这样设置后,http就会强制301到https。
9、wordpress设置
1)在WordPress设置了固定链接后,你需要重启OpenLiteSpeed:(OpenLiteSpeed加载的.htaccess只是在初次的时候会自动加载,如果你的.htaccess是后续创建的或者添加了新的内容进去,需要重启OpenLiteSpeed才能生效。)
2)如果不重启会打开网页会显示404错误。
3)OpenLiteSpeed需要配合安装LiteSpeed Cache来提升性能,不安装这个插件就是弱鸡。但是还需要配合Memcached 或者Redis 来提升缓存的性能,不然效果还是不好。
4)下一篇文章说说如何为Litespeed服务器安装Redis对象缓存,这篇文章已经够长了。
10、最后
OpenLiteSpeed安装之后,在配置wordpress优化的过程中,你需要安装LiteSpeed Cache插件,之后还需要开启Redis 扩展或者Memcached 扩展让性能达到最优~~
不过,同为对象缓存程序,Redis和Memcached只能选择一项安装。对于Litespeed/Wordpress系统,这两者作为对象缓存程序在性能上没有太大差异。
如果你用宝塔面板,想尝试这个OpenLiteSpeed,可以升级到测试版本,之后安装即可,用宝塔面板安装,你会发现非常的方便。相关教程如下在文章开头已经给出地址,感兴趣可以点击进去看看。