预计将写成一个系列文章,本文为此系列的第一章:
第一章:DirectAdmin面板如何使用OpenLiteSpeed替代默认的Apache
第二章:如果OpenLiteSpeed使用了CloudFlare等CDN如何显示访客的真实IP
第三章:使用OpenLiteSpeed后如何开启HTTP/2 / HTTP/3 / SPDY / QUIC的支持
第四章:DirectAdmin后台安装[LiteSpeed控制插件]一键安装缓存插件
首先普及下OpenLiteSpeed(以下简称OLS)相关知识,OLS是LiteSpeed Technologies Inc.出品的一款开源的网页服务器,该公司出品的商业版Web服务器LiteSpeed Web Server, Enterprise edition(简称LSWS)性能超强,在各种测试和实际使用中都是几乎都是地表最强的存在,以最常见的WordPress平台为例,使用LSWS服务器并且开启他们专门针对WP开发的缓存优化插件LSCache for WP后,每秒处理能力远超其他插件,如下图:
并且无论是商业版还是开源版都支持很多最新的技术,比如HTTP/2 / HTTP/3 / SPDY / QUIC的支持,让网站打开飞快。
但是商业版LSWS的最大缺点就是贵?,我们这里不考虑商业版。好在该公司也出了一个开源版的OLS,相信很多人也安装体验过,但是OLS在使用上非常不友好,与LSWS商业版相比较而言,阉割了最重要的功能:完全兼容Apache的httpd.conf文件以及.htaccess文件。开源版与商业版的区别见官方页面,如下图红圈位置OLS缺少了两个DirectAdmin最需要的功能。
LSWS商业版的配置文件可以兼容Apache,而OLS的配置文件使用私有格式,这就导致了一个很严重的问题,现有流行的Web服务器操作面板如cPanel和DirectAdmin以及Plesk等都是基于Apache,一些内置的脚本也是基于Apache格式进行处理,所以我们之前还没有办法在CP或者DA上完美体验安装免费并且开源的OLS网页服务器。
在DirectAdmin更新到1.57版本以后(版本推出时间大约在2019年的4月底),开始支持OLS的安装,但是当时我在体验时有很多莫名其妙的bug,后来也就没继续用。这两天因为更换服务器,重新安装了DirectAdmin,优化服务器的时候发现DA官方通过努力,已经很好的解决了上面提到的兼容性问题,所以我也就尝试安装了一下开源的OLS,以下为安装OLS替换Apache的过程。
- 要求:DA面板一定升级到最新版(1.57以上就支持了,但是我劝你不是最新版别尝试)并且将DirectAdmin内置的Custombuild也升级到2.0最新版,执行命令:
cd /usr/local/directadmin
mv custombuild custombuild_1.x
wget -O custombuild.tar.gz http://files.directadmin.com/services/custombuild/2.0/custombuild.tar.gz
tar xvzf custombuild.tar.gz
cd custombuild
./build
根据官方文档的做法,在custombuild里面将webserver设置为OpenLiteSpeed,同时将php的模式改为OLS才支持的lsphp,然后开始编译OLS以及lsphp,最后重写DA的配置文件,编译过程比较久,请耐心等待。
./build update
./build set webserver openlitespeed
./build set mod_ruid2 no
./build set php1_mode lsphp
./build openlitespeed
./build php n
./build rewrite_confs
基本上如果你只需要一个php版本,那你看到这里就行了。
像我安装了4个版本的php,所以我的操作如下(如何在DirectAdmin中安装多个版本的PHP):
cd /usr/local/directadmin/custombuild
./build update
./build set webserver openlitespeed
./build set mod_ruid2 no
./build set php1_release 7.3
./build set php2_release 7.2
./build set php3_release 7.1
./build set php4_release 5.6
./build set php1_mode lsphp
./build set php2_mode lsphp
./build set php3_mode lsphp
./build set php4_mode lsphp
./build php n
./build rewrite_confs
我这里指定了要安装的4个php的版本号,并且设定模式都是lsphp,执行完命令后,经过漫长等待,看到如下图这样的提示,安装结束了。
剩下的一步也是最重要的一步,因为开源版的OLS为了跟商业版做出区别,十分恶心的限制了实时读取.htaccess文件的功能,仅仅在OLS启动的时候读取一次.htaccess,逼着大家用商业版。接下来这一步操作就是让系统定时扫描所有用户网站根目录下的.htaccess文件,如果发现有变动就自动重启OLS,以此来规避限制。
我们利用系统的cronjob功能在系统新增一个定时任务,进入/etc/cron.d/目录,新建文件名字为openlitespeed_htaccess_scan,把下面的代码写入文件即可。
以下代码意思为每三分钟扫描所有用户网站根目录以及最深2层目录下的.htaccess文件是否有变动,如果变动了就重启OLS服务,你可以把 “*/3” 改为5或者其他间隔时间,不需要太小以免负载过大。”maxdepth 2″基本也就够了,查找的层数过多会有严重性能问题。
cd /etc/cron.d/
touch openlitespeed_htaccess_scan
echo "*/3 * * * * root if ! find /home/*/domains/*/*_html/ -maxdepth 2 -type f -newer /usr/local/lsws/cgid -name '.htaccess' -exec false {} +; then /usr/local/lsws/bin/lswsctrl restart; fi"> openlitespeed_htaccess_scan
至此,DA面板安装OpenLiteSpeed替换Apache的过程就已经结束,你现在可以开始体验了。
下一篇文章写“如果OpenLiteSpeed使用了CloudFlare等CDN如何显示访客的真实IP”的问题。
文章转载自:https://icodex.org/2020/02/directadmin-use-openlitespeed-instead-of-apache/
您也可以联系文章作者本人进行修改,若内容侵权或非法,可以联系我们进行处理。
任何个人或组织,转载、发布本站文章到任何网站、书籍等各类媒体平台,必须在文末署名文章出处并链接到本站相应文章的URL地址。
本站文章如转载自其他网站,会在文末署名原文出处及原文URL的跳转链接,如有遗漏,烦请告知修正。
如若本站文章侵犯了原著者的合法权益,亦可联系我们进行处理。
hi5个月前0
请问有详细一点的自己搭建的教程吗你好6个月前0
你好,可以再帮我看看吗? 我已经按照你的方法设定了,还是一样,wordpress后台的 Purge Varnish Cache 插件还是清除不到cache,依旧显示 the varnish control terminal is not responding at。谢谢https://mjj.today/i/Srk2Tz https://mjj.today/i/Srkcoi你好6个月前0
对,你说的没错,我配置的时候改了一些东西,现在我按照你的教学,可以启动了,网页可以缓存了,不过wordpress 清除cache 那个插件没用的,我输入本地回环地址127.0.0.1 :6082 ,再输入API key ,插件显示the varnish control terminal is not responding at 127.0.0.1:6082,就你图片那样,然后试一下点击清除cache 那里,他显示error,研究了一天,还是没有不行。你好6个月前1
你好,为啥我按照你的方法,到第三部分,去到真正后源的服务器设定Varnish 部分,我填了真正后源的IP跟端口跟域名,然后重启 Varnish ,就出现这样了? 这是怎么回事? 谢谢[Linux] AMH 7.1 https://amh.sh[varnish-6.6 start] ================================================== =========== [OK] varnish-6.6 is already installed. Could not delete 'vcl_boot.1713549650.959259/vgc.sym': No such file or directory Error: Message from VCC-compiler: VCL version declaration missing Update your VCL to Version 4 syntax, and add vcl 4.1; on the first line of the VCL files. ('/home/usrdata/varnish/default.conf' Line 1 Pos 1) ...#---Running VCC-compiler failed, exited with 2 VCL compilation failedchu6个月前0
很完善的教程‘hu6个月前0
我用gmail EMAIL_SERVER="smtp://********@gmail.com:bpyfv*********chry@smtp.gmail.com:587"叽喳6个月前0
MAIL_SERVER="smtp://no-reply@vort.me:password123@wednesday.mxrouting.net:587"大佬 这个使用outlook 或者gmail 是什么样子的格式? 邮寄已经开启smtp了hu6个月前0
输入框的问题解决了,我没有设置反代,NEXTAUTH_URL改为域名+端口就好了