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服务重启后,如果nginx是80端口的话,有可能会把varnish的端口重新占用,这时候需要修改nginx的80端口为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,你可以在文件中寻找listen或port关键字来获取端口信息。
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、图片请求带有cookies:Varnish默认不缓存带有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) 编辑 收藏 举报