服务器维护优化自用备忘录
(以下内容不全是作者原创,仅作自用。在此感谢各位原创作者的知识结晶!)
Apache2
1、Apache2开启SNI功能
在 Ubuntu 16.04 下,OpenSSL 默认已经编译好了 SNI 支持,所以,Apache2 开启SNI就一句话:
将 /etc/apache2/mods-available/ssl.conf
文件最后的 #SSLStrictSNIVHostCheck On
前的注释符号(#)去掉即可
别忘了重启apache 哦~
2、Apache2开启Event MPM及http2
首先,Apache2默认开启的是Prework MPM,这个模块相对稳定,但是性能相比于新模块来说逊色很多。我们先用以下命令来检验目前Apache2运用的模块:
apachectl -V
查看server fpm一项显示即可看出目前正在使用的模块。
再用以下命令检验下PHP-fpm在系统中是否已经正常安装:
whereis php-fpm
如果能成功输出安装位置代表已经正常安装。
如果没有安装,则输入以下命令正常安装PHP-fpm:
apt-get install php-fpm
紧接着启用其它必须的模块:
a2enmod proxy_fcgi
a2enmod setenvif
a2enconf php7.4-fpm
a2enconf php8.1-fpm
接着关闭在安装Apache2的标准PHP模块:
a2dismod php7.4
a2dismod php8.1
(注:目前版本是7.4,后续版本号更新可自行替换)
然后是禁用Apache2旧有MPM并开启新MPM:
a2dismod mpm_prefork
a2dismod mpm_worker
a2enmod mpm_event
紧接着是开启Apache2的http2模块:
a2enmod http2
随后编辑Apache2的配置文件
vi /etc/apache2/apache2.conf
在其结尾添加上:
Protocols h2 http/1.1
重启PHP-fpm并查看其运行状态
service php7.4-fpm restart
service php7.4-fpm status
service php8.1-fpm restart
service php8.1-fpm status
最后重启apache2
service apache2 restart
最后的最后,可以再自行检验下http2是否最终正常开启:
curl --http2 --head '网站url'
若返回HTTP/2 200则网站即已支持http2。
注意:更新ubuntu系统后Apache2又会回到默认状态,此时需要重新设置一遍。