1、查看ARP缓存表 Router #show ip arp
2、查看路由表 Router #show ip route
3、查看接口状态 Router #show interface f0/0
4、查看基本配置 Router #show running-config
5、查看版本信息 Router #show version
6、查看路由器当前时间 Router #show clock
7、查看路由协议配置 Router #show ip protocol
8、打开RIP协议调试命令 Router #debug ip rip
9、检测PPP连接状态和协商过程 Router #debug ppp packet
10、查OSPF邻居列表 Router #show ip ospf neighbor (detail)详细
11、查链路状态数据库 Router #show ip ospf database
12、查OSPF的配置 Router #show ip ospf
13、查OSPF的接口数据结构 Router #show ip ospf interface 接口
14、查一条网络LSA通告信息 Router #show ip ospf database network
15、显示链路状态数据库中的网络汇总LSA信息 Router #show ip ospf database summary
16、查看数据库中列出的所有路由的LSA通告 Router #show ip ospf database router
17、查看ASBR汇总LSA的信息 Router #show ip ospf database asbr-summary
18、查看AS外部LSA的信息 Router #show ip ospf database external
19、查NSSA外部LSA通告的信息 Router #show ip ospf database nssa-external
20、查用来表示到达ABR和ASBR路由哭的路由 Router #show ip ospf border-routers
21、查看OSPF协议配置信息 Router #show ip protocol
22、查看路由器“邻接”的整个过程 Router #debug ip ospf adj
23、查看每个OSPF数据包的信息 Router #debug ip ospf packet
24、清空路由表 Router #clear ip route *
25、查一条虚链路的状态 Router #show ip ospf virtual-link
26、查看HSRP配置
27、查看HSRP的状态 Router #show standby 1(组号) brief
28、启用调试功能HSRP Router #debug standby
29、查看串行链路的状态 Router #show controllers s0/0
30、显示路由器内存的大小,包括空闲内存的大小 Router #Show memory
31、显示路由器的进程 Router #Show processes
32、显示缓存器统计信息 Router #how buffers
33、显示CDP表中所列相邻设备的信息 Router #Show cdp entry
34、显示闪存的布局和内容信息 Router #Show flash
35、显示关于本地管理接口(LMI)的统计信息 Router #Show frame-relay lmi
36、显示关于连接的当前映射入口和信息 Router #Show frame-relay map
37、显示关于帧中继接口的永久虚电路(pvc)的统计信息 Router #Show frame-relay pvc
38、显示所有连接到路由器的用户 Router #show users
39、显示当前存在的转换 Router#show ip nat translations
40、查看NAT的统计信息 Router#show ip nat statistics
41、查看IKE策略 Router# show crypto isakmp policy
42、查看IPsce策略 Router# show crypto ipsec transform-set
43、查看SA信息 Router# show crypto ipsec sa
44、查看加密映射 Router# show crypto map
一. 代理服务简介
1. 什么是代理服务器(Proxy Server)
代理服务可以代表其它计算机传递数据包或信息,这些数据包和信息包括网页、电子邮件、多媒体文件和其它网络应用程序等。通过它的文件缓存和访问控制等功能,可以实现快速浏览和对用户访问的有效管理。
Web代理服务器(通常所说的代理服务器)是介于浏览器和Web服务器之间的一台服务器,当你通过代理服务器上网浏览时,浏览器不是直接到Web服务器去取回网页而是向代理服务器发出请求,由代理服务器来取回浏览器所需要的信息并传送给你的浏览器。 而且,大部分代理服务器都具有缓冲的功能,就好象一个大的Cache,它有很大的存储空间,它不断将新取得数据储存到它本机的存储器上,如果浏览器所请求的数据在它本机的存储器上已经存在而且是最新的,那么它就不重新从Web服务器取数据,而直接将存储器上的数据传送给用户的浏览器,这样就能显著提高浏览速度和效率。
更重要的是:代理服务器是 Internet链路级网关所提供的一种重要的安全功能,它的工作主要在开放系统互联 (OSI) 模型的对话层。主要的功能有:
1、连接Internet与Intranet 充当firewall(防火墙):因为所有内部网的用户通过代理服务器访问外界时,只映射为一个IP地址,所以外界不能直接访问到内部网;同时可以设置 IP地址过滤,限制内部网对外部的访问权限;另外,两个没有互联的内部网,也可以通过第三方的代理服务器进行互联来交换信息。
2、共享因特网连接,节省IP开销:如前面所讲,所有用户对外只占用一个IP,所以不必租用过多的IP地址,降低网络的维护成本。这样,局域局内没有与外网相连的众多机器就可以通过内网的一台代理服务器连接到外网,大大减少费用。当然也有它不利的一面,如许多网络黑客通过这种方法隐藏自己的真实IP地址,而逃过监视。
3、提高访问速度,节约通信带宽。而且通常代理服务器都设置一个较大的硬盘缓冲区(可能高达几个GB或更大),当有外界的信息通过时,同时也将其保存到缓冲区中,当其他用户再访问相同的信息时,则直接由缓冲区中取出信息,传给用户,从而达到提高访问速度的目的。
2. 代理服务器的硬件需求
代理服务器对于硬件的要求相当的高!因为我们架设代理服务器的目的就是希望能够加快网络的传输速度因此,虽然代理服务器几乎在任何的 Linux 系统上面都能跑,但是代理服务器最好还是有较高的硬件配置:
CPU 足够好;
RAM 足够大,这也是很重要的一个硬件参数
Hard Disk 最好能用 SCSI 接口的,因为速度与稳定度都比较好!如果不能的话,那么 IDE 接口的硬盘由于目前速度也越来越快,所以使用 IDE 也没有问题,但是最好是『多块硬盘』的架构,例如我总共需要 30 GB 的硬盘空间,那么最好是 10 GB 的硬盘三块这样的架构较佳。 最好在架设代理服务器时,将整体主机的规划做好,并且让代理服务器主机的服务单纯一点,最好只负责代理服务
每颗硬盘的容量不需要太大,此外,最好将硬盘分割一下,一个分区在 2~4 GB 之间即可,因为分太大的话资料的搜寻耗费时间较长,但是分区太小又可能造成空间的浪费
cache 是放置在某个目录下的,而最好一个目录底下就是独立的一个 partition 。此外,由于 cache 所在的硬盘常常会有资料的存取,因此可能此一硬盘的损耗率会比较大,所以这个 cache 所在的硬盘最好不要跟重要数据文件,例如 /, /etc, /usr, /home 等等重要的系统文件放在一起!
也由于 cache 所在的硬盘资料存取太密集了,所以,硬盘的选择上面需要 (1)转速不能太低; (2)磁头的机械臂需要可以忍受频繁的动作;(3)发热量不可太大,或者可以考虑加装硬盘用风扇。
网络卡与网络周边最好使用 GBytes 的网络卡
3. 使用squid的好处 squid是开源软件,性能优秀。并仍在世界各地的squid开发者的共同努力下,不断发展。快速响应,减少网络阻塞,Squid将远程Internet对象保存为本地拷贝。当本地用户再次访问这些对象时,Squid可以直接快速地提供对这些对象的访问,而不必再次占用带宽访问远程服务器上的对象。 增强访问控制,提高安全性。可以针对特定的的网站、用户、网络、数据类型实施访问控制 squid可以工作在普通代理模式、透明代理模式各反向代理模式
4. squid的结构 多个squid代理服务器可以通过icp协议相互沟通,形成树形层次关系(父代理、兄弟代理、子代理),构建代理服务器群。
二. squid.conf的典型配置(普通代理)
1. 配置 #vi /etc/squid/squid.conf #http_port指令告诉squid在哪个端口侦听HTTP请求。默认端口是3128,除下面的形式外,也可以是
http_port 192.168.63.50:3128
http_port 3128
icp_port 3130
#缓存目录的设置,可以设置多个缓存目录,语法为:<cache_dir> <aufs|ufs> <目录所在> <MBytes大小> <dir1> <dir2>
cache_dir ufs /var/spool/squid 1000 64 1024
#下面是关于日志文件的放置目录与文件名!
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log pid
_filename /var/run/squid.pid
#关闭认证机制,有些版本的 squid 会自动的加入代理认证机制,而普通情况下是不需要的,故找到包括auth_param的行,给它们加上注释
#auth_param basic children 5
#auth_param basic realm Squid proxy-caching web server
#auth_param basic credentialsttl 2 hours
#设置squid用户及用户组、管理员账号
cache_effective_user squid
cache_effective_group squid
cache_mgr youraccount@your.e.mail
# 与内存有关的配置:因为我的系统内存很小,所以只给 8 MB!如果您的物理内存很大的情况下,例如 512 MB,可以考虑加大到 64 或 128 MB。
cache_mem 128 MB
# 与磁盘容量有关的配置(注:下列的 90 与 95 是百分比 ),如果您的 cache_dir 所在磁盘很大时,可以考虑将 4096 改成 32768 KB
cache_swap_low 90
cache_swap_high 95
maximum_object_size 4096 KB
# 与内存保存资料有关的配置
maximum_object_size_in_memory 8 KB
#定义acl(访问控制列表), 语法为:acl<acl> <acl名称> <acl类型> <配置的内容>
#黑体为用户自定义部分 acl All src 0/0
acl Manager proto cache_object
acl Localhost src 127.0.0.1/32
acl Safe_ports port 80 21 443 563 70 210 280 488 591 777 1025-65535
acl SSL_ports 443 563
acl CONNECT method CONNECT
acl MyNetwork src 192.168.0.0/16
#利用前面定义的acl,定义访问控制规则
http_access allow Manager Localhost
http_access deny Manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow MyNetwork
http_access deny All
#定义与其它代理服务器的关系,语法: <cache_peer> <主机名称> <类别>
<http_port> <icp_port> <其它参数>
cache_peer 192.168.60.6 parent 4480 7 no-query default
#设置与其它代理服务器的关系:
# <cache_peer_access> <上层 Proxy > <allow|deny> <acl名称>
#cache_peer_access 192.168.60.6 allow aclxxx
#cache_peer_access 192.168.60.6 deny !aclxxx
coredump_dir /var/spool/squid
2. 激活squid
1). 在开启squid之前,你应该验证其配置文件是否正确。运行如下命令即可:
# squid -k parse
假如你看不到输出,配置文件有效,你能继续后面的步骤。然而,如果配置文件包含错误,squid会告诉你:
2). 初始化cache目录.即建立缓存目录的存储格式 只需在第一次启动squid服务之前执行(在初次运行squid之前,或者无论何时你增加了新的cache_dir,你必须初始化cache目录。)
# squid -z cache
目录初始化可能花费一些时间,依赖于cache目录的大小和数量,以及磁盘驱动器的速度。假如你想观察这个过程,请使用-X选项:
# squid -zX
3). 启动squid服务 # service squid start
假定squid安装在/usr/local/squid目录下,也可以
# /usr/local/squid/sbin/squid –sD
4). 停止squid 最安全的停止squid的方法是使用squid -k shutdown命令:
# squid -k shutdown
5). 重配置运行中的squid进程
在你了解了更多关于squid的知识后,你会发现对squid.conf文件做了许多改动。为了让新设置生效,你可以关闭和重启squid,或者在squid运行时,重配置它。
重配置运行中的squid最好的方法是使用squid -k reconfigure命令:
# squid -k reconfigure
6). 滚动日志文件 除非你在squid.conf里禁止,squid会写大量的日志文件。你必须周期性的滚动日志文件,以阻止它们变得太大。squid将大量的重要信息写入日志,假如写不进去了,squid会发生错误并退出。为了合理控制磁盘空间消耗,在cron里使用如下命令:
%squid -k rotate
例如,如下任务接口在每天的早上4点滚动日志:
0 4 * * * /usr/local/squid/sbin/squid -k rotate
该命令做两件事。首先,它关闭当前打开的日志文件。然后,通过在文件名后加数字扩展名,它重命名cache.log,store.log,和 access.log。例如,cache.log变成cache.log.0,cache.log.0变成cache.log.1,如此继续,滚动到 logfile_rotate选项指定的值。
squid仅仅保存每个日志文件的最后logfile_rotate版本。更老的版本在重命名过程中被删除。假如你想保存更多的拷贝,你需要增加logfile_rotate限制,或者编写脚本用于将日志文件移动到其他位置。 请见13.7章关于滚动日志的其他信息。
3. 访问控制示例
1) 禁止访问某个网站 在squid配置文件中添加以下acl名称及访问规则,并重新加载配置文件
acl sina dstdomain .sina.com.cn .sina.com
http_access deny sina
或
acl sina dst 58.63.236.26 58.63.236.27 58.63.236.28 58.63.236.29 58.63.236.30 58.63.236.31 58.63.236.32 58.63.236.33 58.63.236.34 58.63.236.35 58.63.236.36 58.63.236.37 58.63.236.38 58.63.236.39 58.63.236.49 58.63.236.50
http_access deny sina
或
acl sina dst www.sina.com.cn
http_access deny sina
2) 禁止来自某些IP地址的访问 在squid配置文件中添加以下acl名称及访问规则,并重新加载配置文件
acl zhang src 192.168.63.6/32
http_access deny zhang
3) 禁止在某些时段访问
acl Working_hours MTWHF 08:00-17:00
http_access allow Working_hours
http_access deny !Working_hours
4) 禁止某个代理客户建立过多连接
acl OverConnLimit maxconn 4
http_access deny OverConnLimit
三. 透明代理
让我们现在来想象一个联机状态,就是你有一整组内部网络,而这个内部网络都是透过 NAT 主机联机出去的。那么我们谈过,就是在一个内部网很大的情况下,使用 Proxy 是一个很不错的选择,因为至少他可以减轻带宽负荷!不过,遗憾的是,架设 Proxy 的时候,也要使用者在浏览器上面设置代理!那么有没有办法在『使用者不需要在浏览器上面进行任何配置,就可以实现以 Proxy 帮助使用者联接Internet?当然有啦!那就是 Transparent Proxy 啦!也有人翻译成『透明代理服务器』,其原理是:
当使用者经过 NAT 服务器来联机进入 Internet 时,假如使用的 Internet 协议为 80 (也就是 WWW) ,那么就将这个要求交给 Proxy 来工作,以达到代理服务器的功能。
呵呵!也就是说,当使用者是经过 NAT 主机联机出去时,只要让 NAT 主机发现『咦!你是要去读取 www 的资料对吧!好!那么这个动作由 Proxy 主机帮你搞定!』如此一来,使用者根本就不需要在浏览器上面配置 Proxy 的相关资料,因为这个动作是『由 NAT 主机自己决定的』,所以只要在 NAT 主机上面配置妥当即可,使用者不必配置任何资料呢!那么要怎么进行呢?只要两个步骤即可:、
1. 配置 Proxy 主机:
1) 如果是squid 2.5,需要更改squid配置文件中的下列指令:
[root@test root]# vi /etc/squid/squid.conf !
httpd_accel_host virtual # 告诉web加速器,针对所有的
URL httpd_accel_port 80 # 告诉web加速器,要监听的端口是80!
httpd_accel_with_proxy on # 这个很重要!因为配置 httpd_accel_host 之后, cache 的配置会自动被终止,必须要加上这个配置为 on 之后,才能提供 cache 的功能!
httpd_accel_uses_host_header on
2) 如果是squid 2.6,则只需要更改squid配置文件中的一个指令:
http_port 192.168.63.50:3128 transparent #192.168.63.50 就是squid服务器的地址 [root@test root]# squid -k reconfigure
2. 配置 NAT 主机的 port map : 再来让我们到 NAT 主机上面看看先,因为需要将 80 这个 port 交给 Proxy 的 3128 来帮忙协助,所以你的防火墙 script 必须要加入这一段才行:
#iptables -t nat -A PREROUTING -i eth0 -p tcp -s 192.168.62.0/24 --dport 80 -j REDIRECT --to-ports 3128
注意一下,那个 eth0 是『你的 NAT 对内的网卡』,至于 192.168.62.0/24 则是你的内部网域,请依照你的主机实际状态来配置!这样一来,您的 client 端完全不需要进行任何的配置,立刻就可以使用 Proxy 的好处啰
3. 配置转发
#echo 1 > /proc/sys/net/ipv4/ip_forward
或:
#vi /etc/sysctl.conf
net_ipv4_forword=1
#vi /etc/sysconfig/network FORWARD_IPV4=yes #service network restart
4. 配置客户端
将另外一台计算机作为客户机进行测试,需要将网关、首选DNS服务器指向设置透明代理的服务器,清除客户端的浏览器代理设置。
四. 反向代理
返回 代理服务器是使用非常普遍的一种将局域网主机联入互联网的一种方式,使用代理上网可以节约紧缺的IP地址资源,而且可以阻断外部主机对内部主机的访问,使内部网主机免受外部网主机的攻击。但是,如果想让互联网上的主机访问内部网的主机资源(例如:Web站点),又想使内部网主机免受外部网主机攻击,一般的代理服务是不能实现的,需要使用反向代理来实现。
什么是反向代理呢?其实,反向代理也就是通常所说的WEB服务器加速,它是一种通过在繁忙的WEB服务器和Internet之间增加一个高速的WEB缓冲服务器(即:WEB反向代理服务器)来降低实际的WEB服务器的负载。典型的结构如下图所示:
Web服务器加速(反向代理)是针对Web服务器提供加速功能的。它作为代理Cache,但并不针对浏览器用户,而针对一台或多台特定Web服务器(这也是反向代理名称的由来)。实施反向代理(如上图所示),只要将Reverse Proxy Cache设备放置在一台或多台Web服务器前端即可。当互联网用户访问某个WEB服务器时,通过DNS服务器解析后的IP地址是Reverse Proxy Server的IP地址,而非原始Web服务器的IP地址,这时Reverse Proxy Server设备充当Web服务器,浏览器可以与它连接,无需再直接与Web服务器相连。因此,大量Web服务工作量被卸载到反向代理服务上。不但能够防止外部网主机直接和web服务器直接通信带来的安全隐患,而且能够很大程度上减轻web服务器的负担,提高访问速度。
- Squid反向代理单个后台WEB服务器
1) 如果WEB服务器和反向代理服务器是两台单独的机器(一般的反向代理应该有两块网卡分别连接了内外部网络)。那么,应该修改下面的内容来设置反向代理服务。
http_port 80 #squid监听的端口
httpd_accel_host 172.16.250.250 #内部WEB服务器的IP地址
httpd_accel_port 80 #WEB服务的端口号
httpd_accel_single_host on #转发没有缓冲的请求到一台单独的机器,squid被设置成仅对单一的web服务器作反向代理
httpd_accel_with_proxy on #如果希望squid既作反向代理服务器又作本地机器的上网代理,需要将此设为on,默认是off
httpd_accel_uses_host_header off #在HTTP协议1.1中,HTTP请求包括一个主机头信息,指定URL的主机名或者主机的IP地址。这个选项可以用来完成多个后台WEB服务器的反向代理功能。
2) 如果WEB服务器和反向代理服务器是同一台机器。那么,应该设置WEB服务器的监听端口为非80端口(比如:81端口)。要修改的内容如下:
http_port 80 #squid监听的端口
httpd_accel_host localhost #内部WEB服务器的IP地址
httpd_accel_port 81 #WEB服务器的端口号
httpd_accel_single_host on
httpd_accel_with_proxy on
httpd_accel_uses_host_header off
- Squid反向代理多个后台WEB服务器 我们可以用Squid反向代理多个后台WEB服务器。例如:我们可以配置squid同时反向代理www.abc.com, www.xyz.com, www.lmn.com三个后台WEB服务器,示意图如下
- 的配置如下:
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_single_host off
httpd_accel_uses_host_header on
- :编译Squid时需激活Internal DNS选项)
- Internet用户通过这里解析三个网站的域名)如下:
www.abc.com 202.102.240.74
www.xyz.com 202.102.240.74
www.lmn.com 202.102.240.74
- IP地址202.102.240.74。
- DNS入口信息(即设置内部DNS,仅仅是squid在内部使用,Internet用户不可见)。有两种方法可以设置内部DNS,使用内部DNS服务器来解析或者使用/etc/hosts文件来实现。
- DNS服务器的资源记录如下:
www.abc.com IN A 192.168.62.2
www.xyz.com IN A 192.168.62.3
www.lmn.com IN A 192.168.62.4
- /etc/hosts文件来实现内部DNS(编译时应使用disable internal dns选项),编辑/etc/hosts文件添加如下条目:
192.168.62.2 www.abc.com
192.168.62.3 www.xyz.com
192.168.62.4 www.lmn.com
- WEB服务器加速器,而且使也一种对外提供Web发布时使用的有效的防火墙技术,使用它不但能节约紧缺的IP地址资源,加速WEB服务器的访问速度,而且能够保护WEB主机,因此能够适应多种应用场合。
- . 故障处理
1. 如果在启动squid时出现下述信息:
% squid -Nd1
FATAL: Could not determine fully qualified hostname. Please set 'visible_hostname'
- squid的配置文件中设置visible_hostname,如:
visible_hostname squid.packet-pushers.net
2. 如果在配置squid代理后,客户访问出现以下提示:
ERROR
The requested URL could not be retrieved
While trying to retrieve the URL: http://.../
- squid配置文件中加入以下指令:
always_direct allow all
- . 一个范例
- http_port 3128
icp_port 0
cache_mem 64 MB
cache_swap_low 80
cache_swap_high 85
maximum_object_size 32000 KB
cache_dir ufs /var/spool/squid 500 64 1024
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
pid_filename /var/run/squid.pid
acl all src 0.0.0.0/0.0.0.0 acl alldst dst 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl 163 url_regex 163.com
acl sina url_regex sina.com.cn
acl myclient src 192.168.6.0/24
http_access allow 163
http_access allow sina
http_access deny !sina
http_access deny !163
cache_peer 192.168.1.8 parent 8080 7 no-query default
cache_effective_user squid
cache_effective_group squid
cache_mgr root@net03.org
coredump_dir /var/spool/squid
- . 一个限制访问的范例
http_port 3128
icp_port 0
cache_mem 64 MB
cache_swap_low 80
cache_swap_high 85
maximum_object_size 32000 KB
cache_dir ufs /var/spool/squid 500 64 1024
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
pid_filename /var/run/squid.pid
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
acl myclient src 192.168.6.0/24
acl 163 url_regex 163.com
acl sina url_regex sina.com.cn
# Only allow cachemgr access from localhost
http_access allow manager localhost
http_access deny manager
# Deny requests to unknown ports
http_access deny !Safe_ports
# Deny CONNECT to other than SSL ports
http_access deny CONNECT !SSL_ports
cache_peer 192.168.1.8 parent 8080 7 no-query default
acl ip_acl src 192.168.6.0/24
acl time_acl time M T W H F A S 9:00-19:00
http_access allow ip_acl time_acl
cache_peer_access 192.168.1.8 allow 163
cache_peer_access 192.168.1.8 deny !163
cache_peer_access 192.168.1.8 allow sina
cache_peer_access 192.168.1.8 deny !sina
cache_effective_user squid
cache_effective_group squid
cache_mgr root@net03.org
coredump_dir /var/spool/squid
#acl pl800_arp arp 00:08:c7:9f:34:41
#http_access allow pl800_arp
1选用 vps ,本人正使用的vps 服务商 digitalocean ,vultr 和阿里云 都很稳定半年多来没出现过问题!
2 系统,用过centos 和ubuntu server 个人觉得 ubuntu 的更稳定!选用ubuntu!
3 ubuntu 16.04下 安装 apache php mysql phpmyadmin
putty 登陆vps
passwd (修改 root 密码)
apt-get update
apt-get upgrade
apt-get install apache2
apt-get install php
apt-get install php-gd
apt-get install mysql-server mysql-client
apt-get install phpmyadmin
sudo apt-get install libapache2-mod-php7.0 php7.0
ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin
a2enmod rewrite 使apache 支持rewrite
php -r "readfile('http://files.drush.org/drush.phar');" > drush
php drush core-status
chmod +x drush
sudo mv drush /usr/local/bin
drush init
ufw enable (开启防火墙)
ufw allow ssh
ufw allow http
ufw allow https
ufw allow mysql
4 用sftp 登陆vps 软件实惯用 winscp 及 filezilla ,winscp自带编辑器, filezilla 支持多点传送
修改 /etc/mysql/my.cnf
bind-address = 127.0.0.1 改成 bind-address = 0.0.0.0 这样就能支持远程登陆 mysql
修改 /etc/apache2/apache2.conf
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
如需建apache虚拟主机 复制/etc/apache2/sites-available 下 000-default.conf 文件
更改文件名为:xxx.xx.conf 并修改其内容
ServerName xxx.xx
ServerAlias www.xxx.xx
ServerAdmin webmaster@localhost
DocumentRoot /var/www/xxx.xx
记得创建 /var/www/xxx.xx 文件夹
执行 a2ensite xxx.xx.conf
chown -R www-data:www-data /var/www/xxx.xx
apachectl restart
5 登陆 http://xxxx.xx/phpmyadmin 修改root 权限为 任意主机 %
创建数据库
6 安装 drupal
cd /var/www/
drush dl drupal (下载drupal程式)
mv drupal-x.x html 或xxx.xx 修改目录名称
drush dl xxx 下载模快和主题
drush up 更新 drupal 和主题模块
7在浏览器上配置你的drupal 去吧
8 日常备份
mysql数据库备份 选用官方 MySQL Workbench 软件
http://dev.mysql.com/downloads/workbench/
命令行备份和恢复
mysqldump -u root -p --all-databases > alldb.sql
mysql -u root -p <alldb.sql
网站文件备份
cd /var/www/
执行 zip -r myfilename.zip ./*
打包 下载后 再将服务器上myfilename.zip文件删除
Sub 合并当前工作簿下的所有工作表()
Application.ScreenUpdating = False
For j = 1 To Sheets.Count
If Sheets(j).Name <> ActiveSheet.Name Then
X = Range("A1048576").End(xlUp).Row + 1
Sheets(j).UsedRange.Copy Cells(X, 1)
End If
Next
Range("B1").Select
Application.ScreenUpdating = True
MsgBox "当前工作簿下的全部工作表已经合并完毕!", vbInformation, "提示"
End Sub
注 如果低版本excle 将A1048576 改为A65536
Sub 工作薄间工作表合并()
Dim FileOpen
Dim X As Integer
Application.ScreenUpdating = False
FileOpen = Application.GetOpenFilename(FileFilter:="Microsoft Excel文件(*.xlsx),*.xlsx", MultiSelect:=True, Title:="合并工作薄")
X = 1
While X <= UBound(FileOpen)
Workbooks.Open Filename:=FileOpen(X)
Sheets().Move After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
X = X + 1
Wend
ExitHandler:
Application.ScreenUpdating = True
Exit Sub
errhadler:
MsgBox Err.Description
End Sub
注如低版本excel Microsoft Excel文件(*.xlsx),*.xlsx 中 xlsx 改为 xls
<?php
$con = mysql_connect("localhost","username","password");
mysql_query("set character set 'utf8'");//读库
mysql_query("set names 'utf8'");//写库
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("databasename", $con);
?>
输入关键词
<?php
header("Content-type: text/html; charset=utf-8");
include'conn.php';
$keyword=$_GET['keyword'];
if(!empty($keyword)){
$result =mysql_query( "select * from tablename where xxx like '%$keyword%' ");
}
else {
$result =mysql_query( "select * from tablename ");
}
$count = mysql_num_rows($result);
echo $count;
$Page_size=100;
$page_count = ceil($count/$Page_size);
$init=1;
$page_len=9;
$max_p=$page_count;
$pages=$page_count;
//判断当前页码
if(empty($_GET['page'])||$_GET['page']<0){
$page=1;
}else {
$page=$_GET['page'];
}
$offset=$Page_size*($page-1);
if(!empty($keyword)){
$sql="select * from tablename where xxx like '%$keyword%' limit $offset,$Page_size";
}
else {
$sql="select * from tablename limit $offset,$Page_size";
}
$result=mysql_query($sql,$con);
echo "";
echo "";
echo "axxx " ;
echo "bxxx " ;
echo "cxxx " ;
echo "";
while($row = mysql_fetch_array($result))
{
echo "";
echo " " .$row['a']."" ;
echo " " .$row['b']."";
echo " " .$row['c']."";
echo "";
}
echo "";
$page_len = ($page_len%2)?$page_len:$pagelen+1;//页码个数
$pageoffset = ($page_len-1)/2;//页码个数左右偏移量
$key.='';
$key.="$page/$pages "; //第几页,共几页
if($page!=1){
$key.="第一页 "; //第一页
$key.="上一页"; //上一页
}else {
$key.="第一页 ";//第一页
$key.="上一页"; //上一页
}
if($pages>$page_len){
//如果当前页小于等于左偏移
if($page<=$pageoffset){
$init=1;
$max_p = $page_len;
}else{//如果当前页大于左偏移
//如果当前页码右偏移超出最大分页数
if($page+$pageoffset>=$pages+1){
$init = $pages-$page_len+1;
}else{
//左右偏移都存在时的计算
$init = $page-$pageoffset;
$max_p = $page+$pageoffset;
}
}
}
for($i=$init;$i<=$max_p;$i++){
if($i==$page){
$key.=' '.$i.'';
} else {
$key.=" ".$i."";
}
}
if($page!=$pages){
$key.=" 下一页 ";//下一页
$key.="最后一页"; //最后一页
}else {
$key.="下一页";//下一页
$key.="最后一页"; //最后一页
}
$key.='';
echo "";
echo $key;
mysql_close($con);
?>
bfe 手工应急模式设置
clear 复位功能
clock 管理系统时钟
configure 进入设置模式
connect 打开一个终端
copy 从tftp服务器拷贝设置文件或
把设置文件拷贝到tftp服务器上
debug 调试功能
disable 退出优先命令状态
disconnect 断开一个网络连接
enable 进入优先命令状态 erase
擦除快闪内存 exit 退出
exce模式
help 交互帮助系统的描述
lat 打开一个本地传输连接
lock 锁定终端
login 以一个用户名登录
logout 退出终端
mbranch 向树形下端分支跟踪多路由广播
mrbranch 向树形上端分支跟踪反向多路由广播
name-connection 给一个存在的网络连接命名
no 关闭调试功能
pad 打开X.29 PAD连接
ping 发送回显信息
ppp 开始点到点的连接协议
reload 停机并执行冷启动
resume 恢复一个活动的网络连接
rlogin 打开远程注册连接
rsh 执行一个远端命令
send 发送信息到另外的终端行
setup 运行setup命令
show 显示正在运行系统信息
slip 开始SLIP协议
start-chat 在命令行上执行对话描述
systat 显示终端行的信息
telnet 远程登录
terminal 终端行参数
test 测试子系统内存和端口
tn3270 打开一个tin3270连接
trace 跟踪路由到目的地
undebug 退出调试功能
verify 验证检查闪烁文件的总数
where 显示活动的连接
which-route 执行OSI路由表查找并显示结果
write 把正在运行的设置写入内存、网络、或终端 x3 在PAD上设置X.3参数
xremote 进入xremote模式 2
#show ? access-expression 显示访问控制表达式
access-lists 显示访问控制表
apollo Apollo 网络信息
appletalk Apple Talk 信息
arap 显示Appletalk 远端通道统计
arp 地址解析协议表
async 访问路由接口的终端行上的信息
bridge 前向网络数据库
buffers 缓冲池统计
clns CLNS 网络信息
clock 显示系统时钟
cmns 连接模式网络服务信息
compress 显示压缩状态
configuration 非易失性内存的内容
controllers 端口控制状态
debugging 调试选项状态
decnet DEC网络信息
dialer 拨号参数和统计
dnsix 显示Dnsix/DMPP信息
entry 排队终端入口
extended 扩展端口信息
flash 系统闪烁信息
flh-log 闪烁装载帮助日志缓冲区
frame-relay 帧中继信息
history 显示对话层历史命令 hosts IP域名,查找方式,名字服务,主机表 interfaces 端口状态和设置 ip IP信息 ipx Novell IPX信息 isis IS-IS路由信息 keymap 终端键盘映射 lat DEC LAT信息 line 终端行信息 llc2 IBM LLC2 环路信息 lnm IBM 局网管理 local-ack 本地认知虚环路 memory 内存统计 netbios-cache NetBios命名缓冲存贮器内存 node 显示已知LAT节点 ntp 网络时间协议 processes 活动进程统计 protocols 活动网络路由协议 queue 显示队列内容 queueing 显示队列设置 registry 功能注册信息 rhosts 远程主机文件 rif RIF存贮器入口 route-map 路由器信息 sdlle 显示sdlc-llc2转换信息 services 已知LAT服务 sessions 远程连接信息 smds SMDS信息 source-bridge 源网桥参数和统计 spanning-tree 跨越树形拓朴 stacks 进程堆栈应用 standby 热支持协议信息 stun STUN状态和设置 subsystem 显示子系统 tcp TCP连接状态 terminal 显示终端设置 tn3270 TN3270 设置 translate 协议转换信息 ttycap 终端容易表 users 显示终端行的信息 version 系统硬、软件状态 vines VINES信息 whoami 当前终端行信息 x25 X.25信息 xns XNS信息 xermote Xremote统计 3 #config ? Memory 从非易失性内存设置 Network 从TFTP网络主机设置 Overwrite-network 从TFTP网络主机设置覆盖非易失性内存 Terminal 从终端设置 4 Configure commads: Access-list 增加一个访问控制域 Apollo Apollo全局设置命令 appletalk Appletalk 全局设置命令 arap Appletalk远程进出协议 arp 设置一个静态ARP入口 async-bootp 修改系统启动参数 autonomous-system 本地所拥有的特殊自治系统成员 banner 定义注册显示信息 boot 修改系统启动时参数 bridge 透明网桥 buffers 调整系统缓冲池参数 busy-message 定义当连接主机失败时显示信息 chat-s cript 定义一个调制解调器对话文本 clns 全局CLNS设置子命令 clock 设置时间时钟 config-register 定义设置寄存器 decnet 全局DEC网络设置子命令 default-value 缺省字符位值 dialer-list 创建一个拨号清单入口 dnsix-nat 为审计提供DMDM服务 enable 修改优先命令口令 end 从设置模式退出 exit 从设置模式退出 frame-relay 全局帧中继设置命令 help 交互帮助系统的描述 hostname 设置系统网络名 iterface 选择设置的端口 ip 全局地址设置子命令 ipx Novell/IPX全局设置命令 keymap 定义一个新的键盘映射 lat DEC本地传输协议 line 设置终端行 lnm IBM局网管理 locaddr-priority-list 在LU地址上建立优先队列 logging 修改注册(设备)信息 login-string 定义主机指定的注册字符串 map-class 设置静态表类 map-list 设置静态表清单 menu 定义用户接口菜单 mop 设置DEC MOP服务器 netbios NETBIOS通道控制过滤 no 否定一个命令或改为缺省设置 ntp 设置NTP priority-list 建立特权列表 prompt 设置系统提示符 queue-list 建立常规队列列表 rcmd 远程命令设置命令 rcp-enable 打开Rep服务 rif 源路由进程 router-map 建立路由表或进入路由表命令模式 router 打开一个路由进程 rsh-enable 打开一个RSH服务 sap-priority-list 在SAP或MAC地址上建立一个优先队列 service 修改网络基本服务 snmp-server 修改SNMP参数 state-machine 定义一个TCP分配状态的机器 stun STUN全局设置命令 tacacs-server 修改TACACS队列参数 terminal-queue 终端队列命令 tftp-server 为网络装载请求提供TFTP服务 tn3270 tn3270设置命令 translate 解释全局设置命令 username 建立一个用户名及其权限 vines VINES全局设置命令 x25 X.25 的第三级 x29 X.29 命令 xns XNS 全局设置命令 xremote 设置Xremote 5 (config)#ip Global IP configuration subcommands: Accounting-list 选择保存IP记帐信息的主机 Accounting-threshold 设置记帐入口的最大数 accounting-transits 设置通过入口的最大数 alias TCP端口的IP地址取别名 as-path BGP自治系统路径过滤 cache-invalidate-delay 延迟IP路由存贮池的无效 classless 跟随无类前向路由规则 default-network 标志网络作为缺省网关候选 default-gateway 指定缺省网(如果没有路由IP) domain-list 完成无资格主机的域名 domain-lookup 打开IP域名服务系统主机转换 domain-name 定义缺省域名 forward-protocol 控制前向的、物理的、直接的IP广播 host 为IP主机表增加一个入口 host-routing 打开基于主机的路由(代理ARP和再定向) hp-host 打开HP代理探测服务 mobile-host 移动主机数据库 multicast-routing 打开前向IP name-server 指定所用名字服务器的地址 ospf-name-lookup 把OSPF路由作为DNS名显示 pim PIM 全局命令 route 建立静态路由 routing 打开IP路由 security 指定系统安全信息 source-route 根据源路由头的选择处理包 tcp 全局TCP参数