Squid反向代理搭建CDN缓存服务器加快Web访问速度

Squid传统代理服务器一键部署脚本 Squid不仅支持HTTP协议,还支持FTP、gopher、SSL和WAIS等协议。和一般的代理缓存软件不同,Squid用一个单独的、非模块化的、I/O驱动的进程来处理所有的客户端请求。对于Web用户来说,Squid是一个高性能的代理缓存服务器,可以。部署Squid和httpd服务。 阅读详情


http://zhumeng8337797.blog.163.com/blog/static/1007689142012112001759711/
案例:
Web服务器:域名www.abc.com IP:192.168.21.129 电信单线路接入
访问用户:电信宽带用户、移动宽带用户
出现问题:电信用户打开www.abc.com正常,移动用户打开www.abc.com很慢,甚至打不开
解决方案:在移动机房放置一台CDN代理服务器,通过智能DNS解析,让电信用户直接访问Web服务器、让移动用户访问CDN代理服务器,解决移动用户访问Web服务器慢的问题
具体操作:
CDN代理服务器:
系统:CentOS 5.5 主机名:cdn.abc.com IP:192.168.21.160 安装Squid软件,配置反向代理搭建CDN缓存服务器
安装前准备:
1、关闭SELinux
vi /etc/selinux/config
#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加
:wq 保存,关闭。
shutdown -r now重启系统


2、开启防火墙80端口(后面配置squid的端口为80)
vi /etc/sysconfig/iptables
添加下面的内容
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
/etc/init.d/iptables restart #重启防火墙使配置生效


3、修改主机的路由模式
vi /etc/sysctl.conf
net.ipv4.ip_forward = 1 #0为关闭,1为开启路由 使用sysctl -p 命令查看
系统运维 www.osyunwei.com 温馨提醒:qihang01原创内容?版权所有,转载请注明出处及原文链接
4、修改主机hosts文件,增加域名解析记录
vi /etc/hosts
192.168.21.129 www.abc.com #添加解析记录


===========================================================================
安装开始
1、安装Squid
yum install squid #安装(Squid 2.6)
service squid start #启动
service squid restart #重启
chkconfig squid on #设置开机启动


2、配置Squid 
cp /etc/squid/squid.conf /etc/squid/squid.confbak #备份
vi /etc/squid/squid.conf #编辑文件

http_port 80 transparent #设置squid端口,默认为3128,设置为80,客户端打开网站的时候不需要输入端口号
cache_mem 1024 MB #分配内存大小
cache_dir ufs /var/spool/squid 4096 16 256 #设置缓存文件大小
cache_effective_user squid #设置用户
cache_effective_group squid #设置用户组
access_log /var/log/squid/access.log #设置访问日志文件
cache_log /var/log/squid/cache.log #设置缓存日志文件
cache_store_log /var/log/squid/store.log #设置缓存记录文件
visible_hostname cdn.abc.com #设置squid服务器主机名
cache_mgr root@abc.com #设置管理员邮箱(设置为自己的邮箱地址)
acl all src 0.0.0.0/0.0.0.0 #设置访问控制列表,默认开启
http_access allow all #设置访问权限,默认注释掉的
cache_peer 192.168.21.129 parent 80 0 no-query originserver name=web #用户访问web时,Squid向192.168.21.129的80端口发送请求
cache_peer_domain web www.abc.com #设置web域名为www.abc.com
cache_peer_access web allow all #设置访问权限,允许所有外部客户端访问web

:wq! #保存退出 
service squid stop #停止
/usr/sbin/squid -z #初始化cache缓存目录
service squid start #启动

Squid反向代理服务器安装配置完成
==================================================================

启用智能DNS解析:
如果是电信用户访问域名www.abc.com解析到192.168.21.128
如果是移动用户访问域名www.abc.com解析到192.168.21.160
CDN缓存服务器与Web服务器之间采用专线连接
http://it.ynnu.edu.cn/wp-content/uploads/2011/06/squid-2.6-%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86%E6%9C%8D%E5%8A%A1%E5%99%A86.pdf

http://www.linuxfly.org/post/289/
配置squid 反向代理提高网站性能: http://www.lampbo.org/linux-xuexi/linux-sever/config-reverse-agent-improve-web-site-performance.html

反向代理 Squid 攻略(一): http://night85.blog.51cto.com/231209/281058
2012年09月18日  ? linux服务  ? 暂无评论

本文旨在介绍 squid 反向代理的工作原理的基础上,指出反向代理技术在提高网站访问速度,增强网站可用性、安全性方面有很好的用途。

现在有许多大型的门户网站都采用 squid 反向代理技术来加速网站的访问速度,可将不同的URL请求分发到后台不同的 WEB 服务器上,同时互联网用户只能看到反向代理服务器的地址,加强了网站的访问安全。

本文在具体的实验环境下,利用 DNS 轮询和 Squid 反向代理技术,实现了网站的负载均衡,从而提高了网站的可用性和可靠性。

1、什么是反向代理?

反向代理服务器又称为 WEB 加速服务器,它位于 WEB 服务器的前端,充当 WEB 服务器的内容缓存器。

反向代理服务器是针对 WEB 服务器设置的,后台 WEB 服务器对互联网用户是透明的,用户只能看到反向代理服务器的地址,不清楚后台 WEB 服务器是如何组织架构的。当互联网用户请求 WEB 服务时,DNS 将请求的域名解析为反向代理服务器的 IP 地址,这样 URL 请求将被发送到反向代理服务器,由反向代理服务器负责处理用户的请求与应答、与后台 WEB 服务器交互。利用反向代理服务器减轻了后台 WEB 服务器的负载,提高了访问速度,同时避免了因用户直接与 WEB 服务器通信带来的安全隐患。

反向代理

2、反向代理的实现原理

Squid 是由美国政府大力资助的一项研究计划,其目的为解决网络带宽不足的问题,支持HTTP,HTTPS,FTP 等多种协议,是现在 Unix 系统上使用、最多功能也最完整的一套软体。下面将重点介绍 Squid 反向代理的实现原理和在提高网站性能方面的应用。

Squid反向代理服务器位于本地 WEB 服务器和 Internet 之间 , 架构如图 :

反向代理架构

说明:

客户端请求访问 WEB 服务时,DNS 将访问的域名解析为 Squid 反向代理服务器的 IP 地址,这样客户端的 URL 请求将被发送到反向代理服务器。如果 Squid 反向代理服务器中缓存了该请求的资源,则将该请求的资源直接返回给客户端,否则反向代理服务器将向后台的 WEB 服务器请求资源,然后将请求的应答返回给客户端,同时也将该应答缓存在本地,供下一个请求者使用。

Squid 反向代理一般只缓存可缓冲的数据(比如 html 网页和图片等),而一些 CGI 脚本程序或者 ASP、JSP 之类的动态程序默认不缓存。它根据从 WEB 服务器返回的 HTTP 头标记来缓冲静态页面。有四个最重要 HTTP 头标记:

  • Last-Modified: 告诉反向代理页面什么时间被修改
  • Expires: 告诉反向代理页面什么时间应该从缓冲区中删除
  • Cache-Control: 告诉反向代理页面是否应该被缓冲
  • Pragma: 用来包含实现特定的指令,最常用的是 Pragma:no-cache

3、配置实例

本实例的域名是www.lampbo.org,通过DNS的轮询技术,将客户端的请求分发给其中一台 Squid 反向代理服务器处理,如果这台 Squid 缓存了用户的请求资源,则将请求的资源直接返回给用户,否则这台 Squid 将没有缓存的请求根据配置的规则发送给邻居 Squid 和后台的 WEB 服务器处理,这样既减轻后台 WEB 服务器的负载,又提高整个网站的性能和安全性。

实验拓扑图

(1)、配置的系统环境:

  • 一台 DNS 服务器:操作系统 Centos6.3,软件 BIND 9.8,IP 192.168.1.10 ;
  • 三台 Squid 服务器:操作系统 Centos6.3,软件 Squid 3.2.1,相应的 IP 如下:
Squid1:192.168.1.15 Squid2:192.168.1.16  Squid3:192.168.1.17

三台 WEB 服务器:操作系统 Centos6.3,应用软件 Apache+PHP+Mysql,相应的 IP 地址如下:

webServer1:192.168.100.100/24  webServer2:192.168.101.100/24 webServer1:192.168.102.100/24

(2)、DNS服务器配置

利用Centos6.3自带的 bind 9.8 。然后针对该系统配置 bind,首先修改 bind 的配置文件 /etc/named.conf,在文件中添加:

zone "cache.ibm.com.cn"{          type master;          file "lampbo.org ";   };

在/var/named 目录下添加 lampbo.org文件,该文件的内容如下:

$TTL    3600   @       IN      SOA     oracle.lampbo.org. root.lampbo.org  (                                  20080807        ; Serial                                  3600    ; Refresh                                  900     ; Retry                                  3600000 ; Expire                                  3600 )  ; Minimum           IN      NS      oracle.lampbo.org.   www  IN      A       192.168.100.100   www  IN      A       192.168.101.100  www  IN      A       192.168.101.100

这样当用户请求的时候,DNS 通过轮询机制将 www.lampbo.org的域名解析为 192.168.100.100、192.168.101.100和 192.168.102.100 其中之一。

使用命令service named start 启动bind服务。

用 nslookup www.lampbo.org 测试 bind 服务是否正常运行。

(3)、配置 Squid 服务器

下载squid源码包:squid-3.2.1.tar.bz2

解压:

[root@Centos6 ~]# tar  jxvf squid-3.2.1.tar.bz2 

编译:

[root@Centos6 squid-3.2.1]# ./configure --prefix=/usr/local/squid --enable-dlmalloc --enable-debug-cbdata --enable-async-io=100 --with-pthreads --enable-storeio="aufs,diskd,ufs" --enable-removal-policies="heap,lru" --enable-icmp --enable-delay-pools --enable-useragent-log --enable-referer-log --disable-wccp --disable-wccpv2 --enable-kill-parent-hack --enable-arp-acl --enable-snmp --enable-default-err-language=Simplify_Chinese --enable-err-languages="Simplify_Chinese English" --disable-poll --enable-epoll --disable-ident-lookups --disable-internal-dns --enable-truncate --enable-underscores --enable-basic-auth-helpers="NCSA" --enable-stacktrace --with-winbind-auth-challenge --enable-large-cache-files --with-large-files --with-maxfd=65535 --enable-ssl --enable-x-accelerator-vary  [root@Centos6 ~]#make  [root@Centos6 ~]#make install 

创建用户

[root@Centos6 ~]#useradd -r -s /sbin/nologin squid 

授权

[root@Centos6 ~]# chown -R squid:squid /usr/local/squid/var/cache   #授权给squid [root@Centos6 ~]# chown -R squid:squid /usr/local/squid/var/logs

编辑squid配置文件:

  1. visible_hostname localhost  #设定 squid 的主机名 , 如无此项 squid 将无法启动   
  2. cache_effective_user squid   
  3. cache_effective_group squid    
  4.   
  5. ### 配置 squid 为加速模式 ###   
  6. http_port 80 accel vhost vport    
  7. icp_port 3130    
  8. ### 配置 squid2、squid3 为其邻居,当squid1在其缓存中没有找到请求的资源时,通过 ICP 查询去其邻居中取得缓存  
  9. cache_peer squid2.lampbo.org sibling 80 3130    
  10. cache_peer squid3.lampbo.org sibling 80 3130    
  11. ##### squid1 的三个父节点,originserver 参数指明是源服务器,round-robin  参数指明 squid 通过轮询方式将请求分发到其中一台父节点;squid 同时会对这些父节点的健康状态进行检查,如果父节点 down 了,那么 squid 会从剩余的 origin 服务器中抓取数据   
  12. cache_peer 192.168.100.100 parent 80 0 no-query originserver round-robin  name=webServer1    
  13. cache_peer 192.168.101.100 parent 80 0 no-query originserver round-robin name=webServer2    
  14. cache_peer 192.168.102.100 parent 80 0 no-query originserver round-robin name=webServer3    
  15. #### 将 www.lampbo.org 域的请求通过 RR 轮询方式转发到三个父节点中的一个   
  16.  cache_peer_domain webServer1 webServer2 webServer3 www.lampbo.org    
  17. ##### 下面是一些访问控制、日志和缓存目录的设置   
  18. cache_log /usr/local/squid/var/logs/cache.log    
  19. cache_access_log /usr/local/squid/var/logs/access.log  
  20. cache_dir aufs /usr/local/squid/var/cache/ 100 16 256   
  21. maximum_object_size 10240 KB      
  22. cache_mem 256 MB     
  23.   
  24. acl localnet src 10.0.0.0/8 # RFC1918 possible internal network   
  25. acl localnet src 172.16.0.0/12  # RFC1918 possible internal network   
  26. acl localnet src 192.168.0.0/16 # RFC1918 possible internal network   
  27. acl localnet src fc00::/7       # RFC 4193 local private network range   
  28. acl localnet src fe80::/10      # RFC 4291 link-local (directly plugged) machines   
  29.   
  30. acl SSL_ports port 443   
  31. acl Safe_ports port 80      # http   
  32. acl Safe_ports port 21      # ftp   
  33. acl Safe_ports port 443     # https   
  34. acl Safe_ports port 70      # gopher   
  35. acl Safe_ports port 210     # wais   
  36. acl Safe_ports port 1025-65535  # unregistered ports   
  37. acl Safe_ports port 280     # http-mgmt   
  38. acl Safe_ports port 488     # gss-http   
  39. acl Safe_ports port 591     # filemaker   
  40. acl Safe_ports port 777     # multiling http   
  41. acl CONNECT method CONNECT  
  42.   
  43. #   
  44. # Recommended minimum Access Permission configuration:   
  45. #   
  46. # Only allow cachemgr access from localhost   
  47. http_access allow all    
  48. #http_access allow localhost manager   
  49. http_access deny manager   
  50.   
  51. # Deny requests to certain unsafe ports   
  52. http_access deny !Safe_ports   
  53.   
  54. # Deny CONNECT to other than secure SSL ports   
  55. http_access deny CONNECT !SSL_ports   
  56.   
  57. # We strongly recommend the following be uncommented to protect innocent   
  58. # web applications running on the proxy server who think the only   
  59. # one who can access services on "localhost" is a local user   
  60. #http_access deny to_localhost   
  61.   
  62. #   
  63. # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS   
  64. #   
  65.   
  66. # Example rule allowing access from your local networks.   
  67. # Adapt localnet in the ACL section to list your (internal) IP networks   
  68. # from where browsing should be allowed   
  69. http_access allow localnet   
  70. http_access allow localhost   
  71.   
  72. # And finally deny all other access to this proxy   
  73. http_access deny all   
  74.   
  75. # Squid normally listens to port 3128   
  76. http_port 3128   
  77.   
  78. # Uncomment and adjust the following to add a disk cache directory.   
  79. #cache_dir ufs /usr/local/squid/var/cache/squid 100 16 256   
  80.   
  81. # Leave coredumps in the first cache dir   
  82. coredump_dir /usr/local/squid/var/cache/squid   
  83.   
  84. # Add any of your own refresh_pattern entries above these.   
  85. refresh_pattern ^ftp:       1440    20% 10080   
  86. refresh_pattern ^gopher:    1440    0%  1440   
  87. refresh_pattern -i (/cgi-bin/|\?) 0 0%  0   
  88. refresh_pattern .       0   20% 4320   

保存退出:wq

检查 squid 配置文件正确与否:

[root@Centos6 ~]# /usr/local/squid/bin/squid – k parse 

生成缓存目录

[root@Centos6 ~]# /usr/local/squid/bin/squid – z 

启动squid:

[root@Centos6 ~]# /usr/local/squid/bin/squid -s 

squid2 和 squid3 服务器的配置方法和配置参数和 squid1 基本,配置完成后,分别启动这两个服务器上的 squid 服务。

(4)、测试

测试之前,保证 DNS 服务、三台 squid 服务和三台 web 服务都正常起来。在客户端输入http://www.lampbo.org,则正确的显示该网页。服务器端的响应对客户端是透明的,客户端不知道请求是由哪台 WEB 服务器处理的;而且其中某台 Squid 服务器或 WEB 服务器发生故障,也不影响服务的正常运行。

Squid 是一个开源的软件,利用它的反向代理技术可以提高网站系统的访问速度。本文在真实的网络环境下,利用三台 squid 反向代理服务器加速了网站的性能,同时结合 DNS 轮询技术实现了网站的负载均衡。经过一段时间的测试和试运行,该网站的访问速度和可用性方面都有很大的提高,从未出现过网站服务中断情况。

正向代理 反向代理 CDN加速 思考: 西安的QQ用户登陆访问腾讯服务器。西安用户的客户端到达腾讯深圳服务器快还是西安客户端到达西安的腾讯服务器快? 如今光纤宽带传输,地理的距离微乎其微,但是西安客户端到深圳服务器要比到西安服务器,设置的网关多,经过的路由越多,速度越慢。 腾讯西安服务器和深圳服务器之间是有专线速度比较快 西安客户端---->西安服务器---->深圳服务器 squid 作用:把客户要的数据直接缓存到... 阅读详情

相关推荐

CDN技术学习与Squid反向代理实战指南

Squid 是一个基于 Unix/Linux 的开源代理服务器软件,支持 HTTP、HTTPS、FTP 等多种协议。其主要功能包括:内容缓存:将用户访问过的 Web 资源缓存在本地,提高后续访问速度;代理转发:作为中间层,接收客户端请求并转发至目标服务器;访问控制:通过 ACL(访问控制列表)实现细粒度的访问策略;负载均衡:可配置多个后端服务器实现请求分发,提升系统可用性。

weixin_33375360的博客 813

配置squid 反向代理提高网站性能

本文旨在介绍 squid 反向代理的工作原理的基础上,指出反向代理技术在提高网站访问速度,增强网站可用性、安全性方面有很好的用途。 现在有许多大型的门户网站都采用 squid 反向代理技术来加速网站的访问速度,可将不同的URL请求分发到后台不同的 WEB 服务器上,同时互联网用户只能看到反向代理服务器的地址,加强了网站的访问安全。 本文在具体的实验环境下,利用 DNS 轮询和 Squi

收集盒 Book box 1010

利用DNSPOD+SQUID搭建自己的CDN

本文详细的介绍了,如何利用squid,然后利用DNSPOD的智能解析服务,搭建一个自己的小型CDN环境

利用Nginx+Squid搭建简易CDN缓存服务器

CDN,即内容分发网络,是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。通常情况下,CDN的关键技术主要有内容存储和分发技术。(引自©百度百科:CDN)CDN的搭建方式有很多种,并且所使用的软件也有很多种,在本文中以老牌的squid为例进行搭建和实验。

muxia_jhy的博客 5850

速腾聚创多激光雷达点云采集,并用RVIZ进行显示

在ubuntu20.04系统下,使用速腾聚创官方提供的软件RSView,对激光雷达的默认IP地址、MSOP 包端口号、 DIFOP包端口号和时间模式等配置进行查看和修改。使用交换机对两个激光雷达进行组网,实现多激光雷达数据采集,并用RVIZ同时显示两个雷达点云。使用wireshark对比两个雷达数据包。

abanchao的博客 5887

Ubuntu18.04环境搭建与疑难解析:从零复现YOLO-6D姿态估计算法

本文详细介绍了在Ubuntu18.04环境下从零开始复现YOLO-6D姿态估计算法的完整流程,包括系统配置、Conda环境搭建、PyTorch安装、依赖项管理、源代码获取、数据集准备以及训练验证过程。针对Singleshotpose算法的特殊需求,提供了详细的疑难解析和性能优化技巧,帮助开发者高效完成算法复现和应用部署。

weixin_30369041的博客 453

squid实现代理和cdn缓存

一。 squid介绍 Squid是一个高性能的代理缓存服务器,Squid支持FTP、gopher和HTTP协议。和一般的代理缓存软件不同,Squid用一个单独的、非模块化的、I/O驱动的进程来处理所有的客户端请求。 代理分为 正向代理,透明代理,反向代理 1》正向代理为 局域网中的机器 访问目标地址(比如www.baidu.com)...

weixin_30914981的博客 515

mysql 计算不同胜率的活跃玩家的次日,3日,7日留存率

它根据每天的日期(logymd)和最高段位(max_rank)、胜率段落(win_rate_segment)进行分组,并计算总玩家人数(total_players)、第二天的留存人数(next_day_players)、第三天的留存人数(day3_players)和第七天的留存人数(day7_players)。注意:不是新手留存,是段位活跃玩家留存;最终的结果则是将留存数据进行展示,按照日期(date)、最高段位(rank_level)、胜率段落(win_rate_segment)进行排序。

weixin_42698221的博客 1834

用Squid和DNSPod打造自己的CDN详细教程

本篇教程是顺应大家的要求而写。教程内大部分都是奶罩在为VeryCD等大型网站构建CDN时所累积的经验。在一些概念方面可能会有一些错漏,希望大家指正。本教程面对的对象是个人站长,所以各方面会力求傻瓜化,让大家都能看懂。当然,前提是需要你要有一颗好学的心,还有坚韧的毅力。另外一方面,本篇文章基本不会涉及到Windows的内容,整套系统将会是架构在CentOS Linux 5上。别问我为什么不是

yujian5211314的专栏 4950

【数据分析八步法】将模糊需求转化为可验证的分析问题

国内访问Huggingface官方源常遇网络问题,可通过切换国内镜像提升下载速度。三种配置方式:1)设置HF_ENDPOINT环境变量;2)在from_pretrained中直接指定镜像参数;3)修改本地Huggingface配置文件。常用镜像包括hf-mirror.com、阿里云ModelScope和清华镜像源。注意镜像同步延迟、私有模型限制,建议配合huggingface-cli工具使用,必要时取消代理设置。合理配置镜像源可显著改善Huggingface生态使用体验。

Mr数据杨 857

指纹对抗指南:如何绕过Cloudflare与Akamai的5s盾与浏览器指纹检测

现在的CDN反爬技术虽然越来越强,但是道高一尺魔高一丈,只要掌握了指纹伪造、流量伪装、行为模拟这些核心技术,就可以绕过绝大多数的防护措施。对抗过程中要注意效率和成本的平衡,小规模爬取用Playwright+stealth最方便,大规模爬取用curl_cffi+代理池性价比最高,遇到验证码用打码平台或者自动识别服务,不需要死磕破解。本文介绍的方案已经在实战中验证过,可以绕过95%以上的Cloudflare/Akamai防护,成功率非常高。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 295

利用Squid反向代理搭建CDN缓存服务器加快Web访问速度

案例:Web服务器:域名www.abc.com IP:192.168.21.129 电信单线路接入访问用户:电信宽带用户、移动宽带用户出现问题:电信用户打开www.abc.com正常,移动用户打开www.abc.com很慢,甚至打不开解决方案:在移动机房放置一台CDN代理服务器,通过智能DNS解析,让电信用户直接访问Web服务器、让移动用户访问CD...

weixin_34192732的博客 140

GitHub霸榜神器!NextChat领衔DeepSeek全栈开发范式

NextChat(原ChatGPT-Next-Web)是GitHub上斩获81.2K星标的现象级开源项目,定位为"轻量级AI助手终端",支持DeepSeek、Claude、GPT-4、Gemini等20+主流大模型。• 原生集成DeepSeek、GPT-4、Gemini Pro等模型API,同时兼容RWKV-Runner、LocalAI等自建模型框架,通过环境变量。• 客户端体积仅5MB(Windows安装包约6MB),采用PWA渐进式Web应用技术,首屏加载速度优化至100KB级,老旧设备亦可流畅运行。

实战AI智能体 891

m2014-architecture-imgserver->利用Squid反向代理搭建CDN缓存服务器加快Web访问速度

案例:Web服务器:域名www.abc.com IP:192.168.21.129 电信单线路接入访问用户:电信宽带用户、移动宽带用户出现问题:电信用户打开www.abc.com正常,移动用户打开www.abc.com很慢,甚至打不开解决方案:在移动机房放置一台CDN代理服务器,通过智能DNS解析,让电信用户直接访问Web服务器、让移动用户访问CDN代理服务器,解决移动用户访问Web服务器慢的问题...

weixin_33964094的博客 81

180.在 Vue3 中使用 OpenLayers 实现多个多边形的绘制、编辑、删除与清空

【摘要】本文介绍如何在Vue3+TypeScript环境下使用OpenLayers实现多边形地图交互功能。通过Composition API封装核心逻辑,实现了多边形绘制、编辑、删除及清空等操作。关键技术包括:使用VectorLayer管理图形数据,Draw/Modify/Select交互控制,以及通过ref()管理交互状态。文中提供了完整代码示例,并解决了交互对象叠加问题,为开发GIS应用提供了基础模块。该方案支持扩展为数据库存储、后端交互等高级功能。

小彭的博客 769

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

squid反向代理(实现缓存)加速web

实验:squid反向代理服务器加速web-by zlong一、实验环境(1)两台linux主机(Red Hat Enterprise Linux),分别是RHEL1-WEB和RHEL2-SQUID,squid代理服务器和DNS服务器在RHEL2-SQUID上,apache服务器在RHEL1-WEB上RHEL1-WEB(内网)上IP网关域名192.168.1.107/24(et...

weixin_34314962的博客 130

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

squid搭建CDN加速网络缓存服务器

CDN(Content Delivery Network),即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。当用户访问已经加入CDN服务(squid代理)的网站时,用户请求先发送到squid服务器squid再根据本地的DNS记录向后端web服务器发送请求,然后squid会将数据缓存到本地服务器,再返回访问请求结果给用户,当其他用户...

weixin_43314056的博客 2795

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

利用Squid反向代理搭建CDN缓存服务…

来源:系统运维  www.osyunwei.com    2011年11月26日 ⁄ Web服务器架构  案例: Web服务器:域名www.abc.com IP:192.168.21.129 电信单线路接入 访问用户:电信宽带用户、移动宽带用户 出现问题:电信用户打开www.abc.com正常,移动用户打开www.abc.com很慢,甚至打不开 解决方案:在移动机房放置一台C

tomora的专栏 1003
上一篇: yum apache+php+mysql
下一篇: CentOS下使用yum安装配置和使用svn
php_jiang
博客等级 码龄15年 29粉丝 36原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值