- 浏览: 596041 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (669)
- oracle (36)
- java (98)
- spring (48)
- UML (2)
- hibernate (10)
- tomcat (7)
- 高性能 (11)
- mysql (25)
- sql (19)
- web (42)
- 数据库设计 (4)
- Nio (6)
- Netty (8)
- Excel (3)
- File (4)
- AOP (1)
- Jetty (1)
- Log4J (4)
- 链表 (1)
- Spring Junit4 (3)
- Autowired Resource (0)
- Jackson (1)
- Javascript (58)
- Spring Cache (2)
- Spring - CXF (2)
- Spring Inject (2)
- 汉字拼音 (3)
- 代理模式 (3)
- Spring事务 (4)
- ActiveMQ (6)
- XML (3)
- Cglib (2)
- Activiti (15)
- 附件问题 (1)
- javaMail (1)
- Thread (19)
- 算法 (6)
- 正则表达式 (3)
- 国际化 (2)
- Json (3)
- EJB (3)
- Struts2 (1)
- Maven (7)
- Mybatis (7)
- Redis (8)
- DWR (1)
- Lucene (2)
- Linux (73)
- 杂谈 (2)
- CSS (13)
- Linux服务篇 (3)
- Kettle (9)
- android (81)
- protocol (2)
- EasyUI (6)
- nginx (2)
- zookeeper (6)
- Hadoop (41)
- cache (7)
- shiro (3)
- HBase (12)
- Hive (8)
- Spark (15)
- Scala (16)
- YARN (3)
- Kafka (5)
- Sqoop (2)
- Pig (3)
- Vue (6)
- sprint boot (19)
- dubbo (2)
- mongodb (2)
最新评论
虽然不同的服务器提供的服务并不相同,而且每种服务的原理也不见得都一样,不过,每种服务器由规划、架设到后续的安全维护, 其实整个流程是大同小异的。什么?你不相信啊?为了让你相信,那我们就来一项一项的分析看看吧!
网络服务器成功联机的分析
底下我们就整个服务器的简易架设流程当中来分析一下,以了解为什么了解操作系统的基础对于网站维护是相当重要的呢?首先,到底我们是如何联机到服务器的? 联机到服务器又取得啥咚咚?我们先以底下这张图示来作个简单的说明好了:
tu
先来理解一下,到底我们联机到服务器想要得到什么?举例来说,你联机到 Youtube 想要看影片,所以对方就提供影片串流数据给你; 你连到 Yahoo 想要看新闻,所以对方就提供新闻的文本文件给你;你联机到无名小站想要看美女,对方就传图档给你;你联机 Facebook 想要去种田,对方就参考你之前留下来的记录,从数据库里面将你的记录拿出来传给你。看到没有,你联机到服务器,重点在取得对方的数据, 而一般数据的存在就是使用档案啰!那你有没有权限取得?最终与该文件系统的设定有关啦!
上图显示的是:首先,客户端到服务器的网络要能够通,等到客户端到达服务器后,会先由服务器的防火墙判断该联机能否放行, 等到放行之后才能使用到服务器软件的功能。而该功能又得要通过 SELinux 这个细部权限设定的项目后,才能够读取到文件系统。 但能不能读到文件系统呢?这又跟文件系统的权限 (rwx) 有关啦!上述的每个部分都要能够成功,否则就无法顺利读取数据啰。
所以,根据上面的流程我们大概可以将整个联机分为几个部分,包括:网络、服务器本身、内部防火墙软件设定、各项服务配置文件、细部权限的 SELinux 以及最终最重要的档案权限。底下就分几个细项来谈谈啰。
A 网络:了解网络基础知识与所需服务之通讯协议
既然要架设服务器,首先当然得要了解一下因特网。因为不管是哪种操作系统,若想要与因特网联机,这个网络基础就得了解。 举例来说,『网域』是经常会谈到的概念,当你发现一个设定为 192.168.1.0/255.255.255.0 时,晓得那是什么鬼东西吗? 如果不知道的话,呵呵!绝对无法设定好网站的啦!另外,为何你需要服务器?当然是想要达成某项网络服务。 举例来说,传输档案可以用 FTP,那 WWW 可以传递档案吗?网芳可以传递吗?各有何用处?哪个比较方便? 对于客户或老板来说,我们所设定的服务能否满足他们的需求等等,这都需要了解,否则你将一头雾水啊! 因此这部份你就得要了解:
基本的网络基础知识:包括以太网络硬件与协议、TCP/IP、网络联机所需参数等;
各网络服务所对应的通讯协议原理,以及各通讯协议所需对应的软件。
B 服务器本身:了解架网络服务器之目的以配合主机的安装规划
想要架设服务器吗?那...架什么服务器?这个服务器要不要对 Internet 开放?这个服务要不要针对客户提供相关账号? 要不要针对不同的客户账号进行例如磁盘容量、可活动空间与可用系统资源进行限制?如果要进行各项资源的限制, 那服务器操作系统应该要如何安装与设定?问题很多吧!所以,先了解你要的服务器服务目的之后,后续的规划才能陆续出炉。 不过,如果架站只是为了『练功』而已,呵呵!那就不需要考虑太多了~
C 服务器本身:了解操作系统的基本操作
网络服务软件是需要建置在操作系统上面的,所以基本的操作系统操作就得要了解才行啊!包括软件如何安装与移除? 如何让系统进行例行的工作管理?如何依据服务器服务之目的规划文件系统?如何让文件系统具有未来扩充性 (LVM 之类)? 系统如何管理各项服务之启动?系统的开机流程为何?系统出错时,该如何进行快速复原等等,这都需要了解的呢!
D 内部防火墙设定:管理系统的可分享资源
一部主机可以拥有多种服务器软件的运作,而很多 Linux distributions 出厂的默认值就已经开放很多服务给 Internet 使用了,不过这些服务可能并不是你想要开放的呢。我们在了解网络基础与所需服务的目的之后, 接下来就是透过防火墙来规范可以使用本服务器服务的用户,以让系统在使用上拥有较佳的控管情况。 此外,不管你的防火墙系统设定的再怎么严格,只要是你要开放的服务, 那防火墙对于该服务就没有保护的效果。因此,那个重要的在线更新软件机制就一定要定期进行!否则你的系统将会非常非常的不安全!
E 服务器软件设定:学习设定技巧与开机是否自动执行
刚刚第一点就提到我们得要知道每种服务所能达成的功能,如此一来才能够架设你所需要的服务的网站。 那你所需要的服务是由哪个软件达成的?同一个服务可否有不同的软件?每种软件可以达成的目的是否相同? 依据所需要的功能如何设定你的服务器软件?架设过程中如果出现错误,你该如何观察与除错? 可否定期的分析服务器相关的登录信息,以方便了解该服务器的使用情况与错误发生的原因? 能否通知多个用户进行联机测试,以取得较佳的服务器设定值?所以这里你可能就得要知道:
软件如何安装、如何查询相关配置文件所在位置;
服务器软件如何设定?
服务器软件如何启动?如何设定自动开机启动?如何观察启动的埠口?
服务器软件激活失败如何除错?如何观察登录档?如何透过登录档进行除错?
透过客户端进行联机测试,如果失败该如何处理?联机失败的原因是服务器还是防火墙?
服务器的设定修改是否有建立日志?登录档是否有定期分析?
服务器所提供或分享的数据有无定期备份?如何定期自动备份或异地备份?
F 细部权限设定:包括 SELinux 与档案权限
等到你的服务器全部设定妥当,最后你所提供的档案数据权限却是给了『 000 』的权限分数, 那鸟哥很肯定的说,大家都无法读到你所提供的数据啊...!此外,新的 distributions 都建议你要启动 SELinux ,那是什么咚咚? 如果你的数据放置于非正规的目录,那该如何处理 SELinux 的问题?又如何让档案具有保密性或共享性 (档案权限概念与 ACL 等) 等等,这也都是需要厘清的观念喔!
上述的服务器架设流程中,其实除了第 5 点之外,其他步骤在各服务器设定都需要了解啊!而且都是一样的东西说! 因此,这些基础如果学会了,最终,你只要知道第 5 点里面那个软件的基础设定,你的服务器一下子就可以设定完成啦! 这样说,你是否开始觉得基础学习很重要啊! ^_^
一个常见的服务器设定案例分析
上面讲完后或许你还是不很清楚到底这些技能如何串起来?鸟哥这里提供一个简单的案例来分析一下好了, 这样你应该就比较容易清楚的知道为何需要学习这些咚咚。
A 网络环境:假设你的环境里面 (不管是家里还是宿舍) 共有五部计算机,这五部计算机需要串接在一起,且都可以对外联机;
B 对外网络:你的环境只有一个对外的联机方式,这里假设是台湾较流行的 ADSL 或 10M 的光纤这种透过电话线拨接的类型;
C 额外服务:你想要让这五部计算机都可以上网,而且其中还有一部可以做为网络驱动器机,提供同学或家人作为数据备份与分享之用;
D 服务器管理:由于你可能需要进行远程管理,因此你这部服务器得要开放联机机制,以让远程计算机可以联机到这部主机来进行维护;
E 防火墙管理:因为担心这部做为档案分享服务器的系统被攻击,因此你需要针对 IP 来源进行登入权力的控制;
F 账号管理:另外,由于同学的数据有隐密与共享之分,因此你还得要提供每个同学个别的账号, 且每个账号都有磁盘容量的使用限制;
后端分析:最后,由于担心系统出问题所以你得要让系统自动定期分析磁盘使用量、登录文件参数信息等等。
在上述的环境中,你要考虑的东西有哪些呢?依据本小节一开始谈到的六个步骤来分析的话,你可能需要底下这些咚咚喔!
了解网络基础
硬件规划
我们想要将五部计算机串接在一块,但是却又只有一个可以对外的联机,此时就得要购买集线器 (hub) 或者是交换器 (switch) 来串接所有的计算机了。但是这两者有何不同?为何 switch 比较贵?我们知道网络线被称为 RJ-45 的网络线, 但网络线材竟然有等级之分,这个等级要怎么分辨?不同等级的线材速度有没有差异?等到这些硬件基础了解之后, 你才能够针对你的环境来进行联机的设计。这部份我们等到下一章再来介绍。
联机规划
由于只有一条对外联机而已,因此通常我们就建议你可以用如下的方式来串接你的网络:
TU
透过 IP 分享器,我们的五部计算机就都能够上网了。此时你得要注意,能否上网与 Internet 有关,Internet 就是那有名的 TCP/IP 通讯协议,而想要了解网络就得要知道啥是 OSI 七层协定。我们也知道能连上 Internet 与所谓的 IP 有关,那么我们内部这五部计算机所取得的 IP 能不能拿来架站?也就是说, IP 有没有不同种类? 如果 IP 分享器突然挂了,那你的这五部计算机能不能联机玩魔兽?这就考虑你的网络参数设定问题了!
网络基础
如果你的同学或家人跑来跟你说,网络不通哩!你直觉会是什么?硬件问题?软件问题?还是啥莫名其妙的问题? 如果你不懂网络基础的 IP 相关参数,包括路由设定以及领域名系统 (DNS) 的话,肯定不知道怎么进行联机测试的。 所以啰,此时你就会被骂说:『怎么都不懂还想要管理我们家网络』...那时不是很糗吗?所以要学好一些嘛! 这部份就很复杂了,包括 TCP/IP, Network IP, Netmask IP, Broadcast IP, Gateway, DNS IP 等等,都需要理解喔!
了解了这些原理之后,你才能够进行除错 (debug) 的工作,否则,错误一出,你可能就会被骂的臭头的! 最常见的错误中,举例来说,如果你的主机明明就可以使用 ping 这个指令去接触远方的主机 (ping IP),但是就是无法使用 ping hostname 去接触远方的主机,请问,这个原因是什么呢?了解网络基础的朋友一看就知道几乎是 DNS 出问题了,不晓得的朋友就是想破头也得不到答案。既然知道出问题的地方,就能够针对该问题去处理嘛!
网络基础会影响到你的网络设定是否正确,这真的很重要吶,因为,如果你的网络不通,那么即使服务器架设成功了, 别人可以看的到吗?所以说,要架站,真的得对网络基础的部分下一些功夫才行的。关于网络基础这部份我们在基础篇并没有谈过, 所以我们会在下一章网络基础时再详加说明喔!
服务器本身的安装规划与架站目的的搭配
如同图 1.2-2 所示,Server 端是在那五部计算机之中,而且 Server 必须要提供针对不同账号给予网络驱动器机,我们这边会提供网芳 (SAMBA) 这个服务,因为他可以在 Linux/Windows 之间通用之故。 且由于需要提供账号给使用者,以及想到未来的磁盘扩充情况,因此我们想要将 /home 独立出来,且使用 LVM 这个管理模式, 并搭配 Quota 机制来控制每个账号的磁盘使用量。
所以说,你得知道 Linux 目录下的 FHS (Filesystem Hierarchy Standard) 的规范,否则分割槽给到错误的目录,会造成无法开机!那为什么要将 /home 独立放入一个分割槽? 那是因为 quota 仅支持 filesystem 而不支持单一目录啊!好了,如果给你一部全新的主机,那你该如何安装你的系统呢?
实作题-全新安装:
请到昆山科大 (http://ftp.ksu.edu.tw/FTP/CentOS/), 义守大学 (http://ftp.isu.edu.tw/pub/Linux/CentOS/) 或国家高速网络中心 (http://ftp.twaren.net/Linux/CentOS/ ) 下载最新的 Linux 映像档来刻录 (2011/07 可下载最新版为 CentOS 6.0),并且依据上述的需求安装好你的 Linux 系统 (最重要的其实就是那个分割而已,其他的动作可以在安装完成后再说)。
答:
由于 Linux 的安装我们已经在基础篇内的第四章介绍过了,这里我们不再使用图形接口来说明, 仅使用文字说明来介绍你在每个项目应该处理的动作而已。此外,由读者们的响应发现,学习者经常只有一部主机, 因此,这里我们建议你使用 Virtualbox (http://www.virtualbox.org/) 来仿真出一部实体主机,以安装你的测试环境。并请注意, 这部主机将会使用在本书的各个章节测试中。
Virtualbox 的安装与设定请自行参考其官网上面的 Documentation 介绍,这里不再赘言。只是需要注意的是, 若 (1)需要架设网站来上网,建议网络使用桥接模式 (bridge) ,且网络卡类型使用 Intel 的桌面计算机类型即可。 (2)由于我们未来会教导 NAT 服务器,因此最好有两张网卡,一张使用 bridge 一张使用内网 (intnet) 较佳。 而 (3)磁盘配置建议使用 SATA 类型,且容量请给予 25GB 以上。 (4)内存至少该给予 512MB 以上,最好有 1GB 来测试。 其他的请参考官网文件,或者使用默认配置即可。当然啦,如果你有独立的实体机器来安装,那就更好了! 不需理会这一小段文字的说明喔。
默认配置如下:
分割表请依如下方式进行:
/ : 2GB
/boot: 200MB
/usr : 4GB
/var : 2GB
/tmp : 1GB
swap : 1GB
/home: 5GB,并且使用 LVM 模式建置
其他容量请保留,未来再来进行额外练习!
软件挑选时,请选择『 basic server 』项目即可;
信息安全部分,防火墙选择启动,SELinux 选择强制 (Enforce);
假设 IP 分享器有自动分配 IP 的功能,所以网络参数先选择 DHCP 即可,未来再自己修改。
实际流程大致如下 (鸟哥以 CentOS 6.0 为例说明)
1.由于我们使用光驱开机来安装系统,因此得先进入 BIOS ,选择光驱开机,并且将 CentOS 6.x 的 DVD 放入光驱中;
2.在启动安装的画面中,选择『Install or upgrade an existing system』来安装新系统;
出现『 Disc Found 』字样,此时建议可以选择『 Skip 』即可略过;
3.在欢迎画面以鼠标点选『 Next 』;
4.语系数据可以选择『Chinese(Traditional)(中文(正体))』;
5.键盘格式保留『美式英文』即可;
6.安装包含的装置类型,直接选择默认的『基本储存装置』即可;
7.因为我们是全新的硬盘,因此会出现一个找不到分割表的错误,此时选择『重新初始化』即可;
8.进入网络主机名的设定,先保留『localhost.localdomain』即可。 同画面中还有一个『配置网络』的选项,我们先不要动他!等未来谈到网络设定再来处理即可;
9.进入时区选择,请选择『亚洲/台北』即可;
10.出现 root 密码制作,这里我们先设定为『 centos 』吧! 这个密码太简单,系统会出现警告,你选择『照样使用』即可。你也可以自行设定其他密码;
10.出现哪一类型安装的模式,因为我们有自己的分割考虑,所以,请选择『建立自定义分割格式』来处理喔!
11.在出现分割画面中,先点选『sda』项目,然后点选『建立』的按钮,在出现的窗口中, 再点选『标准分割区』项目,然后点『建立』。 在最后的窗口中填写挂载点、容量等信息后,最终按下『确定』即可。最终画面有点像这样:
TU
依据前面的分割规划,持续进行上述的动作,将所有的分割都处理完毕,除了 /home 之外。
由于 /home 想要使用 LVM 的方式来建立文件系统,因此点选『建立』后,选择『LVM 实体卷册』项目,按下建立,在出现的分割窗口中容量填写 5GB,示意图有点像这样:
TU
接下来回到原本的分割画面后,按下『建立』并选择『LVM 卷册群组』项目, 在出现的窗口中,卷册组名填写『server』,并且在右下方的逻辑卷册部分按下『新增』, 又会额外出现一个窗口,此时就填入 /home 的相关参数啦!注意,逻辑卷册我们这里设定为 myhome 喔! 画面有点像底下这样:
TU
回到原本的分割画面,最终的显示有点像底下这样,然后请按下『下一步』继续。 但由于新建分割需要格式化,所以又会出现一个警告窗口!没问题的,选择『格式化』以及『将变更写至磁盘』吧!
TU
16.出现启动加载程序作业,都使用默认值即可,请按『下一步』;
17.出现安装类型,因为我们主机的角色为服务器,因此选择『Basic Server』项目! 其他项目保留默认,然后按下『下一步』就开始进行安装程序啰!
17.经过一段时间的等待,出现重新启动后,你就重新启动吧!喔!要记得将 DVD 拿出来喔!(怪异的是,鸟哥第一次安装后, 竟然发现电源管理有问题,得在 kernel 处增加 noapic 才能顺利开机呢!)
18.装好并重新启动后,就会进入 runlevel 3 的纯文本界面!因为是服务器嘛!
服务器本身的基本操作系统操作
既然我们这部主机得要提供不同账号来使用他们自己的网络驱动器,因此还需要建立账号啊,使用磁盘配额 (quota) 等等的。 那么你会不会建立账号呢?你会不会建置共享目录呢?你能不能处理每个账号的 Quota 配额呢?如果 /home 的容量不足了, 你会不会放大 /home 的容量呢?有没有办法将系统的磁盘使用情况定期的发送邮件给管理员呢?这些都是基本的维护行为喔! 我们底下就以几个实际例子来练习看看你的基础能力吧!
例题-大量建置账号:
假设我的五个朋友账号分别是 vbirduser{1,2,3,4,5},且这五个朋友未来想要共享一个目录,因此应该要加入同一个群组,假设这个群组为 vbirdgroup,且这五个账号的密码均为 password 。那该如何建置这五个账号?
答:
你可以写一支脚本程序来进行上述的工作喔!
最后利用 id 这个指令来查询看看,是否群组的支持是对的啊!
例题-共享目录的权限:
这五个朋友的共享目录建置于 /home/vbirdgroup 这个目录,这个目录只能给这五个人使用,且每个人均可于该目录内进行任何动作! 若有其他人则无法使用 (没有权限),那该如何建置这个目录的权限呢?
答:
考虑到共享目录,因此目录需要有 SGID 的权限才行!否则个别群组数据会让这五个人彼此间无法修改对方的数据的。因此需要这样做:
例题-Quota 实作:
假设这五个用户均需要进行磁盘配额限制,每个用户的配额为 2GB (hard) 以及 1.8GB (soft),该如何处理?
答:
这一题实作比较难,因为必须要包括文件系统的支持、quota 数据文件建置、quota 启动、建立用户 quota 信息等过程。 整个过程在基础篇有讲过了,这里很快速的带领大家进行一次吧!
例题-文件系统的放大 (LVM):
纯粹假设的,我们的 /home 不够用了,你想要将 /home 放大到 7GB 可不可行啊?
答:
因为当初就担心这个问题,所以 /home 已经是 LVM 的方式来管理了。此时我们要来瞧瞧 VG 够不够用,如果够用的话, 那就可以继续进行。如果不够用呢?我们就得要从 PV 着手啰!整个流程可以是这样来观察的。
做完上面的实作之后,现在你晓得为什么在基础篇的时候,我们一直强调一些有的没有的了吧?因为那些东西在这里都用的上! 如果本章这些题目你都不会,甚至连为什么要作这些东西都不懂的话,那得赶紧回去阅读基础篇,不要再念下去了! 会非常非常辛苦的呦!
转自:http://vbird.dic.ksu.edu.tw/linux_server/0105beforeserver_2.php
网络服务器成功联机的分析
底下我们就整个服务器的简易架设流程当中来分析一下,以了解为什么了解操作系统的基础对于网站维护是相当重要的呢?首先,到底我们是如何联机到服务器的? 联机到服务器又取得啥咚咚?我们先以底下这张图示来作个简单的说明好了:
tu
先来理解一下,到底我们联机到服务器想要得到什么?举例来说,你联机到 Youtube 想要看影片,所以对方就提供影片串流数据给你; 你连到 Yahoo 想要看新闻,所以对方就提供新闻的文本文件给你;你联机到无名小站想要看美女,对方就传图档给你;你联机 Facebook 想要去种田,对方就参考你之前留下来的记录,从数据库里面将你的记录拿出来传给你。看到没有,你联机到服务器,重点在取得对方的数据, 而一般数据的存在就是使用档案啰!那你有没有权限取得?最终与该文件系统的设定有关啦!
上图显示的是:首先,客户端到服务器的网络要能够通,等到客户端到达服务器后,会先由服务器的防火墙判断该联机能否放行, 等到放行之后才能使用到服务器软件的功能。而该功能又得要通过 SELinux 这个细部权限设定的项目后,才能够读取到文件系统。 但能不能读到文件系统呢?这又跟文件系统的权限 (rwx) 有关啦!上述的每个部分都要能够成功,否则就无法顺利读取数据啰。
所以,根据上面的流程我们大概可以将整个联机分为几个部分,包括:网络、服务器本身、内部防火墙软件设定、各项服务配置文件、细部权限的 SELinux 以及最终最重要的档案权限。底下就分几个细项来谈谈啰。
A 网络:了解网络基础知识与所需服务之通讯协议
既然要架设服务器,首先当然得要了解一下因特网。因为不管是哪种操作系统,若想要与因特网联机,这个网络基础就得了解。 举例来说,『网域』是经常会谈到的概念,当你发现一个设定为 192.168.1.0/255.255.255.0 时,晓得那是什么鬼东西吗? 如果不知道的话,呵呵!绝对无法设定好网站的啦!另外,为何你需要服务器?当然是想要达成某项网络服务。 举例来说,传输档案可以用 FTP,那 WWW 可以传递档案吗?网芳可以传递吗?各有何用处?哪个比较方便? 对于客户或老板来说,我们所设定的服务能否满足他们的需求等等,这都需要了解,否则你将一头雾水啊! 因此这部份你就得要了解:
基本的网络基础知识:包括以太网络硬件与协议、TCP/IP、网络联机所需参数等;
各网络服务所对应的通讯协议原理,以及各通讯协议所需对应的软件。
B 服务器本身:了解架网络服务器之目的以配合主机的安装规划
想要架设服务器吗?那...架什么服务器?这个服务器要不要对 Internet 开放?这个服务要不要针对客户提供相关账号? 要不要针对不同的客户账号进行例如磁盘容量、可活动空间与可用系统资源进行限制?如果要进行各项资源的限制, 那服务器操作系统应该要如何安装与设定?问题很多吧!所以,先了解你要的服务器服务目的之后,后续的规划才能陆续出炉。 不过,如果架站只是为了『练功』而已,呵呵!那就不需要考虑太多了~
C 服务器本身:了解操作系统的基本操作
网络服务软件是需要建置在操作系统上面的,所以基本的操作系统操作就得要了解才行啊!包括软件如何安装与移除? 如何让系统进行例行的工作管理?如何依据服务器服务之目的规划文件系统?如何让文件系统具有未来扩充性 (LVM 之类)? 系统如何管理各项服务之启动?系统的开机流程为何?系统出错时,该如何进行快速复原等等,这都需要了解的呢!
D 内部防火墙设定:管理系统的可分享资源
一部主机可以拥有多种服务器软件的运作,而很多 Linux distributions 出厂的默认值就已经开放很多服务给 Internet 使用了,不过这些服务可能并不是你想要开放的呢。我们在了解网络基础与所需服务的目的之后, 接下来就是透过防火墙来规范可以使用本服务器服务的用户,以让系统在使用上拥有较佳的控管情况。 此外,不管你的防火墙系统设定的再怎么严格,只要是你要开放的服务, 那防火墙对于该服务就没有保护的效果。因此,那个重要的在线更新软件机制就一定要定期进行!否则你的系统将会非常非常的不安全!
E 服务器软件设定:学习设定技巧与开机是否自动执行
刚刚第一点就提到我们得要知道每种服务所能达成的功能,如此一来才能够架设你所需要的服务的网站。 那你所需要的服务是由哪个软件达成的?同一个服务可否有不同的软件?每种软件可以达成的目的是否相同? 依据所需要的功能如何设定你的服务器软件?架设过程中如果出现错误,你该如何观察与除错? 可否定期的分析服务器相关的登录信息,以方便了解该服务器的使用情况与错误发生的原因? 能否通知多个用户进行联机测试,以取得较佳的服务器设定值?所以这里你可能就得要知道:
软件如何安装、如何查询相关配置文件所在位置;
服务器软件如何设定?
服务器软件如何启动?如何设定自动开机启动?如何观察启动的埠口?
服务器软件激活失败如何除错?如何观察登录档?如何透过登录档进行除错?
透过客户端进行联机测试,如果失败该如何处理?联机失败的原因是服务器还是防火墙?
服务器的设定修改是否有建立日志?登录档是否有定期分析?
服务器所提供或分享的数据有无定期备份?如何定期自动备份或异地备份?
F 细部权限设定:包括 SELinux 与档案权限
等到你的服务器全部设定妥当,最后你所提供的档案数据权限却是给了『 000 』的权限分数, 那鸟哥很肯定的说,大家都无法读到你所提供的数据啊...!此外,新的 distributions 都建议你要启动 SELinux ,那是什么咚咚? 如果你的数据放置于非正规的目录,那该如何处理 SELinux 的问题?又如何让档案具有保密性或共享性 (档案权限概念与 ACL 等) 等等,这也都是需要厘清的观念喔!
上述的服务器架设流程中,其实除了第 5 点之外,其他步骤在各服务器设定都需要了解啊!而且都是一样的东西说! 因此,这些基础如果学会了,最终,你只要知道第 5 点里面那个软件的基础设定,你的服务器一下子就可以设定完成啦! 这样说,你是否开始觉得基础学习很重要啊! ^_^
一个常见的服务器设定案例分析
上面讲完后或许你还是不很清楚到底这些技能如何串起来?鸟哥这里提供一个简单的案例来分析一下好了, 这样你应该就比较容易清楚的知道为何需要学习这些咚咚。
A 网络环境:假设你的环境里面 (不管是家里还是宿舍) 共有五部计算机,这五部计算机需要串接在一起,且都可以对外联机;
B 对外网络:你的环境只有一个对外的联机方式,这里假设是台湾较流行的 ADSL 或 10M 的光纤这种透过电话线拨接的类型;
C 额外服务:你想要让这五部计算机都可以上网,而且其中还有一部可以做为网络驱动器机,提供同学或家人作为数据备份与分享之用;
D 服务器管理:由于你可能需要进行远程管理,因此你这部服务器得要开放联机机制,以让远程计算机可以联机到这部主机来进行维护;
E 防火墙管理:因为担心这部做为档案分享服务器的系统被攻击,因此你需要针对 IP 来源进行登入权力的控制;
F 账号管理:另外,由于同学的数据有隐密与共享之分,因此你还得要提供每个同学个别的账号, 且每个账号都有磁盘容量的使用限制;
后端分析:最后,由于担心系统出问题所以你得要让系统自动定期分析磁盘使用量、登录文件参数信息等等。
在上述的环境中,你要考虑的东西有哪些呢?依据本小节一开始谈到的六个步骤来分析的话,你可能需要底下这些咚咚喔!
了解网络基础
硬件规划
我们想要将五部计算机串接在一块,但是却又只有一个可以对外的联机,此时就得要购买集线器 (hub) 或者是交换器 (switch) 来串接所有的计算机了。但是这两者有何不同?为何 switch 比较贵?我们知道网络线被称为 RJ-45 的网络线, 但网络线材竟然有等级之分,这个等级要怎么分辨?不同等级的线材速度有没有差异?等到这些硬件基础了解之后, 你才能够针对你的环境来进行联机的设计。这部份我们等到下一章再来介绍。
联机规划
由于只有一条对外联机而已,因此通常我们就建议你可以用如下的方式来串接你的网络:
TU
透过 IP 分享器,我们的五部计算机就都能够上网了。此时你得要注意,能否上网与 Internet 有关,Internet 就是那有名的 TCP/IP 通讯协议,而想要了解网络就得要知道啥是 OSI 七层协定。我们也知道能连上 Internet 与所谓的 IP 有关,那么我们内部这五部计算机所取得的 IP 能不能拿来架站?也就是说, IP 有没有不同种类? 如果 IP 分享器突然挂了,那你的这五部计算机能不能联机玩魔兽?这就考虑你的网络参数设定问题了!
网络基础
如果你的同学或家人跑来跟你说,网络不通哩!你直觉会是什么?硬件问题?软件问题?还是啥莫名其妙的问题? 如果你不懂网络基础的 IP 相关参数,包括路由设定以及领域名系统 (DNS) 的话,肯定不知道怎么进行联机测试的。 所以啰,此时你就会被骂说:『怎么都不懂还想要管理我们家网络』...那时不是很糗吗?所以要学好一些嘛! 这部份就很复杂了,包括 TCP/IP, Network IP, Netmask IP, Broadcast IP, Gateway, DNS IP 等等,都需要理解喔!
了解了这些原理之后,你才能够进行除错 (debug) 的工作,否则,错误一出,你可能就会被骂的臭头的! 最常见的错误中,举例来说,如果你的主机明明就可以使用 ping 这个指令去接触远方的主机 (ping IP),但是就是无法使用 ping hostname 去接触远方的主机,请问,这个原因是什么呢?了解网络基础的朋友一看就知道几乎是 DNS 出问题了,不晓得的朋友就是想破头也得不到答案。既然知道出问题的地方,就能够针对该问题去处理嘛!
网络基础会影响到你的网络设定是否正确,这真的很重要吶,因为,如果你的网络不通,那么即使服务器架设成功了, 别人可以看的到吗?所以说,要架站,真的得对网络基础的部分下一些功夫才行的。关于网络基础这部份我们在基础篇并没有谈过, 所以我们会在下一章网络基础时再详加说明喔!
服务器本身的安装规划与架站目的的搭配
如同图 1.2-2 所示,Server 端是在那五部计算机之中,而且 Server 必须要提供针对不同账号给予网络驱动器机,我们这边会提供网芳 (SAMBA) 这个服务,因为他可以在 Linux/Windows 之间通用之故。 且由于需要提供账号给使用者,以及想到未来的磁盘扩充情况,因此我们想要将 /home 独立出来,且使用 LVM 这个管理模式, 并搭配 Quota 机制来控制每个账号的磁盘使用量。
所以说,你得知道 Linux 目录下的 FHS (Filesystem Hierarchy Standard) 的规范,否则分割槽给到错误的目录,会造成无法开机!那为什么要将 /home 独立放入一个分割槽? 那是因为 quota 仅支持 filesystem 而不支持单一目录啊!好了,如果给你一部全新的主机,那你该如何安装你的系统呢?
实作题-全新安装:
请到昆山科大 (http://ftp.ksu.edu.tw/FTP/CentOS/), 义守大学 (http://ftp.isu.edu.tw/pub/Linux/CentOS/) 或国家高速网络中心 (http://ftp.twaren.net/Linux/CentOS/ ) 下载最新的 Linux 映像档来刻录 (2011/07 可下载最新版为 CentOS 6.0),并且依据上述的需求安装好你的 Linux 系统 (最重要的其实就是那个分割而已,其他的动作可以在安装完成后再说)。
答:
由于 Linux 的安装我们已经在基础篇内的第四章介绍过了,这里我们不再使用图形接口来说明, 仅使用文字说明来介绍你在每个项目应该处理的动作而已。此外,由读者们的响应发现,学习者经常只有一部主机, 因此,这里我们建议你使用 Virtualbox (http://www.virtualbox.org/) 来仿真出一部实体主机,以安装你的测试环境。并请注意, 这部主机将会使用在本书的各个章节测试中。
Virtualbox 的安装与设定请自行参考其官网上面的 Documentation 介绍,这里不再赘言。只是需要注意的是, 若 (1)需要架设网站来上网,建议网络使用桥接模式 (bridge) ,且网络卡类型使用 Intel 的桌面计算机类型即可。 (2)由于我们未来会教导 NAT 服务器,因此最好有两张网卡,一张使用 bridge 一张使用内网 (intnet) 较佳。 而 (3)磁盘配置建议使用 SATA 类型,且容量请给予 25GB 以上。 (4)内存至少该给予 512MB 以上,最好有 1GB 来测试。 其他的请参考官网文件,或者使用默认配置即可。当然啦,如果你有独立的实体机器来安装,那就更好了! 不需理会这一小段文字的说明喔。
默认配置如下:
分割表请依如下方式进行:
/ : 2GB
/boot: 200MB
/usr : 4GB
/var : 2GB
/tmp : 1GB
swap : 1GB
/home: 5GB,并且使用 LVM 模式建置
其他容量请保留,未来再来进行额外练习!
软件挑选时,请选择『 basic server 』项目即可;
信息安全部分,防火墙选择启动,SELinux 选择强制 (Enforce);
假设 IP 分享器有自动分配 IP 的功能,所以网络参数先选择 DHCP 即可,未来再自己修改。
实际流程大致如下 (鸟哥以 CentOS 6.0 为例说明)
1.由于我们使用光驱开机来安装系统,因此得先进入 BIOS ,选择光驱开机,并且将 CentOS 6.x 的 DVD 放入光驱中;
2.在启动安装的画面中,选择『Install or upgrade an existing system』来安装新系统;
出现『 Disc Found 』字样,此时建议可以选择『 Skip 』即可略过;
3.在欢迎画面以鼠标点选『 Next 』;
4.语系数据可以选择『Chinese(Traditional)(中文(正体))』;
5.键盘格式保留『美式英文』即可;
6.安装包含的装置类型,直接选择默认的『基本储存装置』即可;
7.因为我们是全新的硬盘,因此会出现一个找不到分割表的错误,此时选择『重新初始化』即可;
8.进入网络主机名的设定,先保留『localhost.localdomain』即可。 同画面中还有一个『配置网络』的选项,我们先不要动他!等未来谈到网络设定再来处理即可;
9.进入时区选择,请选择『亚洲/台北』即可;
10.出现 root 密码制作,这里我们先设定为『 centos 』吧! 这个密码太简单,系统会出现警告,你选择『照样使用』即可。你也可以自行设定其他密码;
10.出现哪一类型安装的模式,因为我们有自己的分割考虑,所以,请选择『建立自定义分割格式』来处理喔!
11.在出现分割画面中,先点选『sda』项目,然后点选『建立』的按钮,在出现的窗口中, 再点选『标准分割区』项目,然后点『建立』。 在最后的窗口中填写挂载点、容量等信息后,最终按下『确定』即可。最终画面有点像这样:
TU
依据前面的分割规划,持续进行上述的动作,将所有的分割都处理完毕,除了 /home 之外。
由于 /home 想要使用 LVM 的方式来建立文件系统,因此点选『建立』后,选择『LVM 实体卷册』项目,按下建立,在出现的分割窗口中容量填写 5GB,示意图有点像这样:
TU
接下来回到原本的分割画面后,按下『建立』并选择『LVM 卷册群组』项目, 在出现的窗口中,卷册组名填写『server』,并且在右下方的逻辑卷册部分按下『新增』, 又会额外出现一个窗口,此时就填入 /home 的相关参数啦!注意,逻辑卷册我们这里设定为 myhome 喔! 画面有点像底下这样:
TU
回到原本的分割画面,最终的显示有点像底下这样,然后请按下『下一步』继续。 但由于新建分割需要格式化,所以又会出现一个警告窗口!没问题的,选择『格式化』以及『将变更写至磁盘』吧!
TU
16.出现启动加载程序作业,都使用默认值即可,请按『下一步』;
17.出现安装类型,因为我们主机的角色为服务器,因此选择『Basic Server』项目! 其他项目保留默认,然后按下『下一步』就开始进行安装程序啰!
17.经过一段时间的等待,出现重新启动后,你就重新启动吧!喔!要记得将 DVD 拿出来喔!(怪异的是,鸟哥第一次安装后, 竟然发现电源管理有问题,得在 kernel 处增加 noapic 才能顺利开机呢!)
18.装好并重新启动后,就会进入 runlevel 3 的纯文本界面!因为是服务器嘛!
服务器本身的基本操作系统操作
既然我们这部主机得要提供不同账号来使用他们自己的网络驱动器,因此还需要建立账号啊,使用磁盘配额 (quota) 等等的。 那么你会不会建立账号呢?你会不会建置共享目录呢?你能不能处理每个账号的 Quota 配额呢?如果 /home 的容量不足了, 你会不会放大 /home 的容量呢?有没有办法将系统的磁盘使用情况定期的发送邮件给管理员呢?这些都是基本的维护行为喔! 我们底下就以几个实际例子来练习看看你的基础能力吧!
例题-大量建置账号:
假设我的五个朋友账号分别是 vbirduser{1,2,3,4,5},且这五个朋友未来想要共享一个目录,因此应该要加入同一个群组,假设这个群组为 vbirdgroup,且这五个账号的密码均为 password 。那该如何建置这五个账号?
答:
你可以写一支脚本程序来进行上述的工作喔!
[root@localhost ~]# mkdir bin [root@localhost ~]# cd /root/bin [root@localhost bin]# vim useradd.sh #!/bin/bash groupadd vbirdgroup for username in vbirduser1 vbirduser2 vbirduser3 vbirduser4 vbirduser5 do useradd -G vbirdgroup $username echo "password" | passwd --stdin $username done [root@localhost bin]# sh useradd.sh [root@localhost bin]# id vbirduser1 uid=501(vbirduser1) gid=502(vbirduser1) groups=502(vbirduser1),501(vbirdgroup) context=root:system_r:unconfined_t:SystemLow-SystemHigh
最后利用 id 这个指令来查询看看,是否群组的支持是对的啊!
例题-共享目录的权限:
这五个朋友的共享目录建置于 /home/vbirdgroup 这个目录,这个目录只能给这五个人使用,且每个人均可于该目录内进行任何动作! 若有其他人则无法使用 (没有权限),那该如何建置这个目录的权限呢?
答:
考虑到共享目录,因此目录需要有 SGID 的权限才行!否则个别群组数据会让这五个人彼此间无法修改对方的数据的。因此需要这样做:
[root@localhost ~]# mkdir /home/vbirdgroup [root@localhost ~]# chgrp vbirdgroup /home/vbirdgroup [root@localhost ~]# chmod 2770 /home/vbirdgroup [root@localhost ~]# ll -d /home/vbirdgroup drwxrws---. 2 root vbirdgroup 4096 2011-07-14 14:49 /home/vbirdgroup/ # 上面特殊字体的部分就是你需要注意的部分啰!特别注意那个权限的 s 功能喔!
例题-Quota 实作:
假设这五个用户均需要进行磁盘配额限制,每个用户的配额为 2GB (hard) 以及 1.8GB (soft),该如何处理?
答:
这一题实作比较难,因为必须要包括文件系统的支持、quota 数据文件建置、quota 启动、建立用户 quota 信息等过程。 整个过程在基础篇有讲过了,这里很快速的带领大家进行一次吧!
# 1. 启动 filesystem 的 Quota 支持 [root@localhost ~]# vim /etc/fstab UUID=01acf085-69e5-4474-bbc6-dc366646b5c8 / ext4 defaults 1 1 UUID=eb5986d8-2179-4952-bffd-eba31fb063ed /boot ext4 defaults 1 2 /dev/mapper/server-myhome /home ext4 defaults,usrquota,grpquota 1 2 UUID=605e815f-2740-4c0e-9ad9-14e069417226 /tmp ext4 defaults 1 2 ....(底下省略).... # 因为是要处理用户的磁盘,所以找到的是 /home 这个目录来处理的啊! # 另外,CentOS 6.x 以后,默认使用 UUID 的磁盘代号而非使用文件名。 # 不过,你还是能使用类似 /dev/sda1 之类的档名啦! [root@localhost ~]# umount /home; mount -a [root@localhost ~]# mount | grep home /dev/mapper/server-myhome on /home type ext4 (rw,usrquota,grpquota) # 做完使用 mount 去检查一下 /home 所在的 filesystem 有没有上述的字眼! # 2. 制作 Quota 数据文件,并启动 Quota 支持 [root@localhost ~]# quotacheck -avug quotacheck: Scanning /dev/mapper/server-myhome [/home] done ....(底下省略).... # 会出现一些错误的警告信息,但那是正常的!出现上述的字样就对了! [root@localhost ~]# quotaon -avug /dev/mapper/server-myhome [/home]: group quotas turned on /dev/mapper/server-myhome [/home]: user quotas turned on # 3. 制作 Quota 数据给用户 [root@localhost ~]# edquota -u vbirduser1 Disk quotas for user vbirduser1 (uid 500): Filesystem blocks soft hard inodes soft hard /dev/mapper/server-myhome 20 1800000 2000000 5 0 0 # 因为 Quota 的单位是 KB ,所以这里要补上好多 0 啊!看的眼睛都花了! [root@localhost ~]# edquota -p vbirduser1 vbirduser2 # 持续作几次,将 vbirduser{3,4,5} 通通补上去! [root@localhost ~]# repquota -au *** Report for user quotas on device /dev/mapper/server-myhome Block grace time: 7days; Inode grace time: 7days Block limits File limits User used soft hard grace used soft hard grace ---------------------------------------------------------------------- root -- 24 0 0 3 0 0 vbirduser1 -- 20 1800000 2000000 5 0 0 vbirduser2 -- 20 1800000 2000000 5 0 0 vbirduser3 -- 20 1800000 2000000 5 0 0 vbirduser4 -- 20 1800000 2000000 5 0 0 vbirduser5 -- 20 1800000 2000000 5 0 0 # 看到没?上述的结果就是有发现到设定的 Quota 值啰!整个流程就是这样!
例题-文件系统的放大 (LVM):
纯粹假设的,我们的 /home 不够用了,你想要将 /home 放大到 7GB 可不可行啊?
答:
因为当初就担心这个问题,所以 /home 已经是 LVM 的方式来管理了。此时我们要来瞧瞧 VG 够不够用,如果够用的话, 那就可以继续进行。如果不够用呢?我们就得要从 PV 着手啰!整个流程可以是这样来观察的。
# 1. 先看看 VG 的量够不够用: [root@localhost ~]# vgdisplay --- Volume group --- VG Name server System ID Format lvm2 ....(中间省略).... VG Size 4.88 GiB <==只有区区 5G左右 PE Size 4.00 MiB Total PE 1249 Alloc PE / Size 1249 / 4.88 GiB Free PE / Size 0 / 0 <==完全没有剩余的容量了! VG UUID SvAEou-2quf-Z1Tr-Wsdz-2UY8-Cmfm-Ni0Oaf # 真惨!已经没有多余的 VG 容量可以使用了!因此,我们得要增加 PV 才行。 # 2. 开始制作出所需要的 partition 吧!作为 PV 用的! [root@localhost ~]# fdisk /dev/sda <==详细流程我不写了!自己瞧 Command (m for help): p Device Boot Start End Blocks Id System ....(中间省略).... /dev/sda8 1812 1939 1024000 83 Linux <==最后一个磁柱 Command (m for help): n First cylinder (1173-3264, default 1173): 1940 <==上面查到的号码加 1 Last cylinder, +cylinders or +size{K,M,G} (1940-3264, default 3264): +2G Command (m for help): t Partition number (1-9): 9 Hex code (type L to list codes): 8e Command (m for help): p Device Boot Start End Blocks Id System /dev/sda9 1940 2201 2104515 8e Linux LVM <==得到 /dev/sda9 Command (m for help): w [root@localhost ~]# partprobe <==在虚拟机上面得要 reboot 才行! # 3. 将 /dev/sda9 加入 PV,并将该 PV 加入 server 这个 VG 吧 [root@localhost ~]# pvcreate /dev/sda9 [root@localhost ~]# vgextend server /dev/sda9 [root@localhost ~]# vgdisplay ....(前面省略).... VG Size 6.88 GiB <==这个 VG 最大就是 6.88G 啦 ....(中间省略).... Free PE / Size 513 / 2.00 GiB <==有多出 2GB 的容量可用了! # 4. 准备加大 /home,开始前,还是先观察一下才增加 LV 容量较好! [root@localhost ~]# lvdisplay --- Logical volume --- LV Name /dev/server/myhome <==这是 LV 的名字! VG Name server ....(中间省略).... LV Size 4.88 GiB <==只有 5GB 左右,需要增加 2GB 啰 ....(底下省略).... # 看起来,是需要增加容量啰!我们使用 lvresize 来扩大容量吧! [root@localhost ~]# lvresize -L 6.88G /dev/server/myhome Rounding up size to full physical extent 6.88 GiB Extending logical volume myhome to 6.88 GiB <==处理完毕啰! Logical volume myhome successfully resized # 看来确实是扩大到 6.88GB 啰!开始处理文件系统吧! # 5. 扩大文件系统 [root@localhost ~]# resize2fs /dev/server/myhome resize2fs 1.41.12 (17-May-2010) Filesystem at /dev/server/myhome is mounted on /home; on-line resizing required old desc_blocks = 1, new_desc_blocks = 1 Performing an on-line resize of /dev/server/myhome to 1804288 (4k) blocks. The filesystem on /dev/server/myhome is now 1804288 blocks long. [root@localhost ~]# df -h 文件系统 Size Used Avail Use% 挂载点 /dev/mapper/server-myhome 6.8G 140M 6.4G 3% /home ....(其他省略).... # 可以看到文件系统确实有放大到 6.8G 喔!这样了解了吗?
做完上面的实作之后,现在你晓得为什么在基础篇的时候,我们一直强调一些有的没有的了吧?因为那些东西在这里都用的上! 如果本章这些题目你都不会,甚至连为什么要作这些东西都不懂的话,那得赶紧回去阅读基础篇,不要再念下去了! 会非常非常辛苦的呦!
转自:http://vbird.dic.ksu.edu.tw/linux_server/0105beforeserver_2.php
发表评论
文章已被作者锁定,不允许评论。
相关推荐
总结来说,"使用SSM框架开发企业级应用第一章"涵盖了Spring、SpringMVC和MyBatis的基础知识,包括框架的配置、数据库操作、业务逻辑处理、视图渲染和事务管理等内容。学习并掌握这些技能,对于成为一名合格的后端...
"s2JavaScript第一章课后和理论课作业"表明这是一个关于学习JavaScript基础知识的课程单元,可能涵盖了变量、数据类型、控制结构、函数等核心概念。在这个作业中,学生可能需要通过实践来深化对这些概念的理解。 在...
在"ASP.NET技术开发网上书店 第一章上机作业"中,我们可以推测这是一份教学材料或课程实践,旨在帮助学习者掌握ASP.NET的基础知识,并应用到实际的网上书店项目中。 第一章通常会介绍基础概念和环境搭建,让我们...
总之,ASP.NET课本第一章是初学者探索Web开发领域的理想起点,它将引导你进入ASP.NET的世界,帮助你理解Web Forms的开发流程,以及如何使用ASP.NET创建动态的Web应用程序。通过实践课本中的示例,你将能够快速上手并...
比如,`<asp:Button>`、`<asp:Label>`、`<asp:GridView>`等,它们不仅可以处理服务器端事件,还支持数据绑定、模板、验证等特性,极大地简化了开发流程。 **自定义控件**则是为了满足特定需求而创建的,开发者可以...
在本资源中,我们关注的是"轻量级Java EE企业应用实战第三版第一章源码"。这通常是指一本关于使用轻量级Java EE框架构建企业级应用的书籍的配套代码,第一章的源码部分。轻量级Java EE指的是不依赖大型、重型容器如...
总的来说,ASP.NET PPT的第一章主要介绍了网络程序设计的基础,特别是动态网页的概念和工作原理,以及ASP.NET作为开发工具的特性。通过这一章的学习,初学者将对ASP.NET有一个初步的认识,并具备开始动手实践的基础...
在本资源"y2北大青鸟第七章Ajax框架"中,全面且详细地介绍了Ajax的核心概念、工作原理以及如何在实际项目中应用。 Ajax(Asynchronous JavaScript and XML)虽然名字中有XML,但现在已经不仅限于使用XML,而是广泛...
标题“Flex学习第一章”指的是对Adobe Flex开发框架的初步学习。Flex是一种用于构建富互联网应用程序(RIA)的开源框架,它基于ActionScript编程语言和MXML标记语言,主要用于创建交互式、高性能的用户界面。在本...
第一章:Qt入门 在这一章中,读者将了解Qt的基本概念,包括Qt的历史、特点和适用范围。学习安装Qt开发环境,如Qt Creator,并创建第一个"Hello, World!"程序,理解Qt项目文件(.pro)的结构和作用。 第二章:Qt对象...
在Java EE的第一章,通常会介绍基础概念和技术架构,为后续章节的学习打下坚实的基础。这可能包括以下几个主要知识点: 1. **Java EE概述**:讲解Java EE的发展历程、目标以及它在企业级应用中的重要地位。强调其与...
在“精通PHP应用开发第一章代码”这个资源中,我们聚焦于PHP这门强大的服务器端脚本语言,用于构建动态网站和应用程序。PHP(Hypertext Preprocessor)是一种广泛使用的开源编程语言,尤其在Web开发领域占据重要地位...
在"北大青鸟ACCP5.0 ASP.NET第一章课件"中,我们主要探讨了以下几个知识点: 1. **B/S架构与C/S架构的比较**: B/S(Browser/Server,浏览器/服务器)架构的优势在于它降低了客户端的要求,只需要一个标准的浏览器...
- 第一个 Qt 程序:Hello Qt 3. **第 3 章:信号与槽机制** - 信号与槽机制的概念 - 连接信号与槽的方法 - 信号与槽的实际应用示例 4. **第 4 章:窗口与控件** - 常用窗口部件的介绍 - 控件的布局管理 - ...
**第一章 绪论**: - 项目名称和单位:明确了项目的具体名称和负责单位,即xx投资管理公司。 - 项目地点:指出了项目将在何处建设。 - 可行性研究范围:定义了项目的研究边界和评估内容。 - 编制依据和技术原则:列...
Java Web开发是一个涵盖广泛的主题,包括前端交互、服务器端处理、数据传输以及框架的应用等多个方面。在本套Java Web开发教程中,我们将深入探讨多个关键知识点,帮助开发者从基础到进阶逐步掌握这一技术。 首先,...
3. **Web应用程序开发流程**:在B/S架构下,开发流程简化为服务器端代码开发和部署,用户通过浏览器直接访问,降低了客户端的部署成本。 【Ajax背景知识简介】 Ajax(Asynchronous JavaScript and XML)是一种创建...
《计算概论(清华大学版)》第一章主要涵盖了计算机科学的基础理论和C语言的入门知识,旨在为初学者提供一个全面的计算机技术理解框架。以下是各讲的主要知识点: 1. **第1讲 概述:认识计算机** - 计算机的定义与...
- **公司简介**:本书第一章首先介绍了“×××信息科技有限公司”,这是一家以整合渠道资源为主的高科技公司,为了扩大规模和增强竞争力,决定向多元化方向发展,并借助互联网在国内的快速发展来建设一个综合信息...