ubuntu安装宝塔面板教程, 并且配置 varnish缓存

一.远程链接服务器

 

二.安装宝塔面板

1.执行安装命令,当询问各类安装时,均输入y同意,并回车继续运行。

wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh ed8484bec

  

2.安装成功后,需到服务器管理后台的安全组中配置新规则,放行宝塔面板的端口(以阿里云云服务器为例,已放行的可直接访问宝塔)。

 

 

三.访问宝塔面板

1.访问外网面板地址,输入生成的账号密码登录,首次登陆需绑定宝塔账号,没有账号可免费注册一个。

 

2.绑定宝塔账号后进入首页,会提示推荐安装的套件,根据实际需要进行安装,也可以之后前往软件商店自行安装。

 

 

四.忘记账号和修改密码

1.忘记账号:在服务器命令窗口输入sudo bt default后回车,查看宝塔面板默认信息。

 2.修改密码:在服务器命令窗口输入sudo bt 5后回车,再输入新的面板密码即可。

 参考来源:https://blog.csdn.net/CSL199306/article/details/130930404

 

varnish安装:

1、更新系统包列表:
sudo apt-update

2安装Varnish:

sudo apt-get install varnish

3备份原始Varnish配置文件:

sudo nano /etc/default/varnish

4在配置文件中设置Varnish监听的端口(默认为6081,改为80)和管理接口的地址和端口(可选)。例如:

DAEMON_OPTS="-a :80 \

             -T localhost:6082 \

             -f /etc/varnish/default.vcl \

             -S /etc/varnish/secret \

             -s malloc,256m"

5、编辑Varnish的规则文件:备份/etc/varnish/default.vcl文件,然后

sudo vi  /etc/varnish/default.vcl

在文件中设置后端服务器(Nginx)的地址和端口。例如:

backend default {

    .host = "127.0.0.1";

    .port = "8080"; # 假设Nginx运行在8080端口

}

6重启Varnish服务以应用配置更改:

sudo systemctl restart varnish

   查看varnish状态:sudo systemctl status varnish

查看varnish运行的端口号:sudo lsof -i | grep varnish

看看端口后是否成功改完80了,如果没有修改成功的话

Ubuntu 18.04和更高版本中,Varnish的运行参数取决于Systemd服务。为了更改端口,我们需要编辑其Systemd服务单元文件。

下面是具体步骤:

 

步骤1: 打开Varnish的systemd服务文件:

sudo vi /lib/systemd/system/varnish.service

步骤2: 找到ExecStart这一行,它看起来像这样:

ExecStart=/usr/sbin/varnishd -j unix,user=vcache -F -a :6081 -T localhost:6082 -f /etc/varnish/default.vcl -s malloc,256m

在这一行,6081是Varnish目前正在监听的端口。

 

步骤3: 将6081更改为你想要的端口号,例如80:

ExecStart=/usr/sbin/varnishd -j unix,user=vcache -F -a :8080 -T localhost:6082 -f /etc/varnish/default.vcl -s malloc,256m

步骤4: 保存并关闭文件。最后进行保存和退出。

 

步骤5: 由于我们修改了systemd服务,因此需要重新加载systemd配置并重启Varnish服务:

 

 

sudo systemctl daemon-reload

sudo systemctl restart varnish

现在你的Varnish应该在新的端口上运行。你可以通过在命令行输入sudo netstat -tuln | grep varnish或者sudo lsof -i :新的端口号来验证新端口是否已生效。

 

然后nginx服务重启后,如果nginx80端口的话,有可能会把varnish的端口重新占用,这时候需要修改nginx80端口为8080

ubuntu宝塔面板修改nginx端口需要修改下面几个地方:

1)网站-->设置->配置文件中的端口号

2)网站-->设置->域名管理下列表中的端口号

3)Sudo vi /www/server/panel/vhost/rewrite/0.default.conf

 

 

varnish服务中缓存网站图片资源的配置如下:

打开 sudo vi /etc/varnish/default.vcl

 

上面图中:

if (req.url !~ "\.(png|gif|jpg|jpeg)$") {

        return (pass);

      }

  unset req.http.Cookie;

表示路径中不含有上面图片相关的就不走缓存,unset req.http.Cookie 是用来表示请求的图片中含有cookie也正常走缓存,默认情况下Varnish默认不缓存带有cookie的请求

 

    if (beresp.http.Content-Type !~ "^image/") {

        set beresp.ttl = 0s;

    } else {

        set beresp.ttl = 50s;

}

表示服务器响应的路径中不含有image就不缓存,含有image的缓存50秒

 

手动清除缓存,例如:

清除所有缓存:sudo varnishadm "ban req.url ~ /"

清除具体文件的缓存:sudo varnishadm "ban req.url ~ /static/image/resource_default_zip.jpg"

清除特定路径下的缓存:sudo varnishadm "ban req.url ~ /static/image/*"

 

下面是在配置 时遇到的一些各种问题的记录:

ubuntu varniish如何查看运行端口

sudo lsof -i | grep varnish

如果你没有安装lsof,你可以使用apt-get命令安装:

sudo apt-get install lsof

此外,你也可以直接查看Varnish的配置文件来获取它正在使用的端口,Varnish的配置文件通常位于/etc/varnish/default.vcl或者/etc/default/varnish,你可以在文件中寻找listenport关键字来获取端口信息。

 

DAEMON_OPTS="-a :6081 \ -T localhost:6082 \ -f /etc/varnish/default.vcl \ -S /etc/varnish/secret \ -s malloc,256m"

在这段代码中,数字6081是Varnish的默认端口。

 

对不起,你的端口修改没有生效,抱歉给你带来的困扰。在Ubuntu 18.04和更高版本中,Varnish的运行参数取决于Systemd服务。为了更改端口,我们需要编辑其Systemd服务单元文件。

 

下面是具体步骤:

 

步骤1: 打开Varnish的systemd服务文件:

sudo vi /lib/systemd/system/varnish.service

步骤2: 找到ExecStart这一行,它看起来像这样:

ExecStart=/usr/sbin/varnishd -j unix,user=vcache -F -a :6081 -T localhost:6082 -f /etc/varnish/default.vcl -s malloc,256m

在这一行,6081是Varnish目前正在监听的端口。

 

步骤3: 将6081更改为你想要的端口号,例如8080:

ExecStart=/usr/sbin/varnishd -j unix,user=vcache -F -a :8080 -T localhost:6082 -f /etc/varnish/default.vcl -s malloc,256m

步骤4: 保存并关闭文件。最后进行保存和退出。

 

步骤5: 由于我们修改了systemd服务,因此需要重新加载systemd配置并重启Varnish服务:

 

 

sudo systemctl daemon-reload

sudo systemctl restart varnish

现在你的Varnish应该在新的端口上运行。你可以通过在命令行输入sudo netstat -tuln | grep varnish或者sudo lsof -i :新的端口号来验证新端口是否已生效。

 

ubuntu 修改varnish端口后,varnish服务无法启动:

查看Varnish服务的状态:

sudo systemctl status varnish

查看Varnish服务的日志:

sudo journalctl -u varnish

 

Varnish应该可以有效地为图片等静态文件提供缓存。如果你发现Varnish没有缓存图片,可能有几个可能的原因:

1、配置问题:检查你的Varnish的VCL配置文件,确认没有规则阻止Varnish缓存这些静态资源。例如,默认的Varnish配置,可能有一些规则导致某些文件类型不被缓存。

2、图片请求带有cookiesVarnish默认不缓存带有cookie的请求。如果你的图片请求中带有cookie,那么你需要在VCL配置中调整这一设定。

3、缓存控制头:服务器的响应可以包含各种HTTP header来影响缓存行为。例如,Cache-Control、Pragma 或Expires。确认源服务器的响应没有禁止缓存或者将缓存时间设为0。

4、Varnish的存储大小:确认你的Varnish实例已分配了足够的内存来存储缓存的对象。如果Varnish运行短缺存储空间,它可能会开始删除一些老旧的或未近期使用的缓存项。

 

下面是一个示例,展示如何在VCL配置中添加一个规则,允许Varnish缓存所有类型的静态文件,包括各种图像文件:

 

sub vcl_recv {

  if (req.url ~ “\.(jpg|jpeg|png|gif|ico)$”) {

    unset req.http.cookie;

  }

}

这个规则将删除所有静态文件请求的cookie,从而允许Varnish缓存这些请求。

 

posted on 2024-03-15 11:57  andydaopeng  阅读(1126)  评论(0编辑  收藏  举报

导航