网站建站 “新引擎”,驱动企业数字化转型升级
在数字化浪潮中,网站是企业的关键窗口。网站建站就像“新引擎”,打破时空局限,展示企业风采,提供便捷服务,助力企业融入数字潮流,实现转型升级,开启发展新篇。
提升WordPress网站速度的一些方法:
加载BBR模块:加载BBR模块到内核中。使用以下命令:
sudo modprobe tcp_bbr
验证安装:使用以下命令来验证BBR模块是否成功加载:
sysctl net.ipv4.tcp_available_congestion_control
如果你看到输出中包含”bbr”,则表示BBR模块已成功加载。
启用BBR算法:使用以下命令来启用BBR拥塞控制算法:
echo "net.core.default_qdisc=fq" | sudo tee -a /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
BBR算法就已经成功安装和启用在你的Debian系统的内核中。重启系统后,BBR模块将会自动加载并启用。
安装varnish cache:
开始运行以下命令来刷新包缓存
sudo apt-get update
如果你运行的是Debian,请安装debian-archive-keyring,这样官方的 Debian存储库将被验证
sudo apt-get install debian-archive-keyring
确保安装了所需的工具(curl、gpg、apt-transport-https),然后继续:
sudo apt-get install curl gnupg apt-transport-https
为了安装deb仓库,首先需要安装用于签名仓库元数据的GPG密钥。这将取决于您的apt版本是否为= v.1.1。您可以通过运行以下操作来检查此情况:
apt -v
对于apt版本>= v1.1:创建导入GPG密钥的目录:如果需要创建目录,请运行:
mkdir -p /etc/apt/keyrings/
然后添加GPG密钥:
curl -fsSL https://packagecloud.io/varnishcache/varnish41/gpgkey | gpg --dearmor > /etc/apt/keyrings/varnishcache_varnish41-archive-keyring.gpg
创建一个名为/etc/apt/sources.list.d/varnishcache_varnish41.list它包含下面的存储库配置。
进入/etc/apt/sources.list.d目录:使用以下命令进入/etc/apt/sources.list.d目录:
cd /etc/apt/sources.list.d
创建文件:使用文本编辑器(如nano或vi)创建一个名为varnishcache_varnish41.list的文件。例如,使用以下命令创建并打开该文件:
sudo nano varnishcache_varnish41.list
deb [signed-by=/etc/apt/keyrings/varnishcache_varnish41-archive-keyring.gpg] https://packagecloud.io/varnishcache/varnish41/ubuntu trusty main
deb-src [signed-by=/etc/apt/keyrings/varnishcache_varnish41-archive-keyring.gpg] https://packagecloud.io/varnishcache/varnish41/ubuntu trusty main
ctrl+x,y,Enter
返回到用户主目录:使用以下命令返回到用户的主目录:
cd
运行以下命令更新本地APT缓存:
sudo apt-get update
快速安装:
curl -s https://packagecloud.io/install/repositories/varnishcache/varnish41/script.deb.sh | sudo bash
安装Varnish:使用以下命令安装Varnish软件包:
sudo apt install varnish
验证安装:安装完成后,可以使用以下命令检查Varnish是否成功安装:
varnishd -V
启动Varnish服务:使用以下命令来启动Varnish服务:
sudo systemctl start varnish
停止Varnish服务:使用以下命令来停止Varnish服务:
sudo systemctl stop varnish
重启Varnish服务:使用以下命令来重启Varnish服务:
sudo systemctl restart varnish
查看Varnish服务状态:使用以下命令来查看Varnish服务的运行状态:
sudo systemctl status varnish
编辑Varnish配置文件:Varnish的配置文件位于/etc/varnish/default.vcl。
Varnish default.vcl文件:
backend default {
.host = "127.0.0.1";
.port = "80";
}
acl purge {
"localhost";
"127.0.0.1";
}
sub vcl_recv {
if (req.method == "PURGE") {
if (!client.ip ~ purge) {
return(synth(405, "Method not allowed"));
}
return (purge);
}
if (req.method == "POST" || req.method == "PUT" || req.method == "DELETE") {
return (pass);
}
if (req.url ~ "^/(wp-admin|wp-includes|wp-content|xmlrpc.php|wp-cron.php|wp-login.php|wp-register.php)") {
return (pass);
}
if (req.url ~ "\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|swf|flv|mp3)$") {
unset req.http.Cookie;
return (hash);
}
if (req.url == "/") {
set req.url = "/index.php";
}
if (req.url ~ "\.(css|js)$") {
set req.http.Cache-Control = "public, max-age=3600";
}
return (hash);
}
sub vcl_backend_response {
if (beresp.ttl <= 0s ||
beresp.http.Set-Cookie ||
beresp.http.Vary == "*") {
return (pass);
}
if (beresp.http.Cache-Control ~ "private") {
return (pass);
}
if (beresp.http.Cache-Control ~ "no-cache" ||
beresp.http.Cache-Control ~ "no-store" ||
beresp.http.Cache-Control ~ "must-revalidate" ||
beresp.http.Cache-Control ~ "max-age=0") {
return (pass);
}
if (beresp.http.content-type ~ "text") {
set beresp.do_gzip = true;
}
if (bereq.url == "/index.php") {
set beresp.ttl = 1h;
}
if (bereq.url ~ "\.(jpg|jpeg|png|gif|ico|html|svg)$") {
set beresp.ttl = 1h;
set beresp.grace = 1h;
}
else {
set beresp.ttl = 5m;
set beresp.grace = 1m;
}
unset beresp.http.expires;
unset beresp.http.set-cookie;
unset beresp.http.pragma;
unset beresp.http.cache-control;
unset beresp.http.last-modified;
unset beresp.http.etag;
set beresp.ttl = 24h;
return (deliver);
}
sub vcl_deliver {
if (obj.hits > 0) {
set resp.http.X-Cache = "HIT";
} else {
set resp.http.X-Cache = "MISS";
}
set resp.http.X-Backend-Server = req.backend_hint;
if (resp.http.Content-Type ~ "text/html") {
set resp.http.Content-Type = "text/html; charset=utf-8";
}
}
PHP OPcache:
opcache.enable=1
opcache.enable_cli=0
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.max_wasted_percentage=5
opcache.use_cwd=1
opcache.validate_timestamps=1
opcache.revalidate_freq=60
opcache.revalidate_path=0
opcache.save_comments=1
opcache.fast_shutdown=1
opcache.enable_file_override=1
opcache.optimization_level=0x7FFEBFFF
opcache.dups_fix=0
opcache.blacklist_filename=
opcache.max_file_size=0
opcache.consistency_checks=0
opcache.force_restart_timeout=180
opcache.error_log=
opcache.log_verbosity_level=1
opcache.record_warnings=0
opcache.preferred_memory_model=
opcache.protect_memory=0
opcache.mmap_base=
opcache.restrict_api=
opcache.file_update_protection=2
opcache.huge_code_pages=0
opcache.lockfile_path=/tmp
opcache.opt_debug_level=0
opcache.file_cache=
opcache.file_cache_only=0
opcache.file_cache_consistency_checks=1
opcache.validate_permission=0
opcache.validate_root=0
opcache.preload=
opcache.preload_user=
opcache.jit=tracing
opcache.jit_buffer_size=0
opcache.jit_debug=0
opcache.jit_bisect_limit=0
opcache.jit_prof_threshold=0.005
opcache.jit_max_root_traces=1024
opcache.jit_max_side_traces=128
opcache.jit_max_exit_counters=8192
opcache.jit_hot_loop=64
opcache.jit_hot_func=127
opcache.jit_hot_return=8
opcache.jit_hot_side_exit=8
opcache.jit_blacklist_root_trace=16
opcache.jit_blacklist_side_trace=8
opcache.jit_max_loop_unrolls=8
opcache.jit_max_recursive_calls=2
opcache.jit_max_recursive_returns=2
opcache.jit_max_polymorphic_calls=2
常用标头:
add_header Strict-Transport-Security "max-age=63072000;includeSubDomains; preload" always;
add_header X-Content-Type-Options "nosniff" always;
add_header Cache-Control "public,max-age=600";
add_header Content-Security-Policy "default-src https: data: 'unsafe-inline' 'unsafe-eval'" always;
add_header Content-Security-Policy "default-src https: data: 'unsafe-inline' 'unsafe-eval'" always;
nginx中安装ngx_pagespeed模块,参考PageSpeed网站,如下代码是编译安装的参数。
--add-module=/root/incubator-pagespeed-ngx-latest-stable