三种主流的Web应用平台介绍和对比

搭配最合适的组合 操作系统 Web服务器 数据库 语言 Windows IIS SQL Server ASP(C#) asp.net Linux Apache/Nginx MySQL PHP LAMP/LNMP Unix Tomcat Oracle JSP JavaEE asp.net是asp的升级,微软已经宣布废弃asp语言,取而代之的是用C#作为asp.net的语言。 大学里还有asp这门课,虽然asp的安全性能差,不过应付小网站还可以的。 LAMP的组合是开源免费的,性价比高 JavaEE的组合最强大,不过也最昂贵!Unix是专门为不同硬件定制的。 性能比较 LAMP JavaEE ASP.net 运行速度 较快 快 一般 开发速度 非常快 慢 一般 运行损耗 一般 较小 较大 难易程度 简单 难 简单 运行平台 Linux/UINX/Windows 绝大多数平台均可 只有Windows 扩展性 好 好 较差 安全性 好 好 较差 应用程度 较广 较广 目前一般 建设成本 非常低 非常高 高
阅读全文

动态网站开发所需的web构件

动态网站开发不同于其他的应用程序开发,它需要有很多种开发技术结合在一起使用。每种技术的功能各自独立而又要相互配合才能完成一个动态网站的建立。 客户端IE/FireFox/Safari等多种浏览器 超文本标记语言HTML 重叠样式表CSS 客户端脚本编程语言JavaScript/VBScript/Applet等中的一种 Web服务器Apache/Nginx/TomCat/IIS等中的一种 服务器端编程语言PHP/JSP/ASP中的一种 数据库管理系统MySQL/Oracle/SQL Server
阅读全文

认识脚本语言

大多数网站开发都是使用脚本语言,它是使用一种特定的描述语言,依据一定的格式编写的可执行文件。 脚本是批处理文件的延伸,是一种纯文本保存的程序,一般来说的计算机脚本程序是确定的一系列控制计算机进行运算操作动作的组合,在其中可以实现一定的逻辑分支等。脚本简单地说就是一条条的文字命令,这些文字命令是可以看到的(如可以用记事本打开查看、编辑),脚本程序在执行时,是由系统的一个解释器,将其一条条的翻译成机器可识别的指令,并按程序顺序执行。 因为脚本在执行时多了一道翻译的过程,所以它比二进制程序执行效率要稍低一些。 脚本通常可以由应用程序临时调用并执行。各类脚本被广泛地应用于网页设计中,因为脚本不仅可以减少网页的规模和提高网页浏览速度,而且可以丰富网页的表现,如动画、声音等。 脚本语言是比较多的,一般的脚本语言的执行只同具体的解释执行器有关,所以只要系统上有相应语言的解释程序就可以做到跨平台。 常见的脚本语言:PHP、HTML、CSS、JavaScript、VBSScript、ActionScript、MAX Script、ASP、JSP、SQL、Perl、Shell、phython、Ruby、JavaFX、Lua、Autolt等。 脚本语言的主要特性如下 语言和结构通常比较简单 学习和使用通常比较简单 通常以容易修改程序的“解释”作为运行方式,而不需要“编译” 程序的开发产能优于运行效能
阅读全文

Linux多命令协作:管道及重定向

不要重复发明轮子 开源文化的核心理论之一就是不要重复发明轮子,很多的开源软件都是现有软件、代码、功能的重新组合,就好像通过零件装配机器一样,源代码的开放和共享让这成为了可能,同时也大大的提高效率和生产力。 管道和重定向 在Linux系统当中,大多数命令都很简单,很少出现复杂功能的命令,每个命令往往只实现和一个或几个很简单的功能,我们可以通过将不同功能的命令组合在一起使用,以达到完成某个复杂功能的目的。 Linux中,几乎所有命令的返回数据是纯文本的(因为命令都是运行在CLI下),而纯文本形式的数据又是绝大多数命令的输入格式,这就让多命令协助成为可能。 Linux的命令行为我们提供了管道和重定向机制,多命令协作就是通过管道和重定向完成的。 命令行shell的数据流有以下定义: 命令通过STDIN接收参数或数据,通过STDOUT输出结果或通过STDERR输出错误。 名称 说明 编号 默认 STDIN 标准输入 0 键盘 STDOUT 标准输入 1 终端 STEDERR 标准错误 2 终端 通过管道和重定向我们可以控制CLI的数据流 分类 关键字 定义 例子 重定向 > 将STDOUIT重定向到文件(覆盖) echo"linuxcast" > outfilels > outfile >> 将STDOUT重定向到文件(追加) echo"linuxcast" >> outfile date >> outfile 2> 将STDERR重定向文件(覆盖) ls nothere 2> 2>&1 将STDERR与STDOUT结合 ls nothere 2> &|alloutput < 重定向STDIN grep linuxcast < /etc/passwd 管道 | 将一个命令的STDOUT作为另一个命令的STDIN ls -l | grep linux find / -user linuxcast | grep video 管道通常用来组合不同的命令,以实现一个复杂的功能 重定向通常用来保存某命令的输出信息或错误信息,可以用来记录执行结果或保存错误信息到一个指定的文件
阅读全文
现在是Web2.0的时代,web3.0只是个概念 电脑控

现在是Web2.0的时代,web3.0只是个概念

Web1.0的时代 每个页面的源代码都得手动修改 静态页面 Web2.0的时代 动态的网页结构 移动互联时代 电子商务 云计算,云存储 物联网 Web2.0则注重用户的交换作用,用户既是互联网站内容的浏览者,也是网站内容的制造者 web3.0的时代 web3.0只是由业内人员制造出来的概念词语,最常见的解释是,网站内的信息可以直接和其他网站相关信息进行交互,能通过第三方信息平台同时对多家网站的信息进行整合使用;用户在互联网上拥有自己的数据,并能在不同网站上使用;完成基于web,用浏览器即可实现复杂系统程序才能实现的系统功能。用户数据审计后,同步于网络数据。
阅读全文
B/S结构软件类型介绍 电脑控

B/S结构软件类型介绍

软件的分类: 潜入式软件:非电脑的软件,比如手机的程序,电冰箱的程序等都是硬件里的程序,优点在于不怕被盗版。不过开发难度大。 系统软件:操作系统,数据库.... 应用软件:比如电脑里的计算器等,国内盗版严重。 〉手机应用:市场已经饱和,在走下坡路 B/S结构软件类型介绍 B/S属于应用软件 c-client结构的客户端软件:QQ,迅雷等需要下载安装的软件 b-client结构的客户端软件:用浏览器使加载的,并非纯粹网页形式开发,还需内部系统开发 B/S结构的优势 基于浏览器,具有统一的平台和UI体验 无需安装,只要有浏览器,随时随地使用 总是使用应用的当前最新版本,无须升级 数据持久存储在云端,基本无须担心丢失 新一代Web技术提供了更好的用户体验
阅读全文
Linux网络基础配置,故障排查 电脑控

Linux网络基础配置,故障排查

以太网连接 在Linux中,以太网接口被命令为:eth0、eth1等,0、1代表网卡编号 通过lspci命令可以查看网卡硬件信息(如果是usb网卡,则可能需要使用lsusb命令) 命令ifconfig命令用来查看接口信息 ifconfig -a 查看所有接口 ifconfig -eth0 查看特定接口 命令ifup、ifdown用来启用、禁用一个接口 ifup eth0 ifdown eth0 配置网络信息 使用setup命令可以配置网络信息 配置完成后,使用ifup启用网卡,并使用ifconfig命令查看信息 网络相关配置文件 网卡配置文件 /etc/sysconfig/network-scripts/ifcfg-eth0 DNS配置文件 /etc/resolv.conf 主机名配置文件 /etc/sysconfig/network 静态主机名配置文件 /etc/hosts 网络测试命令 ping 192.168.1.1 ping www.kuntesi.com 测试DNS解析 host www.kuntesi.com dig www.kuntesi.com 显示路由表 ip route 追踪到达目标地址的网络路径 traceroute www.kuntesi.com 使用mtr进行网络质量 测试(结合traceroute和ping) mtr www.kuntesi.com 故障排查 网络故障排查遵循从底层到高层、从自身到外部的流程进行 先查看网络配置信息是否正确 -IP地址 -子网掩码 -网关 -DNS 查看DNS解析是否正常 host www.kuntesi.com
阅读全文
网络基础:IP编址,路由,DNS 电脑控

网络基础:IP编址,路由,DNS

IP编址 IP编址是一个双层编址方案,一个IP地址标识一个主机(或一个网卡接口) 现在应用最为广泛的是IPv4编址,已经开始逐渐向IPv6编址切换 IPv4地址为32位长,IPv6地址为128位长。(IPV6可以为世界上每一粒沙子分配一个网络地址) 一个IPv4地址分为两个部分:网络部分和主机部分 网络部分用来识别所属区域、主机部分用来标识该区域中的哪个主机 IP地址 Ipv4地址共32位,通常使用点分十进制方式表示 整个IP地址分为4个部分,每个部分8位 子网掩码 IPv4地址的32bit分为网络部分和主机部分 我们通过子网掩码来确定网络部分的位数 子网掩码与IP地址一样,拥有32bit,每一位与IP地址中的每一位一一对应 IP地址中相对子网掩码中为1的部分为网络部分 证明此IP地址前24位是网络部分,也就是说,与此IP地址处在同一个网络的其他主机的IP地址前24位相同,以证明他们在同一个网络 IP编址 通过比较网络部分是否相同来判断是否处于同一网络 192.168.1.0/24 192.168.1是网络部分,0是用来标识网段中的不同主机,/24是子掩码,表示前24位或者前三部分 10.0.0.0/8 10是网络部分,0.0.0是用来标识网段中的不同主机,/8是子掩码,表示前8位或者第一部分 同一个网络主机之间通信 MAC地址是网卡的地址,同一网络的主机是通过MAC和交换机直连的 不同网络之间通信 不同网络之间通信需要通过路由器转发 路由 在不同网络之间传输数据的功能叫做路由功能(网关),一般有多个接口,连接到不同的网络中,并且通过路由表进行数据转发 网关的功能就是用来跨区域传输 域名 IP地址往往难以记忆,所以我们一般使用域名进行管理 域名分为三个部分,用“.”分割 -类型 标识此域名的类型(com,get,org,edu,gov等) -域名 域名称 -主机名 该域中的某台主机名称 域名大小写不敏感 DNS 每一个域名代表一个IP,而DNS服务就是用来在IP与域名之间进行转换的 DNS服务由DNS服务器提供 有时网络QQ能上,网站却打不开,是因为QQ不用dns,只用ip通信 基本网络参数 要配置一个局域网通信的计算机 -ip地址 -子网掩码 -要配置一个跨网段通信的计算机 -ip地址 -子网掩码 -网关 要配置一个可上网的计算机 -ip地址 -子网掩码 -网关 -DNS
阅读全文

Linux扩展权限(默认权限):umask

默认权限 每一个终端都拥有一个umask属性,来确定新建文件、文件夹的默认权限 umask使用数字权限方式表示,如:0022(第一个数字是特殊权限) 创建目录的默认权限是:777-umask(777减去当前的umask最后三个数字的值) 创建文件的默认权限是:666-umask(666减去当前的umask最后三个数字的值) 一般情况下,普通用户的默认umask是002,root用户的默认umask是022 也就是说,对于普通用户来讲: 新建文件的权限:666-002=664 新建目录的权限:777-002=775 命令umask用以查看设置(修改)umask值 umask 022 一般情况下,我们不去修改默认权限. 特殊权限 权限   对文件的影响 对目录的影响 suid 以文件的所属用户身份执行,而非执行文件的用户 无 sgid 以文件属组身份执行 在该目录创建的任意文件(包括文件夹)的所属组与该目录的所属组相同 sticky 无 对目录拥有写入权限的用户仅可以删除其拥有的文件,无法删除其他用户所拥有的文件 suid: root@a:~# ls -ld /usr/bin/passwd -rwSr-xr-x 1 root root 42824 Apr 9 2012 /usr/bin/passwd suid(S)替换了所属用户User的权限的x位 sgid(S)替换了所属用组Group的权限的x位 sticky(T)替换了所其他用组权限的x位 root@a:~# ls -ld /etc/shadow -rw-r----- 1 root shadow 950 Sep 27 15:40 /etc/shadow root的权限无穷大,passwd功能就是接受用户信息,然后写入shadow当中。 设置特殊权限 设置suid: chmod u+s linuxcast 设置sgid: chmod g+s linuxcast 设置sticky: chmod o+t linuxcast 与普通权限一样,特殊权限也可以使用数字方式表示 -SUID =4 -SGID =2 =Sticky =1 所以,我们可以通过以下命令设置 chmod 4755 linuxcast
阅读全文

14-Linux用户基础:用户,组

用户、组 当我们使用Linux时,需要以一个用户的身份登入,一个进程也需要以一个用户的身份运行,用户限制使用者或进程可以使用、不可以使用哪些资源。 组用来方便组织管理用户 每个用户拥有一个UserId,操作系统实际使用的是用户ID,而非用户名 每个用户属于一个主组,属于一个或多个附属组 每个组拥有一个GroupID 每个进程以一个用户身份运行,并受该用户可访问的资源限制 每个可登录用户拥有一个特定的shell 用户 用户ID为32位,从0开始,但是为了和老式系统兼容,用户ID限制在60000以下。 用户为以下三种: -root用户(ID为0的用户为root用户) -系统用户(1-499) -普通用户(500以上) 系统中的文件都有一个所属用户及所属组 使用id命令可以显示当前用户的信息 使用passwd命令可以修改当前用户密码 相关文件 /etc/passwd -保存用户信息 /etc/shadow -保持用户密码(加密的) /etc/group -保存组信息 查看登录的用户 命令whoami显示当前用户 命令who显示有哪些用户已经登录系统 命令w显示有哪些用户已经登陆并且在干什么 创建一个用户 命令useradd用以创建一个新用户 useradd nash_su 这个命令会执行以下操作: 1./etc/passwd中添加用户信息 2.如果使用passwd命令创建密码,则将密码加密保存在/etc/shadow中 3.为用户建立一个新的家目录/home/nash——su 4.将/etc/skel中的文件复制到用户的家目录中 5.建立一个与用户用户名相同的组,新建用户默认属于这个同名组 .命令useradd支持以下参数 -d 家目录 -s 登陆shell -g 主组 -G 附属组(最多31个,用“,”分割) 也可通过直接修改/etc/passwd的方式表现,但是不建议 修改用户信息 命令usermod用来修改用户信息 usermod 参数 username 命令usermod支持以下参数 -l 新用户名 -u 新userid -d 用户家目录位置 -g 用户所属主组 -G 用户所属附属组 -L 锁定用户使其不能登录 -U 解除锁定 删除用户 命令userdel用以删除指定用户 userdel nash_su (保留用户的家目录) userdel -r nash_su(同时删除用户的家目录) 组 几乎所有操作系统都有组的概念,通过组,我们可以更加方便的归类、管理用户。一般来讲,我们使用部门、职能或地理区域的分类方式来创建用户组。 每个组有一个组ID 组信息保存在/etc/group/中 每个用户拥有一个主组,同时还可以拥有最多31个附属组 创建、修改、删除组 命令groupadd用以创建组: groupadd linuxcast 命令groupmod用以修改组信息 groupmod -n newname oldname 修改组名 groupmod -g newGid oldGid 修改组ID 命令groupdel用以删除组: groupdel linuxcast
阅读全文