搭建一个大型网站架构的实验环境(Squid缓存服务器篇)第1/2页

Squid是一个应用级代理,在保证客户端主机和服务器主机网络连通后,需要客户端软件做相应的设置后才能使用,比如给 Internet Explorer设置代理服务器地址、端口等。
WEB缓存功能对于一个规模较大、访问繁忙的网络来说是有必要的,IBM网站上的一篇文章,详细分析介绍了WEB缓存给上网用户带来的好处:
http://www-900.ibm.com/developer ... achinga/index.shtml

下面我们就介绍一下squid的有关内容。

§§ 安装运行squid

Redhat 7.3自带Squid的rpm包squid-2.4.STABLE6-1.7.2.i386.rpm,这里我们直接利用rpm来安装Squid:

[root@rh73 /mnt/cdrom/RedHat/RPMS]# rpm -ivh squid-2.4.STABLE6-1.7.2.i386.rpm

Preparing... ########################################### [100%]

1:squid ########################################### [100%]

安装后的Squid配置文件在/etc/squid/目录下,只需要简单的配置一下/etc/squid/squid.conf就可以让它工作起来了。

默认安装的Squid配置文件是一个两千多行的文本,实事上你用不到设置那么多。用编辑器打开该配置文件,找到http_access设置部分,把
http_access deny all

一行改成

http_access allow all

然后启动Squid:
/etc/rc.d/init.d/squid start

现在你的Squid代理服务器已经可以使用了。到客户端设置上网软件的代理选项,以Internet Explorer 6.0为例,在Internet属性设置里设置“连接”属性,点“局域网设置”按钮。

在弹出的对话框中选中“为LAN使用代理服务器”,在地址栏填入代理服务器地址,这里是:192.168.100.254,端口为squid默认的3128。

确认。此时你再用Internet Explorer上网便是使用squid代理。你可以察看squid的log文件来观察到客户端主机通过squid的访问情况:

[root@rh73 ~]# tail -f /var/log/squid/access.log

在这里,上面的设置只对Internet Explorer起作用。如果你按照前面的章节在Linux接入服务器上实现了NAT的功能,除了IE浏览器里访问http、ftp服务是在用squid 代理外,其它上访问Internet的操作,如收发Email,telnet,还是通过NAT完成访问。当你把浏览器的代理设置选项清除后,你又可以恢复到NAT方式访问Internet。

§§ 设置squid

前面的配置是不加限制的允许内部所有用户使用该代理上Internet,显然这不是一个很好的访问策略。我们说过,代理方式对用户权限的控制有着非常丰富的支持。下面就看看squid如何实现多样化的权限控制的。

让我们先了解一下squid.conf的几个配置选项和访问控制特性:

Squid 的定制是通过设置它的配置文件 squid.conf 来实现的,squid.conf 文件通常在 /etc/squid 目录下。这个配置文件内容很多,但它的每个选项都有详尽的说明。下面是几个常用的配置参数:

http_port

首先来更改一下 http_port,这个选项指定了 Squid 监听客户请求的端口,默认值是 3128。要使用代理功能,建议这个端口值和运行 Squid 的机器的 IP 地址一起使用,可以修改成下面这样:

http_port 192.168.100.254:3128

上述声明表示 Squid 绑定在 IP 地址 192.168.100.254 上,端口为 3128。端口可以设置为任意值,但要确认没有其他程序会使用同样的端口。/etc/services文件列出了常用端口,如果你想为squid设置其它的端口,可以参考这个文件的内容,防止重复设置。

visible_hostname 192.168.100.254

运行squid的主机的名字,可以写上该机器的IP地址。

[email]cache_mgrpangty@usa.net[/email]

管理员的邮件地址。在访问发生错误时,visible_hostname和cache_mgr这两个选项的值显示在错误提示页面内的相关位置。

cache_mem 16 MB

定义缓存内存,一般定义为物理内存大小的1/3。默认设置为8MB。

cache_dir Type Directory-Name Fs-specific-data [options]

定义硬盘缓存空间以存储访问过的页面或其它资源的拷贝。Type是指存储类型,一般设置为ufs。Directort-Name代表缓存的位置,默认的设置是cache_dir ufs /var/spool/squid 100 16 256。其中100代表缓存空间最大为100M;16和256代表缓存目录下的一级和二级目录数。

访问控制
控制用户的访问权限等功能是使用squid的访问控制特性来实现的。Squid 访问控制有两个要素:ACL和访问列表。访问列表可以允许或拒绝某些用户对特定服务的访问。

为了使用控制功能,必须先设置 ACL。ACL 声明的格式如下:

acl acl_element_name type_of_acl_element values_to_acl

下面列出一些重要的 ACL类型(type_of_acl_element)

l src : 源地址(即客户机IP地址)

l dst : 目标地址(即服务器IP地址)

l srcdomain : 源名称 (即客户机名称)

l dstdomain : 目标名称 (即服务器名称)

l time : 一天中的时刻和一周内的一天

l url_regex : URL 规则表达式匹配

l urlpath_regex: URL-path 规则表达式匹配,略去协议和主机名

l proxy_auth : 通过外部程序进行用户验证

l maxconn : 单一 IP 的最大连接数

注:
1. acl_element_name 可以是任一个在 ACL 中定义的名称。

2. 任何两个 ACL 元素不能用相同的名字。

3. 每个 ACL 由列表值组成。当进行匹配检测的时候,多个值由逻辑或运算连接;换言之,即任一 ACL的值被匹配,则这个 ACL即被匹配。
4. 并不是所有的 ACL都能使用访问列表中的全部类型。

5. 不同的 ACL写在不同行中,Squid 将把它们组合在一个列表中。

我们可以使用许多不同的访问列表。我们常用的是http_access: 允许 HTTP 访问,这个是主要的访问控制列表。

访问列表的规则由一些类似 'allow' 或 'deny' 的关键字构成,用以允许或拒绝向特定或一组 ACL 元素提供服务。

注:

1. 这些规则按照它们的排列顺序进行匹配检测,一旦检测到匹配的规则,匹配检测就立即结束。

2. 一个访问列表可以又多条规则组成。

3. 如果没有任何规则与访问请求匹配,默认动作将与列表中最后一条规则对应。

4. 一个访问条目中的所有元素将用逻辑与运算连接:

http_access Action 声明1 AND 声明2 AND 声明 OR.

http_access Action 声明3

多个 http_access 声明间用或运算连接,但每个访问条目的元素间用与运算连接。

5. 请记住列表中的规则总是遵循由上而下的顺序。

我们具体来看看如何运用acl和http_access。首先把squid.conf的配置改回原状,即修改http_access allow all为http_access deny all。下面给出几种常用访问控制:

根据IP鉴权

只有地址为192.168.100.10和192.168.100.100的终端可以使用代理

在squid.conf的ACCESS CONTROL配置部分添加

acl authorizedip src 192.168.100.10

acl authorizedip src 192.168.100.100

然后到http_access部分

在http_access deny all这一行前面添加

http_access allow authorizedip

如果需要设置的IP地址非常多,又不连续,是不是要写上一大堆的acl xxx xxx x.x.x.x?有一个简单的方法,把这些IP地址写在一个文件里,比如/etc/squid/authorizedip.txt,每行一个。然后在squid.conf里这样写

acl authorizedip src "/etc/squid/authorizedip.txt"

根据时间控制

关于时间段的设置,可以参见squid.conf中的说明,具体是S - Sunday, M - Monday, T - Tuesday, W - Wednesday, H - Thursday, F - Friday A - Saturday,如果七天都允许,也可以不写。时间格式是H1:M1-H2:M2,要求是前面的要小于后面的。

# 定义一个访问时间段:每周星期一到星期五的上午八点到下午五点,允许alloweduser用户在这个时间段内上网

acl accept_time time MTWHF8:00-17:00

http_access allow alloweduser accept_time

http_access deny alloweduser

访问特定URL地址

虽然我们不希望所有的人都使用代理自由的访问Internet,但有几个网站是可以让内部终端都能访问的。在squid.conf里添加访问控制:

acl alloweddomain dstdomain .linuxforum.net .linuxaid.com.cn

http_access allow alloweddomain

同样的,如果参数很多的情况,也可以把这些允许的地址名写到一个文本里:

acl alloweddomain dstdomain "/etc/squid/alloweddomain.txt"

alloweddomain.txt里是允许访问站点的列表,每行一个。

根据关键字过滤网址

有些网站(色情网站,广告网站)很令人讨厌,通过设置acl可以很容易屏蔽掉这些站点:

acl denyurl url_regex sex boylink xxx city69 asiaadult sehu

http_access deny denyurl

这个设置将过滤带有sex boylink xxx city69 asiaadult sehu这些关键字的URL地址。

和前面一样,也可以把这些关键字写到一个文本里

acl denyedurl url_regex "/etc/squid/sex.txt"

http_access deny denyurl

基于用户的认证

Squid本身并不支持用户验证,它是通过外部程序提供用户验证功能,用户通过squid访问前需要输入有效的用户名和密码。可以用 proxy_auth ACL 和 authenticate_program 来实现这个功能,在允许访问前强制进行用户名和密码的核查。下面列出一些 Squid 能用到的验证程序:

NCSA : 使用 NCSA 风格的用户名和密码档

LDAP : 使用 Linux Lightweight 目录访问协议(Linux Lightweight Directory Access Protocol)

SMB : 使用 SMB 协议的服务,如 SAMBA 或 Windows NT

MSNT : 使用 Windows NT 的域验证

PAM : 使用 Linux 的可装载验证模块

getpwam : 使用 Linux 密码档

使用验证功能必须用authenticate_program 选项指定使什么验证程序,并且请确认选定的验证程序已安装并能很好的工作。默认的,这些验证程序放在/usr/lib/squid/目录下。

以NCSA认证为例,修改 squid.conf 文件选定验证程序:

authenticate_program /usr/lib/squid/ncsa_auth /etc/squid/passwd

acl alloweduser proxy_auth pangty

http_access allow alloweduser

其中/etc/squid/passwd是用户和密码列表,这个文件可以用apache软件包带的htpasswd来产生,它的内容可能是这样的:

pangty:wCQhCeZOOF3vk

pangty是用户名,“:”号后面的是该用户的密码。

注意:修改了squid.conf配置后,需要重新启动squid或者告诉squid重新装入配置文件才能起作用。这样执行:

重起squid:

[root@rh73 ~]# /etc/rc.d/init.d/squid restart

不重起,只装入新的配置文件:

[root@rh73 ~]# /etc/rc.d/init.d/squid reload

以上是squid的常用的配置选项,这对于一般的应用来说已经足够了,如果你需要更多的特性支持,请阅读下面的内容。

§§ 需要更多的功能

显示中文错误提示信息

默认的,squid在发生错误时显示的是英文提示信息,squid的提示信息已经被翻译成很多语言,可以很方便的让他显示中文信息:

[root@rh73 ~]# cd /etc/squid/

[root@rh73 ~]# rm -f errors

[root@rh73 /etc/squid]# ln -s /usr/lib/squid/errors/Simplify_Chinese/ errors

/usr/lib/squid/errors下面有squid的各种语言版本的提示信息,按目录存放在不同的子目录下面。

支持基于MAC的控制以及访问带有下划线的URL

由于计算机的IP地址是随时可以更改的,所以即便你设置了ACL限制只有某些IP的计算机可以访问Internet,其它人仍然可以在该计算机关机的情况下,修改成这些允许上网的IP地址后访问Internet。另外,前面我们是使用DHCP来管理内部网络上的计算机的IP地址,每台计算机每次获得的IP地址可能是不一样的,所以,单纯的通过IP地址来控制上网权限并不适合所有的场合,而MAC地址相对是稳定的,一般网卡的MAC地址不能够更改,所以基于MAC地址的用户控制非常适合解决这两种情况带来的问题。

另外,我们访问Internet时,有时候会遇到这样的网站地址:http://www.hello_world.com,在网站的URL地址里面有下划线,这时Red Hat Linux自带的squid软件包可能会报告无法访问该网站。

这些功能需要重新编译squid源代码增加相应的编译选项来实现。下面我们就来看一下如何使用rpm重新编译软件包源代码获得必要的功能。

当文章写到这里的时候,Red Hat Linux网站发布了squid的升级软件包,我们可以从网上获得它的最新源代码rpm包:

ftp://updates.redhat.com/7.2/en/ ... ABLE6-6.7.3.src.rpm

在开始编译前,有一些软件包是需要首先安装,这可能包括rpm-build、sgml-tools,前者在Red Hat Linux的光盘上可以找到,后者可以从这里下载:

ftp://ftp.freesoft.cei.gov.cn/.m ... s-1.0.9-12.i386.rpm

安装squid的源代码包

[root@rh73 ~]# rpm -ivh squid-2.4.STABLE6-6.7.3.src.rpm

安装后的源代码包在/usr/src/redhat/SOURCES目录下,我们关心的是另外一个文件/usr/src/redhat/SPECS/squid.spec,这里面有squid的相关编译选项,修改该文件%configure部分如下:

%configure \

--exec_prefix=/usr --bindir=/usr/sbin --libexecdir=/usr/lib/squid \

--localstatedir=/var --sysconfdir=/etc/squid \

--enable-poll --enable-snmp --enable-removal-policies="heap,lru" \

--enable-storeio="aufs,coss,diskd,ufs" \

--enable-delay-pools --enable-linux-netfilter \

--with-pthreads \

--enable-underscores \

--enable-arp-acl \

--enable-err-language=Simplify_Chinese \

--enable-auth-modules="LDAP,NCSA,PAM,SMB,MSNT" # --enable-icmp

--enable-underscores是增加对下划线网址的支持,--enable-arp-acl是增加支持MAC地址方式的鉴权。

开始编译产生新的RPM包:

[root@rh73 ~]# rpm -ba squid.spe

这条命令将根据squid.spec的配置重新编译生成新的rpm包。编译过程视机器性能的好坏而定,大概需要几分钟到几十分钟不等,如果没有什么错误,最后产生的新的rpm包在/usr/src/redhat/RPMS/i386/目录下:squid- 2.4.STABLE6-6.7.3.i386.rpm

安装新的rpm包:

[root@rh73 ~]# rpm -Uvh /usr/src/redhat/RPMS/i386/squid-2.4.STABLE6-6.7.3.i386.rpm

注意,这里使用了-U参数,是因为我们前面已经安装过squid的一个较旧的版本,-U参数指出这个操作是对原有版本软件包的升级。现在你的squid就可以支持MAC地址鉴权和带下划线的URL地址了。 8)

配置squid.conf来支持MAC地址鉴权,在squid.conf里加入这样的内容:

acl allowedmac arp00:10:DC:8F:5B:FF

http_access allow allowedmac

上面只是常用的几种ACL设置的示例,关于ACL可以访问squid主页上FAQ文档的Access Controls部分获得更多的信息:

http://www.squid-cache.org/Doc/FAQ/FAQ-10.html

§§ 配置透明代理

透明代理是NAT和代理的完美结合,之所以称为透明,是因为在这种工作方式下你感觉不到代理的存在,和单纯使用NAT一样,对上网的客户端没有任何特殊的设置。Squid可以通过配置支持透明代理。

很多文章讲到共享上网就会讲有关透明代理(iptables + squid或ipchains + squid)的内容,我个人认为对于规模不大的网络,又没有内容过滤等功能的要求,使用squid是没有必要的,单纯的使用NAT方式就足够了,并且这样对运行NAT的服务器的要求就更加低,比如使用一台486 + 4M内存的机器,如果使用那些经过特殊定制的Linux系统,甚至连硬盘都不需要,只要一张软盘就可以了。

如果是源代码方式编译安装的squid,请在编译选项里指明--enable-linux-netfilter选项。Red Hat Linux自带的squid支持透明代理,我们可以直接修改/etc/squid/squid.conf文件,设置必要的参数:

httpd_accel_host virtual

httpd_accel_port 80

httpd_accel_with_proxy on

httpd_accel_uses_host_header on

运行/etc/rc.d/init.d/squid reload使设置生效,然后修改fw.sh脚本,在最后添加这样一行:

iptables -A PREROUTING -t nat -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128

这将把所有局域网用户通过Linux接入服务器访问www服务的访问请求重定向到工作在3128端口的squid处理。运行fw.sh脚本,使设置生效。就这么简单!

你可能还记得fw.sh里面的关于NAT的规则:

iptables -A POSTROUTING -t nat -s 192.168.100.0/24 -o eth0 -j SNAT --to-source 61.156.35.114

由于PREROUTING规则总在POSTROUTING规则之前应用,所以不用担心squid被NAT规则屏蔽掉。

注意:使用透明代理时,无法同时使用squid基于用户帐号的验证功能!

想了解更多关于透明代理的资料,请访问TLDP(The Linux Documentation Project)上关于透明代理的HOWTO文档:

http://www.tldp.org/HOWTO/mini/TransparentProxy.html

§§ 一个squid.conf的配置实例

现在给出一个支持透明代理并使用MAC地址控制用户上网权限的squid配置文件,该配置还支持特定网站(如色情网站)的过滤功能:

#定义服务器地址和端口

http_port 192.168.100.254:3128

#定义服务器名字

visible_hostname 192.168.100.254

#定义管理员邮件地址

cache_mgr [email]pangty@usa.net[/email]

#定义缓存内存空间和缓存目录

cache_mem 16 MB

cache_dir ufs /var/spool/squid 100 16 256

#支持透明代理

httpd_accel_host virtual

httpd_accel_port 80

httpd_accel_with_proxy on

httpd_accel_uses_host_header on

#定义acl

#sexurl.txt列出要过滤色情网站地址的关键字,每个关键字占一行,如xchina

#maclist.txt列出允许上网的主机的MAC地址,每个地址占一行,如00:50:56:C0:00:08

acl all src 0.0.0.0/0.0.0.0

acl sexurl url_regex "/etc/squid/sexurl.txt"

acl allowedmac arp "/etc/squid/maclist.txt"

#定义访问策略

http_access deny sexurl

http_access allow allowedmac

http_access deny all

当前1/2页 12下一页阅读全文

(0)

相关推荐

  • C/S和B/S两种架构区别与优缺点分析

    一.C/S 架构 1. 概念 C/S 架构是一种典型的两层架构,其全程是Client/Server,即客户端服务器端架构,其客户端包含一个或多个在用户的电脑上运行的程序,而服务器端有两种,一种是数据库服务器端,客户端通过数据库连接访问服务器端的数据:另一种是Socket服务器端,服务器端的程序通过Socket与客户端的程序通信. C/S 架构也可以看做是胖客户端架构.因为客户端需要实现绝大多数的业务逻辑和界面展示.这种架构中,作为客户端的部分需要承受很大的压力,因为显示逻辑和事务处理都包含在其中

  • C/S和B/S两种架构的概念、区别和联系

    C/S和B/S,是再普通不过的两种软件架构方式,都可以进行同样的业务处理,甚至也可以用相同的方式实现共同的逻辑.既然如此,为何还要区分彼此呢?那我们就来看看二者的区别和联系. 一.C/S 架构 1. 概念 C/S 架构是一种典型的两层架构,其全程是Client/Server,即客户端服务器端架构,其客户端包含一个或多个在用户的电脑上运行的程序,而服务器端有两种,一种是数据库服务器端,客户端通过数据库连接访问服务器端的数据:另一种是Socket服务器端,服务器端的程序通过Socket与客户端的程序

  • Nginx反向代理+DNS轮询+IIS7.5 千万PV 百万IP 双线 网站架构案例

    Nginx  ("engine x") 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器. Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,它已经在该站点运行超过两年半了.Igor 将源代码以类BSD许可证的形式发布. Nginx 的中文维基:http://wiki.codemongers.com/NginxChs 在高并发连接的情况下,Nginx是Apache服务器不错的替代品.Nginx

  • PHP MVC模式在网站架构中的实现分析

    视图(View) "视图"主要指我们送到Web浏览器的最终结果??比如我们的脚本生成的HTML.当说到视图时,很多人想到的是模版,但是把模板方案叫做视图的正确性是值得怀疑的. 对视图来说,最重要的事情可能是它应该是"自我意识(self aware)"的,视图被渲染(render)时,视图的元素能意识到自己在更大框架中的角色. 以XML为例,可以说XML在被解析时,DOM API有着这样的认知??一个DOM树里的节点知道它在哪里和它包含了什么. (当一个XML文档中的

  • ssi框架学习总结(mvc三层架构)

    相信大家对于mvc的三层架构已经灰常熟悉了,在这就不细讲了,个人感觉ssi的框架结构还是比较典型的mvc三层架构,还是比较容易上手的.关于这块的入门我想特别感谢下FrankHui童鞋,在他的帮助下,我才能比较快滴熟悉了这个架构,对我学习ssi的框架还是很有帮助滴.ssi的框架主要是由struts2,spring以及ibatis组成,他们负责各层之间的交互与协作,从而实现整个web端的功能实现与整合.Struts目前主要负责数据传递和控制方面,spring则依靠其强大的依赖注入技术实现了类似bea

  • 搭建一个大型网站架构的实验环境(Squid缓存服务器篇)第1/2页

    Squid是一个应用级代理,在保证客户端主机和服务器主机网络连通后,需要客户端软件做相应的设置后才能使用,比如给 Internet Explorer设置代理服务器地址.端口等.WEB缓存功能对于一个规模较大.访问繁忙的网络来说是有必要的,IBM网站上的一篇文章,详细分析介绍了WEB缓存给上网用户带来的好处:http://www-900.ibm.com/developer ... achinga/index.shtml 下面我们就介绍一下squid的有关内容. §§ 安装运行squid Redha

  • 大型网站架构演变和知识体系

    再加上近来感觉有不少同学都很难明白为什么一个网站需要那么复杂的技术,于是有了写这篇文章的想法,在这篇文章中 将阐述一个普通的网站发展成大型网站过程中的一种较为典型的架构演变历程和所需掌握的知识体系,希望能给想从事互联网行业的同学一点初步的概念,:),文中的不对之处也请各位多给点建议,让本文真正起到抛砖引玉的效果.<!--[if !supportLineBreakNewLine]--><!--[endif]--> 架构演变第一步:物理分离webserver和数据库 最开始,由于某些想

  • 大型网站高并发解决方案分析之图片服务器分离架构

    1.介绍 现在很多的网站上都会用到大量的图片,而图片是网页传输中占主要的数据量,也是影响网站性能的主要因素.因此很多网站都会将图片存储从网站中分离出来,另外架构一个或多个服务器来存储图片,将图片放到一个虚拟目录中,而网页上的图片都用一个URL地址来指向这些服务器上的图片的地址,这样的话网站的性能就明显提高了,图片服务器(ImageServer)的概念也就产生了. 1.1 图片服务器的优势 1, 分担Web服务器的I/O负载-将耗费资源的图片服务分离出来,提高服务器的性能和稳定性. 2, 能够专门

  • 详解Vue+ElementUI从零开始搭建自己的网站(一、环境搭建)

    VueJS可以说是近些年来最火的前端框架之一,越来越多的网站开始使用vue作为前端框架,vuejs轻量.简单,对于前端友好,学习路线平坦,这使得前端开发变得更加简易,而基于vuejs的前端组件库也越来越多.其中ElementUI,就是饿了么团队开发的一款基于vue的前端组件库.构建网站的必备环境: NodeJS(npm)Webstorm (前端IDE)Nginx(后期用来转发请求到后台服务器) 由于我们需要使用npm的包管理器,所以首先得先安装nodejs,  直接在node官网下载 windo

  • 阿里云快速搭建一个静态网站的方法步骤

    前言: 作为一个初级程序员,都梦想着自己能搭建一个自己的个人网站,同时展示给其他人浏览.如果你刚开始接触可看一下,我建议先给自己的静态网站发布到服务器上去. 准备: 1.申请注册一个服务器 申请注册一个云服务器,可以阿里云.腾讯云等等.学生党使用服务器有优惠哈~ 2.配置ftp\ssh环境 ps:我知道的是阿里云已经把ftp和ssh配置好了,如果有可以跳过此步骤. 具体步骤: 为了方便你后期的操作和使用,你需要配置ftp和ssh环境.(ftp:文件传输协议,通俗说就是上传下载文件:ssh:安全外

  • Rust 搭建一个小程序运行环境的方法详解

    目录 从零到一:构建一个能运行小程序的App FinClip 安全沙箱的初始化 获得 SDK Key 以及 SDK Secret 的两种方式 方式一:采用 FinClip.com 托管服务 方式二:自行部署 FinClip 社区版 FinClip SDK 在 App 中的初始化 Rust 开发环境的准备 Rust 代码编译成 iOS 静态库的验证 搭建一个FinClip社区版docker运行环境,安装设置Rust开发编译iOS代码的环境,设置xcode的项目配合,集成FinClip SDK,准备

  • 大型网站设计注意事项大全

    1.HTML静态化 其实大家都知道,效率最高.消耗最小的就是纯静态化的html页面,所以我们尽可能使我们的网站上的页面采用静态页面来实现,这个最简单的方法其实也是最有效的方法.但是对于大量内容并且频繁更新的网站,我们无法全部手动去挨个实现,于是出现了我们常见的信息发布系统CMS,像我们常访问的各个门户站点的新闻频道,甚至他们的其他频道,都是通过信息发布系统来管理和实现的,信息发布系统可以实现最简单的信息录入自动生成静态页面,还能具备频道管理.权限管理.自动抓取等功能,对于一个大型网站来说,拥有一

  • 用Go+Vue.js快速搭建一个Web应用(初级demo)

    Vue.js做为目前前端最热门的库之一,为快速构建并开发前端项目多了一种思维模式.本文给大家介绍用Go+Vue.js快速搭建一个Web应用(初级demo). 环境准备: 1. 安装go语言,配置go开发环境: 2. 安装node.js以及npm环境: Gin的使用: 为了快速搭建后端应用,采用了Gin作为Web框架.Gin是用Golang实现的一种Web框架,api非常友好,且拥有出色的路由性能和详细的错误提示,如果你想快速开发一个高性能的生产环境,Gin是一个不错的选择. 下载和安装Gin:

  • SpringCloud入门实验环境搭建

    微服务 个人理解: 所谓微服务是指每个模块都可以独立完成自己的核心业务,某一个模块的崩溃不影响其他模块的运行, 每个微服务有自己单独的一个数据库 每一个微小的服务组成了一个复杂的软件系统 微服务架构 微服务指的是服务的大小,关注的是完成一个具体的服务(医院的科室) 微服务架构是一种架构模式 ,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调.互相 配合,为用户提供最终价值.一种将一个单一应用程序开发为一组小型服务的方法,每个服务都在其运行 的进程中.(整个医院) 优点: 针对特定服务发布

  • 如何快速搭建一个自己的服务器的详细教程(java环境)

    一.   服务器的购买 1. 我选择的是阿里云的服务器,学生价9.5元一个月,百度直接搜索阿里云,然后点击右上角登录,推荐大家用支付宝扫码登录,方便快捷.阿里云官网的东西比较多,登录后我找了很久也没有找到学生服务器在哪里卖,最后在咨询里找到了这个网址,https://promotion.aliyun.com/ntms/campus2017.html,购买的时候需要进行学生认证,按照他的要求一步步来就好,认证大概需要几个小时.如果你不是学生那就直接购买ecs服务器就好,首页就可以看到ecs服务器的

随机推荐