您好,欢迎访问本站!
商品分类

商品分类

网站建站 “新引擎”,驱动企业数字化转型升级

在数字化浪潮中,网站是企业的关键窗口。网站建站就像“新引擎”,打破时空局限,展示企业风采,提供便捷服务,助力企业融入数字潮流,实现转型升级,开启发展新篇。

提升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

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

和我联系
和我联系
分享本页
返回顶部