SQL Server数据库管理员(DBA)的工作内容
在Microsoft SQL Server 系统中 数据库管理员(Database Administration 简称为DBA)是最重要的角色 DBA的工作目标就是确保Microsoft SQL Server 系统正常高效地运行 DBA的工作也是最繁忙的工作 无论是性能调整 还是灾难恢复 都离不开DBA的支持
一般地 作为一个DBA 至少应该做好以下 项任务
&# ;任务一 安装和配置;&# ;任务二 容量规划;&# ;任务三 应用架构设计;&# ;任务四 管理数据库对象;&# ;任务五 存储空间管理;&# ;任务六 安全管理;&# ;任务七 备份和恢复;&# ;任务八 性能监视和调优;&# ;任务九 调度作业;&# ;任务十 网络管理;&# ;任务十一 高可用性和高可伸缩性管理;&# ;任务十二 故障解决;
下面简单描述这些DBA的任务
任务一 安装和配置
DBA的第一项任务是安装和配置Microsoft SQL Server 软件系统 为顺利使用Microsoft SQL Server 软件创建良好的环境 无论是安装还是配置 都应该根据实际需要来进行 使得系统满足用户的实际需求 需要注意的是 系统配置不是一劳永逸的 应该随时根据需求的变化和环境的需要 进行监视和适当地调整
任务二 容量规划
容量规划是对整个Microsoft SQL Server 系统进行一个总体的规划 规划的重点应该放在解决瓶颈问题上 可以从内容和期限两个方面考虑系统的容量规划
从内容上来看 应该考虑的主要内容包括 硬件容量规划 软件规划 网络规划 硬件容量规划包括磁盘空间 CPU I/O等规划 软件规划包括操作系统的安装和配置规划 数据库规划 数据库对象内容和数量规划等 网络规划包括网络硬件 网络软件和协议 网络客户数量流量和分布 网络拓扑结构等规划
从期限上来看 应该考虑短期 中期和长期规划 短期规划的目的是满足当前日常业务的需要 中期规划主要是满足业务发展和扩大的需要 长期规划主要是满足业务极限需要等 例如 如果预测某个系统的当前并发用户数量是 年后的用户可能达到 万 那么这时既不能按照 用户的需求来设计 也不能一下子按照 万用户的需求来设计 一定要采取一个折中的形式
任务三 应用架构设计
应用架构设计包括数据库设计 应用程序设计和相应的技术架构设计
数据库设计应该考虑数据库的逻辑需求 数据库的创建方式和数量 数据库数据文件和日志文件的物理位置等 一般情况下 可以在Microsoft SQL Server 系统成功安装之后 根据规划的目标 手工创建数据库
应用设计应该考虑开发工具的选择 API技术 内部资源和外部资源的结合 应用架构的分布等 需要强调是在应用设计时 DBA应该与开发人员共同工作 确保他们编写出优化的代码 尽可能地使用服务器的资源
技术架构设计主要包括表示层 逻辑层和数据层的分布 这些分布不应该考虑到硬件资源和用户需求 既不能片面地追求过高的硬件资源 也不能仅仅局限于当前的环境 一定要按照可扩展的观点来综合考虑
任务四 管理数据库对象
管理数据库对象是使用数据库的最基本 最重要的工作 这些对象包括表 索引 视图 存储过程 函数 触发器 同义词等 为了完成管理数据库对象的工作 DBA应该能够很好地回答诸如下面的这些问题
&# ;系统应该包括哪些数据&# ;应该怎样存储这些数据&# ;应该在系统中创建哪些表&# ;应该在这些表中创建哪些索引 以便加速检索&# ;是否应该创建视图为什么要创建这些视图&# ;应该创建哪些存储过程 函数 CLR对象&# ;应该在哪些表上创建触发器应该针对哪些操作创建触发器&# ;是否应该创建同义词
任务五 存储空间管理
存储空间管理任务就是怎样为数据分配空间 怎样保持空间可以满足数据的不断增长 随着业务量的继续和扩大 数据库中的数据也会逐渐地增加 事务日志也不断地增加 存储空间管理任务主要围绕下面几个问题
&# ;当前的数据库由那些数据文件组成&# ;事务日志的大小应该如何设置&# ;数据的增长速度是多大&# ;如何配置数据文件和日志文件的增长方式&# ;数据库中的数据何时可以清除或转移到其他地方
任务六 安全管理
安全性是DBA重要的日常工作之一 安全管理的主要内容包括账户管理和权限管理 账户管理就是在数据库中应该增加哪些账户 这些账户应该组合成哪些角色等等 权限管理是对象权限和语句权限的管理 应该回答下面这些问题
&# ;这些账户或角色应该使用哪些对象&# ;这些账户或角色应该对这些对象执行哪些操作&# ;这些账户或角色应该在数据库中执行哪些操作&# ;如何设置架构如何建立架构和对象 架构和用户的关系
任务七 备份和恢复
无论系统运行如何 系统的灾难性管理是不可缺少的 天灾 人祸 系统缺陷都有可能造成系统的瘫痪 失败 怎样解决这些灾难性问题呢办法就是制订和实行备份和恢复策略 备份就是制作数据的副本 恢复就是将数据的副本复原到系统中 备份和恢复工作是DBA的一项持续性的重要工作 其执行频率根据数据的重要程度和系统的稳定程度来确定
任务八 性能监视和调优
根据企业的经营效益评价企业的管理水平 根据学生的考试成绩评价学生的学习好坏 作为一个大型软件系统 Microsoft SQL Server 系统的运行好坏必须得到正确地监视 评价和相应的调整 这是DBA的一项高级工作 借助一些工具和运行性能指标 DBA应该能够监视系统的运行 如果某些运行指标出现了问题 DBA应该及时地采取补救措施 使得系统始终保持高效运行状态
任务九 调度作业
DBA不可能一天 小时不停地盯住系统的运行 及时地执行某些指定的操作 Microsoft SQL Server 系统提供了许多工具 DBA应该充分利用这些工具和机制 解决下面一些问题
&# ;调度哪些作业应该由系统执行&# ;这些作业应该在何时执行&# ;如何确保这些作业可以正确地执行&# ;如果自动执行的作业执行失败时 应该如何处理&# ;如何使得系统可以均衡地执行相应的操作
任务十 网络管理
作为一种分布式的网络数据库 网络管理的任务更加的重要 Microsoft SQL Server 系统提供了网络管理工具和服务 DBA应该借助这些工具进行服务规划和管理网络操作
任务十一 高可用性和高可伸缩性管理
作为一个DBA 必须保持系统具有高可用性和高可伸缩性 可用性是一项度量计算机系统正常运行时间的指标 可伸缩性描述应用程序可以接受的并发用户访问的数量问题 影响系统可用性的主要因素包括 网络可靠性 硬件故障 应用程序失败 操作系统崩溃 自然灾害等 无论是数据库系统管理员 还是应用程序设计人员 都应该最小化系统破坏的几率 最大化系统的可用性 在设计系统的可用性时 应该确定采取什么样的可用性策略来满足可用性的需求
可用性的需求可以通过 个方面描述 即运行的时间 连接性需求和数据的紧密和松散要求 在确定可用性的需求时 首先考虑系统的运行时间 一般地 数据库应用程序有两种运行时间 即在工作时间是可用的和在任何时间都是可用的 如果只是要求在工作时间是可用的 那么可以把系统的维护等工作安排在周末进行 但是 有许多应用程序要求每天运行 小时 每周运行 天 例如 在线超市等 这时必须采取措施保证系统总是运行的 不同的应用程序有不同的连接性要求 大多数的应用程序和电子商务解决方案要求采用可靠的网络连接 这时 要求永久性的在线连接 必须最小化各种异常现象的发生 有些应用程序允许用户离线使用 这时 系统的可用性要求降低了 大多数应用程序要求数据是同步使用的 用户对数据的请求 系统必须立即做出回应 这是紧密型的数据要求 这种情况必须保证系统的高可用性 有些应用程序不需要数据是同步的 对用户的请求可以延迟回应 这种要求是数据松散型的要求 这时系统的可用性需求比较低
任务十二 故障解决
lishixinzhi/Article/program/SQLServer/201405/30725
公司网站如何制作?
公司网站,以用凡科建站为例,具体步骤是:
1、首先注册凡科建站账户,并开始选择网站模板。
模板类型参照个人喜好或者公司需求,选定模板后点击快速建站,进入网站编辑界面,开始网站编辑。
模板操作类似于PPT更换,注意更换需保持像素大小与原图一致,否则调整大小会让小白麻爪的。
2、购买空间。
网站排版完成后,如果觉得满意,就可以开始下一步操作,打开网站功能升级界面,选择购买网站会员,个人觉得对于满足基本需求来说,网站入门版基本够用了,网站服务包含空间和服务器,不需要再额外购买。
3、购买网站域名。
点击企业中心-域名管理,进入域名购买界面,输入你想要的域名,系统会自动检测是否能够注册,逐步尝试,选定满意的域名后点击购买,费用大约在每年80-120元左右。
4、实名认证。
点击域名管理-实名认证,按照提示填写认证信息,一般三个工作日会通过认证,注意信息填写准确,只有三次免费修改机会。
5、工信部备案。
点击域名管理-工信部备案开始进行信息备案
如实填写个人和企业信息,注意仔细阅读提示信息,严格按照提示信息去做
是否需要前置审批选否,这一点尤其重要,前置审批手续需要专业人士去做,普通建站也涉及不到这些。
工信部备案信息比较繁琐,一步一步填写,提交认证需要30个工作日,如果被打回了就需要再等30个工作日,我是45天左右完成的认证。
通过后点击解析域名即可开始使用。
6、公安部备案。
这一项备案对于绝大多数网站来说是不需要做的,完成工信部备案之后域名就已经可以使用了,部分地区要求必须进行公安部备案,那就按照程序去走
线上提交备案申请,填写备案信息,由当地公司部门安排面访,合适无误后完成公安部备案。
7、网站日常管理。
点击网站管理-电脑版/手机版就可以进入网站内容排版界面,点击网站管理功能还能够对站点访问量进行分析。
0代码轻松建站!点击这里获取精美网站模板:
凡科建站
企业展示型网站设计怎么做?网站的几个基本组成元素:域名+空间+程序+模板+维护经验+日常管理网站建设是一个综合性的技巧,小说网站也不例外,这个就像种菜,并不是说看个操作流程就一定会种菜,还要土壤,水肥,气候,直接间接的相关知识都做足够的了解,才能真正去操作,最终还要一个好的服务商。
以十几年的企业网建运维网商系统经验,网站=域名+服务器空间+网站程序+售后服务,网站就像一个家:
域名:网址就相当于家的住址。记住和找到家所在的位置。
空间:就是盖房子的基础土地环境等。
程序:就是家的主体框架,是整个家的运转中心。
模板:网站的美化就是家的装修,当然因人而异有人不装修原汁原味也可以。
维护:技术性维护就像安居乐业的保安和坚实后盾。
勤劳:是整个家可以稳定持续运转极其重要的部分,家里所有的东西都要靠勤奋去填充,增加新鲜,让大家觉着你家很好很充实。
这是一个完美网站的所有,有能力和经验的可以全部自己做好,没有相关经验的部分可以找专业的技术团队协助。有一个非常直接的真理:用合适的成本,找合适的人,去做合适的事这是大自然发展的规律。
域名,由域名中心统一管理,诸多代理商销售推广,可以联系任何一家代理商在线付款注册。空间,服务器,寻找有资质的服务商选购和自己网站规划搭配的配置,切记,够用即可,现在的服务器大多可以无缝升级,没有必要为未来的想法预消费,需要的时候再升级即可。关键是商家的信誉,资历,多年经验的优先考虑。
模板程序维护等,技术方面,最好找专业技术团队协助运作,避免出现问题网站故障临时找人抱佛脚。影响就大了。
具体可以联系我们综合分析你的需求,给你提供方案和细节参考。
公司网站如何制作?一、域名:
啥是域名,域名就是我们经常看到的网址。这种,这个网址是需要注册的,也是按年注册的,当然除了com,还有cn、cc、top、net等为后缀的域名。区别也不大,但常用的还是com为后缀的比较多。
费用呢域名注册商收取的费用都不一样。目前来说一般都在55-130元不等。这个是域名成本。任何网站都需要用网址,所以必须要花这个钱的。
二、服务器
服务器和U盘的作用差不多。都是用来存储文件的。只是服务器存储的是你做好的网站文件,包括,文字,视频,数据库,网站程序等等。
服务器也是按年收费的,并且任何网站都需要用到服务器,这个费用是没办法省掉的。
多少钱呢每个服务器商的收费都不一样,这个根据服务器的配置(类似你电脑的配置,CPU,内存,主板啥的),服务器的带宽(类似你家里上网的10M,100M这些),服务器的容量(类似你U盘的1G,2G)等等不同,收费在100-几万都不等。当然几万的一般都是大网站,小型网站要不了多少钱。100多-500元左右应该够了。
经常有很多用户问,网站的价格是永久的吗或者是一次性的吗其实任何网站都必须要以上两个部分,所以就没有永久一说,如果您的网站要长期使用,那么以上两个部分,您是需要每年都要缴纳费用的。
三、网站设计制作
什么是网站设计:就是你网站打开以后的界面,这个需要设计师美工去设计;
什么是程序开发:就是你网站做好了,你要上传到你的网站上,肯定需要程序员帮你做程序和数据库,要不然单纯的网页,你是没办法去管理你的网站的,也无法更新你的网站,修改文字;
其实任何网站价格的差异,最重要的也就是网站设计制作。这个也是所有网站价格不同最重要的一个步骤。
1>网站设计师程序员的工资。一般来说,有经验的设计师和程序员,工资不会低,那么制作网站的费用肯定不是最便宜的;
2>地区物价水平。每个城市的物价不同,办公成本也不同,所以价格肯定也会有差异;
3>本身的设计要求或者网站功能要求。一般版面设计要求高或者功能复杂的网站肯定要比普通展示型网站的价格要高。这个本身的工作量就决定了。
以上基本上就是网站所包括的所有内容,下面在介绍一些大家容易忽视的吧。
一、网站内容完善
这个相对来说,会比较容易出现歧义。因为这个工作会引起分歧。为什么这么说呢大多数用户认为,做网站了,做好以后应该是把网站里面的内容做好才能算是一个网站。但对于建站公司来说,他们会认为这是用户需要自己去添加完善的,建站公司只负责网站设计以及程序开发。所以大多时候会产生矛盾。
当然,如果是普通类的企业网站,内容也不复杂,可以在咨询建站公司时,就可以问问清楚是否帮助添加相关内容。当然内容的本身肯定需要提供给建站公司。
二、网站售后。
售后服务在整个网站制作过程中其实体现不到,但在你网站真正运营过程中,就会起到至关重要的左右。因为网站一旦运营,就会有可能出现各种各样的问题。
1>网站系统的升级,特别是随着浏览器本身升级,你的系统不升级可能会出现不兼容;
2>被人攻击了,怎么办网站是否有定期备份,基本攻击了也能恢复;
3>网站一些常见的修改和调整,例如电话号码修改、LOGO调整、宣传的文字替换等等;
4>网站有一些新的产品或者新的内容添加,自己不懂得操作后台,怎么办(如果是经常更新或者电商类网站除外,肯定要招个小编的)。
5>网站提交百度、360、搜狗的收录,以及关键词的相关设置,自己不会怎么办
6>网站备案、网站功能升级、添加在线客服、添加流量统计、网站域名服务器到期提醒、网站若需要公安部备案怎么操作、网站后台培训、网站后台密码忘记了怎么办若有邮箱,怎么设置若有公众号,怎么使用怎么申请以及网站源代码是否提供。。。。
等等都是售后的相关问题
Apache是一个历史悠久并且功能十分强大的WEB服务器,但其丰富的功能对于一个新手来说往往不知道从何下手。我个人感觉Apache的设计充分体现了模块化设计的优势,通过在动态模块加载(DSO)模式下的安装,任何子应用模块都可以通过配置文件的简单修改进行积木式的灵活配置。安装的过程可以从简单的静态html服务开始,一个模块一个模块的学习使用。从单纯的HTML静态服务(core),到复杂的动态页面服务(core + php, core + resin, core + php + mod_gzip, core + resin + mod_expire)。
本文主要从简化安装==>性能调优==>维护方便的角度,介绍了WEB服务的规划、HTTPD安装/应用模块配置、升级/维护等过程。让Apache和PHP,Resin等应用模块的独立升级,完全互不影响。
WEB应用容量规划:根据硬件配置和WEB应用的特点进行WEB服务的规划及一些简单的估算公式;
Apache安装过程:apache的通用的简化安装选项,方便以后的应用的模块化配置;
修改 HARD_SERVER_LIMIT:
vi /path/to/apache_src/src/include/httpdh
#define HARD_SERVER_LIMIT 2560 <===将原来的 HARD_SERVER_LIMIT 256 后面加个“0”
apache编译:
/configure --prefix=/home/apache --enable-shared=max --enable-module=most
可选应用模块/工具的安装:php resin mod_gzip mod_expire及各个模块之间的配合;
mod_php安装:/configure --with-apxs=/home/apache/bin/apxs --enable-track-vars --with-mysql
mod_resin安装:/configure --with-apxs=/home/apache/bin/apxs
mod_gzip安装:修改Makefile中的 apxs路径:然后make make install
工具:日志轮循工具cronolog安装:http://wwwcronologorg
升级/维护:看看通用和模块化的安装过程如何简化了日常的升级/维护工作;
按照以上的方法:系统管理员和应用管理员的职责可以清楚的分开,互相独立。
系统安装:系统管理员的职责就是安装好一台DSO模式的Apache,然后COLON即可,
应用安装:由应用管理员负责具体应用所需要的模块,比如PHP Resin等,并设置httpdconf中相关的配置。
系统升级:系统管理员:升级操作系统/升级Apache
应用升级:应用管理员:升级应用模块,PHP Resin等。
WEB应用的容量规划
Apache主要是一个内存消耗型的服务应用,我个人总结的经验公式:
apache_max_process_with_good_perfermance < (total_hardware_memory / apache_memory_per_process ) 2
apache_max_process = apache_max_process_with_good_perfermance 15
为什么会有一个apache_max_process_with_good_perfermance和apache_max_process呢?原因是在低负载下系统可以使用更多的内存用于文件系统的缓存,从而进一步提高单个请求的响应速度。在高负载下,系统的单个请求响应速度会慢不少,而超过 apache_max_process,系统会因为开始使用硬盘做虚拟内存交换空间而导致系统效率急剧下降。此外,同样的服务:2G内存的机器的 apache_max_process一般只设置到1G内存的17倍,因为Apache本身会因为进程过多导致性能下降。
例子1:
一个apache + mod_php的服务器:一个apache进程一般需要4M内存
因此在一个1G内存的机器上:apache_max_process_with_good_perfermance < (1g / 4m) 2 = 500
apache_max_process = 500 15 = 750
所以规划你的应用让服务尽量跑在500个进程以下以保持比较高的效率,并设置Apache的软上限在800个。
例子2:
一个apache + mod_resin的服务器: 一个apache进程一般需要2M内存
在一个2G内存的机器上:
apache_max_process_with_good_perfermance < (2g / 2m ) 2 = 2000
apache_max_process = 2000 15 = 3000
以上估算都是按小文件服务估算的(一个请求一般大小在20k以下)。对于文件下载类型站点,可能还会受其他因素:比如带宽等的影响。
Apache安装过程
服务器个数的硬上限HARD_SERVER_LIMIT的修改:
在Apache的源代码中缺省的最大进程数是256个,需要修改apache_13xx/src/include/httpdh
#ifndef HARD_SERVER_LIMIT
#ifdef WIN32
#define HARD_SERVER_LIMIT 1024
#elif defined(NETWARE)
#define HARD_SERVER_LIMIT 2048
#else
#define HARD_SERVER_LIMIT 2560 <===将原来的HARD_SERVER_LIMIT 256 后面加个“0”
#endif
#endif
解释:
Apache缺省的最大用户数是256个:这个配置对于服务器内存还是256M左右的时代是一个非常好的缺省设置,但随着内存成本的急剧下降,现在大型站点的服务器内存配置一般比当时要高一个数量级不止。所以256个进程的硬限制对于一台1G内存的机器来说是太浪费了,而且Apache的软上限 max_client是受限于HARD_SERVER_LIMIT的,因此如果WEB服务器内存大于256M,都应该调高Apache的 HARD_SERVER_LIMIT。根据个人的经验:2560已经可以满足大部分小于2G内存的服务器的容量规划了(Apache的软上限的规划请看后面)。
Apache的编译:以下通用的编译选项能满足以后任意模块的安装
/configure --prefix=/another_driver/apache/ --enable-shared=max --enable-module=most
比如:
/configure --prefix=/home/apache/ --enable-shared=max --enable-module=most
解释:
--prefix=/another_driver/apache/:建议将apache服务安装在另外一个驱动设备上的目的在于硬盘往往是一个系统使用寿命最低的设备,因此:将服务数据和系统完全分开,不仅能提高了数据的访问速度,更重要的,大大方便系统升级,应用备份和恢复过程。
--shared-module=max:使用动态加载方式载入子模块会带来5%的性能下降,但和带来的配置方便相比更本不算什么:比如模块升级方便,系统升级风险降低,安装过程标准化等
--enable-module=most:用most可以将一些不常用的module编译进来,比如后面讲到的mod_expire是就不在 apache的缺省常用模块中
如果不想build so, 也可以这样:
/configure \
"--with-layout=Apache" \
"--prefix=/path/to/apache" \
"--disable-module=access" \
"--disable-module=actions" \
"--disable-module=autoindex" \
"--disable-module=env" \
"--disable-module=imap" \
"--disable-module=negotiation" \
"--disable-module=setenvif" \
"--disable-module=status" \
"--disable-module=userdir" \
"--disable-module=cgi" \
"--disable-module=include" \
"--disable-module=auth" \
"--disable-module=asis"
但结果会发现,这样编译对服务性能只能有微小的提高(5%左右),但却失去了以后系统升级和模块升级的灵活性,无论是模块还是Apache本身升级都必须把Apache和PHP的SOURCE加在一起重新编译。
apache的缺省配置文件一般比较大:可以使用去掉注释的方法精简一下:然后再进入具体的培植过程能让你更快的定制出你所需要的。
grep -v "#" httpdconfdefault >httpdconf
需要修改的通用项目有以下几个:
#服务端口,缺省是8080,建议将整个Apache配置调整好后再将服务端口改到正式服务的端口
Port 8080 => 80
#服务器名:缺省没有
ServerName nameexamplecom
#最大服务进程数:根据服务容量预测设置
MaxClients 256 => 800
#缺省启动服务后的服务进程数:等服务比较平稳后,按平均负载下的httpd个数设置就可以
StartServers 5 => 200
不要修改:
以前有建议说修改:
MinSpareServers 5 => 100
MaxSpareServers 10 => 200
但从我的经验看来:缺省值已经是非常优化的了,而且让Apache自己调整子共享进程个数还是比较好的。
特别修改:
在solaris或一些比较容易出现内存泄露的应用上:
MaxRequestsPerChild 0 =>3000
应用模块和工具的安装配置:
由于使用模块动态加载的模式,所以可以方便的通过简单的配置调整来把Apache定制成你需要的:最好把不常用模块全部清除(无论处于安全还是效率)。
比如:对于静态页面服务器:就什么其他子模块都不加载,对于PHP应用就加上PHP模块,对于JAVA应用就把Resin模块加载上。而且各种模块的插拔非常简单,这样调试过程中就可以简单的通过注释掉不需要的模块,而不用重新编译。
一般说来,可以不需要的模块包括:
#LoadModule env_module libexec/mod_envso
#LoadModule negotiation_module libexec/mod_negotiationso
#LoadModule status_module libexec/mod_statusso
#server side include已经过时了
#LoadModule includes_module libexec/mod_includeso
#不需要将没有缺省index文件的目录下所有文件列出
#LoadModule autoindex_module libexec/mod_autoindexso
#尽量不使用CGI:一直是Apache安全问题最多的地方
#LoadModule cgi_module libexec/mod_cgiso
#LoadModule asis_module libexec/mod_asisso
#LoadModule imap_module libexec/mod_imapso
#LoadModule action_module libexec/mod_actionsso
#不使用安全认证可以大大提高访问速度
#LoadModule access_module libexec/mod_accessso
#LoadModule auth_module libexec/mod_authso
#LoadModule setenvif_module libexec/mod_setenvifso
最好保留的有:
#用于定制log格式
LoadModule config_log_module libexec/mod_log_configso
#用于增加文件应用的关联
LoadModule mime_module libexec/mod_mimeso
#用于缺省index文件:indexphp等
LoadModule dir_module libexec/mod_dirso
可用可不用的有:
#比如:需要在~/username/下调试php可以将
LoadModule userdir_module libexec/mod_userdirso
#比如:需要将以前的URL进行转向或者需要使用CGI script-alias
LoadModule alias_module libexec/mod_aliasso
常用的模块:
最常用的可能就是php和JAVA应用服务器的前端,此外,从性能上讲利用mod_gzip可以减少40%左右的流量,减少机器用于传输的负载,而 mod_expires可以减少10%左右的重复请求,让重复的用户对指定的页面请求结果都CACHE在本地,根本不向服务器发出请求。
建议将所有MODULE的配置都放到相应模块的配置内部:<IfModule some_modulec>some_module config </IfModule>
PHP的安装:
/path/to/php_src/configure --with-apxs=/path/to/apache/bin/apxs --with-other-modules-you-need
需要修改的配置:
AddType application/x-httpd-php php php3 any_file_in_php
resin的安装设置:
/path/to/resin/src/configure --with-apxs=/path/to/apache/bin/apxs
具体的resin设置放在另外一个文件中:比如/home/resin/conf/resinconf
<IfModule mod_cauchoc>
CauchoConfigFile /path/to/apache/conf/resinconf
</IfModule>
mod_expires的安装配置:
<IfModule mod_expiresc>
ExpiresActive on
ExpiresByType image/gif "access plus 1 month"
ExpiresByType text/css "now plus 1 month"
ExpiresDefault "now plus 1 day"
</IfModule>
注释:
所有的gif文件1个月以后过期
所有的文件缺省1天以后过期
mod_gzip的安装
http://wwwchedongcom/tech/compresshtml
日志的轮循:cronolog的安装和设置
cronolog可以非常整齐的将日志按天轮循存储
缺省编译安装到/usr/local/bin/下,只需要将配置改成:
CustomLog "|/usr/local/sbin/cronolog /home/apache/logs/%w/access_log" combined
日志将按天截断并存放在以星期为目录名的目录下:比如:log/1是周一,log/5是周五, log/0是周日
用gzip压缩每天的日志:
30 4 /usr/bin/gzip -f /home/apache/logs/`date -d yesterday +%w`/access_log
日志的定期删除:
30 5 /usr/bin/find /home/apache/logs/ -name access_loggz -mtime +3 |xargs -r /bin/rm -f
升级维护:
由于使用动态模块加载方式(DSO模式)安装Apache,Apache的HTTPD核心服务和应用模块以及应用模块之间都变的非常灵活,建议将所有独立模块的配置都放在
<IfModule mod_name>
CONFIGURATIONS
</IfModule>
里,这样配置非常容易通过屏蔽某个模块来进行功能调整:比如:
#AddModule mod_gzipc
就屏蔽了mod_gzip,而其他模块不首任何影响。
安装和维护过程:
系统安装:系统管理员的职责就是安装系统和一个按照DSO模式安装的Apache,然后COLON。
应用安装:由应用管理员负责具体应用所需要的模块并设置HTTPD。
系统升级:系统管理员:升级系统/升级Apache
应用升级:应用管理员:升级应用模块:PHP CAUCHO等
系统备份/恢复:如果Apache不在缺省的系统盘上,只需要将Apache目录备份就可以了,遇到系统分区的硬件问题直接使用预先准备好的系统COLON,再直接将Apache所在物理盘恢复就行了。
系统管理员:Apache的最简化安装 OS + Apache (httpd core only)
应用管理员:应用模块定制 纯静态页面服务
core
PHP动态页面
core+so
+php
JAVA应用
core+so
+caucho
+ssl
应用例子: wwwexamplecom
imageexamplecom
bbsexamplecom mallexamplecom
例子:Apache和PHP模块的独立升级。
如果Apache是按照以下方式安装:
/configure --prefix=/home/apache --enable-shared=max --enable-module=most
PHP是按照以下方式安装:
/configure --with-apxs=/home/apache/bin/apxs --enable-track-vars --with-mysql
以后单独升级Apache的时候,仍然是:
/configure --prefix=/home/apache --enable-shared=max --enable-module=most
make
su
#/home/apache/bin/apachectl stop
#make install
单独升级php时,仍然是:
/configure --with-apxs=/home/apache/bin/apxs --enable-track-vars --with-mysql
make
su
#/home/apache/bin/apachectl stop
#make install
#/home/apache/bin/apachectl start
基于反相代理的WEB加速:
squid和mod_proxy都可以实现反相代理加速。而基于缓存的代理加速比起原有WEB服务,速度会有数量级的提升。
小提示:
Apache安装后,缺省根目录下没有但很有用的2个文件:
faviconico: faviconico是一个16x16的站点图标文件,如果浏览器发现有这个文件,在地址栏中会用这个图标替换调浏览器的网页图标。IE6和 MOZILLA等主流浏览器都支持这个功能。
例如: http://wwwchedongcom/faviconico
robotstxt: 用于告诉搜索引擎的爬虫程序(spider)网站那些页面可以被索引,那些不可以。
具体说明请参考:http://wwwrobotstxtorg/wc/robotshtml
参考文档:
Apache项目
http://httpdapacheorg
PHP
http://wwwphpnet
Resin
http://wwwcauchocom
mod_gzip
http://sourceforgenet/projects/mod-gzip/
Cronolog
http://wwwcronologorg
mod_expires
http://httpdapacheorg/docs/mod/mod_expireshtml
面向搜索引擎的CMS设计:
http://wwwchedongcom/tech/cmshtml
建立MySQL的性能模型, 对 MySQL的服务器参数调优 和 容量规划 有很大意义 性能模型指的是如何通过观测得到量化的性能数值, 并能对 环境调整造成的影响 进行准确的量化预测 其中最简单的性能模型是使用单线程进行insert
运维人员的工作每天基本上都是在检查问题,枯燥但又重要, 要是你的某一个环节出现问题并没有及时发现问题,对于企业来说损失可能非常大,基本上运维人每天的工作我罗列了下,有这几种:
1、负责服务器的硬件配置、软件安装、机房上下架等技术维护工作
2、负责虚拟化技术产品物理机配置、管理和日常运行监控和维护
3、负责独立主机或虚拟应用产品的开通使用、日常维护、故障诊断和排除
4、提供独立主机或虚拟应用客户产品操作和应用方面的技术支持
5、监视分管的服务器,及时发现问题,并积极解决问题
现在信息化数字时代,单靠人工去检查出现错误几率会很大,而且有的运维人还不只管理两台服务器,像我们公司的运维每人至少要管理30台服务器,这样子单靠人工运维耗费的人工成本和时间是非常大的,所以还是推荐你用运维工具吧,比如云帮手()1支持跨云商批量管理服务器
2兼容性强大,兼容市面基本所有的云商云主机,兼容操作系统;
3操作简单,可视化界面预览资源、一键修复、一键部署;
4 可以远程登录云主机FTP桌面,处理云主机上的文件;
5监控和资源还有告警功能,这个是挺好的,不用盯着看;
6系统修复功能,这个是挺实用也比较必须的;
7免费使用。总得来说功能还是挺全的,不存在需要又要另外找软件的尴尬。
你好,很高兴回答你这个问题。从运维的角度来讲,服务器的数量少并不意味着我们的运维工作就非常轻松,相反我们更应该重视此阶段的工作。
我们可以从以下几方面来开展我们的运维工作:
1应用服务器
我们可以从当前服务器中找出 至少2个节点装Vsphere虚拟化,建立一个数据中心、集群 ;如果你的服务器有多网卡和SCSI,还可以做一些更高级的应用,如vmotion、负载均衡、高可用等。当虚拟机或服务器故障,可以 实现故障自动转移,有效的避免了单节点的故障,提供服务器的容错率 。
我们可以在新建的虚拟机部署Web、API等各种应用,而且 虚拟机可以在vCenter图形化界面下统一管理 。这一般是中小公司的在服务器方面的解决方案。
当然,我们对docker比较熟悉,可以使用一套docker解决方案,这比Vsphere更能节省一部分资源。当然这个需要的技能要求也比较高,需要我们不断积累。
2数据库服务器
数据库服务器在此我们单独拿出来,是因为数据库对服务器性能、磁盘IO要求比较高,不太建议使用虚拟机,当然这需要根据业务的实际情况来做选择。 数据库我们需要通过一主一从、一主二从的方式实现高可用,来避免数据库单点问 题,我们还可以选择合适的proxy来进行读写分离、读负载均衡等。另外还要考虑数据的本地备份、异地备份,来确保数据可恢复。
3系统监控
当我们在应用服务器和数据库服务器上线一套系统后, 我们需要通过监控掌握从服务器硬件、基础状态、应用、数据库等从下到上的运行状态 ,以便我们能够对告警及时做出响应。考虑到报警的及时性,我们需要监控接入多种报警渠道,如微信、钉钉、邮件、短信等。监控的目的是发现问题、解决访问,因此我们需要踏实的做好这一步,才能为我们的业务保驾护航。
好了,其实不管服务器多少,我们都需要扎实的把基础打好,这样才能以不变应万变面对各种情形。希望我的回答能够帮到你。
题主没有详细说明具体应用系统的功能,比如是否单一的Web服务?有没有微服务、分布式、集群化扩展的潜在需求?
通常来说,建议使用云服务自动化运维。云服务已经成为IT技术的核心基础设施,充分利用云服务带来的弹性和分布式优势,赋能自动化运维。
一,自动构建系统
如果需要构建应用,那么就建议配置使用CI/CD持续化集成和自动化部署,比如常用的Jenkins,配置Git代码提交时触发构建,然后自动部署。
二,日志收集处理系统
1,ELK是常见的日志收集管理系统,包括ElasticSearch, LogStash, Kibana三个服务,架构示意图如下:
2,在ELK系统中,Kibana是一个图形化展示工具,配置查询条件,运维人员随时可以搜索指定日志信息,分析处理故障。
三,服务监控
1,云监控CloudMonitor
主流云服务商都将监控功能集成到了基础架构中,以阿里云为例,云监控提供了多种配置,多维度全方位监控。
比如配置CPU使用率到达80%时,自动触发动作,增加服务器实例,同时邮件通知运维人员。
2,应用监控
以监控宝为例,配置服务地址,选择分布在不同地区和运营商的监测点。当监测点不能正常调用配置的服务地址时,将收到警告信息,可以选择邮件、短信、电话等通知方式。
四,潜在的系统扩展需求
1,是否集群化部署?需要AutoScaling自动伸缩吗?
小型化和集群化并不冲突。如果采用集群化部署,可以配置触发条件,满足时自动增加或者释放服务器资源。比如当CPU使用率达到75%或者内存占用率达到75%时,根据配置好的服务器和数量,自动触发。
2,是否使用Docker容器技术?
Docker将应用以及依赖打包到一个可移植的镜像中,可以实现虚拟化,有助于快捷高效的交付应用,结合Docker-compose资源编排,快速实现自动部署更新,不再需要常用的Jenkins构建服务器。
机器数比较小的话,你可以用云的服务器,这样可以节省好多钱。找一个专门的运维,还不如让开发自己来搞,因为机器少运维他也应付得过来。现在都在搞云计算了,把你的机器放上阿里云或者腾讯云,你自己维护好很多,包括网络贷款都很容易扩容。上面这个我说到的只是说建议你如果你已经是自己的机器了。我建议你从我下面所说的来搞。
认为的整个过程的话一般分为三个阶段,第一的话是手工阶段,什么东西都是手工搞。
第2个阶段就是脚本阶段了,本来手工搞的东西全部脚本化。
第3个阶段就是平台化了,平台化了之后,所有东西都在页面上完成系统完成,不需要人工来干预,甚至不用运维来搞。
有一些人说既然认为就是最后的一个阶段,但是这个很不成熟。所以我就不说了。
针对你这个机器数少的,你可以手工认为,或者说用脚本认为都没问题。
在合适的阶段做合适的事情就是最好的。所以我建议你手工运维或者脚本运维。
我们项目用的 wgcloud运维监控系统 ,它前身是开源项目,后来推出的商业版,也有免费版
wgcloud运行很稳定,性能很好,部署和上手容易
wgcloud支持主机各种指标监控(cpu状态/温度,内存状态,磁盘容量/IO,硬盘smart监控,系统负载,网卡流量,硬件系统信息等),数据可视化,进程应用监控,大屏可视化,服务接口检测,DOCKER监控,自动生成网络拓扑图,端口监控,日志文件监控,web SSH(堡垒机),指令下发执行,告警信息推送(邮件钉钉微信短信等)
可以装虚拟机代替,在同一个局域网情况下
找服务商外包服务,或者网上托管也不贵收费
服务器数量比较少,比如10台服务器,基本可以不设置运维岗位了,后端开发人员 或者架构师就能搞定。
我就是那种曾经在创业的小公司待过的开发人员,开发,运维我都干了。
但是想想如何更科学更高效的运维还是很有必要的。
运维的目的
软件系统的运行时环境:即公司的业务产线,靠它创造业务价值,这个是最核心的功能诉求。
实时监控系统: 任何时候都要对当前公司的产线的压力一清二楚,有问题功能随时解决,有性能问题及时扩容或者回收资源
降低服务器成本:在业务萎缩的情况下,准确评估哪些资源可以回收,降低服务器的支出
这个是当时我认为的运维的三个主要目的。
运维方案开发半路出家,当时采用的是shell+python+ansible+jekins+elk的方式
首先,我会及时的更新业务产线的物理架构图,根据架构图来规划服务器的资源使用。
比如多少个web服务,数据库多少,zk,kafka,redis集群怎么分布。
集群部署一般是放在多个服务器上的,这个时候ansible就派上用场了。
jekins主要用来自动发布更新程序已经做定时回收磁盘的任务。
elk主要用来做应用的日志系统和监控告警; 可以通过看板随时知道产线的请求数量和并发数量;
以上的运维方案适用于小公司。运维工程师看到了可以补充
搞个zabbix刷
数量少。如果配置好可以虚拟化。然后跑容器
0条评论