Ö÷Ìâ¼ò½é
±¾´Î·ÖÏíÖ÷Òª·ÖΪÁ½²¿·Ö£º
µÚÒ»²¿·ÖÒýÈëÔËά¹¤³ÌʦµÄÄÜÁ¦ÀíÂÛ¶¨Ò壻
µÚ¶þ²¿·Ö½éÉÜDevOpsµÄÄÜÁ¦Ä£ÐÍ£¬ÆäÖÐÒýÓÃÁ˵ÚÒ»²¿·ÖµÄ¶¨Òå¡£
²¿·ÖÄÚÈÝ¿ÉÄÜÐζøÉÏѧ£¬ËùÒÔ´øºÃÕíÍ·±»È죬À§Á˾ÍÃÐÒ»»á¶ù£¬ºóÃæÓеãС¾«²Ê¡£
ÒýÑÔ
ÔËά¹¤×÷ÊÇʵ¼ùÐÔµÄѧ¿ÆºÍ¹¤×÷£¬¼´±ãûÓиßÉîµÄÀíÂÛÒ²¿ÉÒÔ¿ªÕ¹¹¤×÷£¬¼Ì¶ø´ÓÊÂÕâ¸ö¹¤×÷µÄÅóÓѲ»È±·¦Êµ¼Ê¶¯ÊÖµÄÄÜÁ¦¡£
µ«´ÓÊÂÎïµÄ·¢Õ¹¹æÂÉÐÔºÍÆÕ±éÐÔÀ´¿´£¬´Óʵ¼ù³ö·¢µÄOpsǡǡȱ·¦±ØÒªµÄÀíÂÛÖ¸µ¼ºÍ˼Ïë̽¾¿¡£
±¾ÎÄÊÇÎÒ¶ÔÔËά¹¤×÷µÄÀíÂÛ¡¢Ë¼¿¼ºÍ¶¨ÒåµÄ×ܽᣬͬʱ¸ø³öDevOpsÏà¹Ø¸ÅÄîµÄ¶¨Ò壬Ã÷È·Æä¹¤×÷·¶³ë£¬ÄÜÁ¦ÒªÇ󣬲ú³ö±ê×¼ÒÔ¼°Ñݽø½¨Òé¡£Ò»¼ÒÖ®ÑÔÉÐδÍêÉÆ£¬Å×שÒýÓñ£¬»¶ÓÌÖÂÛ¡£
´ÓÒ»´ÎÃæÊÔ¿ªÊ¼
ÎÊÌâ1
ÎÊ£ºÈçºÎͨ¹ýPython»òÕßShell¸øNginxÌí¼Ó/ɾ³ýÒ»¸öÐéÄâÕ¾µã£¿
´ð£ºÍ¨¹ýPython»òÕßShellÔÚnginx.confÀïÌí¼ÓserverÇø¿é£¬È»ºóÈçºÎÈçºÎ¡¡
ÎÊÌâ2
ÎÊ£ºÈçºÎʹÓÃPython½«Îı¾ÈÕÖ¾½á¹¹»¯
´ð£ºÍ¨¹ýpythonµÄos.systemµ÷ÓÃawk¡££¨¿Þ£¬º«¹úµÄÕûÈÝÊõÓõ½ÔËάÉÏÁË£¬¸øawkÕû³Épython¡¡£©
ÕâÊÇ×î½üÕæÊµµÄÃæÊÔ°¸Àý¡£ÉÏÊöÁ½¸öÎÊÌâµÄ»Ø´ð£¬ÈÃÎҺܲ»¿ªÐÄ£º
ÎÊÌâ1µÄ»Ø´ð£¬ËµÃ÷ÃæÊÔÕß²»¾ß±¸ÔËάµÄ¹¤³ÌÄÜÁ¦£¬¸ü²»¾ß±¸¼Ü¹¹ÄÜÁ¦£»
ÎÊÌâ2µÄ»Ø´ð£¬ËµÃ÷ÃæÊÔÕß²»¾ß±¸³ÌÐòµÄ¼Ü¹¹ÄÜÁ¦£¬ÉõÖÁ¶ÔÓïÑÔÀí½âºÍ±ê×¼¿âµÄѧϰ¶¼²»µ½Î»¡£
´Ó°¸ÀýÀïÎÒ×ܽáÁËÁ½¸öºËÐĵ͍Ò壺¹¤³ÌÄÜÁ¦ºÍ¼Ü¹¹ÄÜÁ¦¡£ÏÂÃæÏȸø³öÕâÁ½¸ö¶¨Òå¡£
¹¤³ÌÄÜÁ¦µ±È»ÊÇÔËά¹¤£¡³Ì£¡Ê¦Ëù±ØÐè¾ß±¸µÄ¡£ÎÒ¶Ô¹¤³ÌÄÜÁ¦µÄ¶¨ÒåÊÇ£º
·Ö½âÎÊÌâµÄÄÜÁ¦£»
¶¨ÒåÖ´ÐÐÐòÁеÄÄÜÁ¦£»
ÖÆ¶¨¿ÉÖØÈë²Ù×÷ÐÐΪµÄÄÜÁ¦¡£
¼Ü¹¹ÄÜÁ¦£¬±¾È˽âÊÍΪ£º
¶®¡°²»¸Ã¡±¶®µÄ£»
Ïë¡°²»¸Ã¡±ÏëµÄ£»
×ö¡°²»¸Ã¡±×öµÄ¡£
±ÈÈç³ÌÐòÔ³¶®ÁËÒµÎñ£¬ÏëÁ˲¿Êð£¬×öÁ˸߿ÉÓõĹ滮Ӧ¸ÃËãµÃÉϼܹ¹Ê¨ÁË¡£
1. ·Ö½âÎÊÌâµÄÄÜÁ¦
Õë¶ÔÎÊÌâ1µÄ·Ö½âÂß¼ÈçÏ£º
nginxÊÇÈçºÎ¹ÜÀíÐéÄâÕ¾µãµÄ£¬ÊÇ·ñ¾ßÓÐÄ£¿é»¯ÄÜÁ¦£¿
ÔÚ¾ßÓÐÄ£¿éÄÜÁ¦µÄÇé¿öÏ£¬ÈçºÎʵÏÖÐéÄâÕ¾µãÄ£¿éµÄÌí¼Ó£¿
ÈçºÎ¶¨Ò广ÔòÀ´ÃüÃûÐéÄâÕ¾µã£¬ÒÔ±£Ö¤¿ÉÖØÈ룬ÔÚ¹æÔò²»±äµÄÇé¿ö²»»áÔÙÖØ¸´Ìí¼Ó£¨»¹ÒªÖ§³ÖupstreamµÈµÈ£©£¿
pythonҪʵÏÖʲôÑùµÄ¹¦ÄÜ£¬shellÒªÍê³ÉʲôÑùµÄ¹¤×÷£¿
Ìí¼ÓÍê³Éºó£¬ÈçºÎÑéÖ¤ÆäÉúЧ£¿
ɾ³ýµÄÐÐΪÊÇ·ñÒª³¹µ×ɾ³ýÅäÖÃÎļþ£¬ÒÖ»òÕßÁôÒ»¸ö¸±±¾£¿
2. ¶¨ÒåÖ´ÐÐÐòÁеÄÄÜÁ¦
ÓÐЩ²Ù×÷ÊǸßΣ²Ù×÷»òÕßÊDz»¿ÉÄæµÄ£¬±ÈÈçÐÞ¸ÄsudoersÎļþ¡£ÔÚ»ùÓÚsudo¹ÜÀíµÄϵͳÏ£¬Èç¹ûÒ»µ©sudoers±»¸Ä»µÊÇÔÖÄÑÐԵġ£Òò´Ë¶¨ÒåÖ´ÐÐÐòÁÐÊÇ£º
ÔÚ TerminalÏ¿ªÒ»¸ö´°¿ÚÇл»µ½rootÏ£»
ÔÚÁíÍâµÄ´°¿ÚϽøÐжÔsudoers/sudoers.dµÄÐ޸ĻòÕßÌí¼Ó£»
Ò»µ©ÊÔÑé¹ý³ÌÖÐsudoers±»¸Ä»µ£¬¿ÉÒÔÓÃrootÕË»§Ö±½Ó¸Ä»ØÀ´£»
ÒÔÉÏÁ÷³ÌËäÈ»¼òµ¥£¬µ«ÊÇÕâ¸ú·É»úÆð·Éǰ°ÎµôÆðÂä¼ÜµÄãÅÊÇÒ»ÑùÖÂÃüµÄ¡£
3. ÖÆ¶¨¿ÉÖØÈë²Ù×÷µÄÄÜÁ¦
ϵͳµÄ¹ÜÀíºÍϵͳµÄ״̬µÄ»ñÈ¡ÊÇÁ½¸ö²»Í¬·½ÏòµÄ¹¤×÷£º
¹ÜÀíÊǰÑÖ¸Áî´«µÝ¸øÏµÍ³£¬ÐÞ¸ÄϵͳµÄ״̬ºÍÐÅÏ¢£»²é¿´ÏµÍ³µÄ״̬ÊÇ´Óϵͳ»ñÈ¡ÐÅÏ¢¡£
ÕâÁ½¸ö²»Í¬ÏòµÄ²Ù×÷ÐÐΪ¾Íµ¼ÖÂÁË״̬ºÍÐÅϢͬ²½µÄÎÊÌâ¡£½â¾öÕâ¸öÎÊÌâµÄ·½·¨Óкܶ࣬µ«ÊÇÎȶ¨¿É¿¿£¬¼æÈÝÐԺõķ½·¨²»¶à£¬Îҵķ½·¨ÊDZ£Ö¤²Ù×÷µÄ¿ÉÖØÈëÐÔ¡£
¼´ÔÚͬµÈµÄÌõ¼þÏ£¬¶ÔÓÚϵͳ·¢³öµÄÖ¸ÁִÐÐn+1´Î£¨n>0£©µÄЧ¹ûÊÇÏàͬµÄ¡£
ÕâÑù£¬¼´±ãÎÒ¿ÉÄÜÖªµÀϵͳ״̬ºÍÐÅÏ¢ÊDz»Ò»Öµģ¬µ«ÊÇÓÉÓÚ²Ù×÷ÐÐΪÊÇ¿ÉÖØÈëµÄ£¬ÎÒ¿ÉÒÔ×îÖÕ°Ñ״̬ºÍÐÅÏ¢Ò»Ö»¯¡£
ÒÔÉÏÕ¹¿ªÁ˹¤³ÌÄÜÁ¦µÄ½âÊÍ¡£
ÓÉÓڼܹ¹ÄÜÁ¦Éæ¼°Ãæ¹ã£¬½»²æÑ§¿ÆÖڶ࣬´Ë´¦Ôݲ»×÷Õ¹¿ªËµÃ÷¡£
DevOpsµÄÄÜÁ¦Ä£ÐÍ
ÎÒÃÇÏȽéÉÜÏà¹ØÄÜÁ¦Ä£ÐÍ£º²Ù×÷ϵͳÄÜÁ¦Ä£ÐͺÍÓ¦ÓÃϵͳÄÜÁ¦Ä£ÐÍ£¬È»ºóÔÙÓÉ´ËÒý³öDevOpsÄÜÁ¦Ä£ÐÍ¡£
²Ù×÷ϵͳÄÜÁ¦Ä£ÐÍ
³ý²Ù×÷ϵͳºËÐÄÌṩµÄ»ù±¾¹¦ÄÜÍ⣬»¹¸øÎÒÃÇÌṩÁËÒÔϹ¦ÄÜ£¨ÒÔLinuxΪÀý£©£º
·ÃÎÊ¿ØÖÆ£¬ÊµÏÖ»ùÓÚ½ÇÉ«µÄ×îСÁ£¶È·ÃÎÊ¿ØÖÆ£¬´ËΪϵͳ¹ÜÀíµÄ»ù´¡£¬ÄÜÁ¦Ä£Ð͵ĹؼüÖ®Ò»£»
ȨÀûÍйܣ¬»ùÓÚ½ÇÉ«ºÍÃüÁîµÄ¿ÉÅäÖÃÊÚȨ»úÖÆ£¬ÌṩÁ˿ɿصģ¬¿É¶¨ÖƵÄÌáȨµÄ·½°¸£»
µ¼ÈëʽµÄ¿É²å°ÎÅäÖÃÄÜÁ¦£¨Í¨¹ýÀàincludeÖ¸Áî), ±ÈÈç /etc/security/limits.d£¬/etc/sudoers.d£¬
´ËΪ×Ô¶¯»¯ÖØÒªÉèÊ©£»
°ü¹ÜÀíÄÜÁ¦£¬°üÀ¨¶þ½øÖƺÍÔ´Âë°üµÄÒÀÀµ¹ÜÀíµÈ£»
shell±à³ÌµÄÖ§³Ö¡£
Ó¦ÓÃϵͳÄÜÁ¦Ä£ÐÍ
³ý²Ù×÷ϵͳÄÜÁ¦Ä£ÐÍÌṩµÄ¹¦ÄÜÖ®Í⣬»¹¸øÎÒÃÇÌṩÁËÒÔϹ¦ÄÜ£º
µ¼ÈëʽÅäÖÃÄÜÁ¦£¬ÈçnginxµÄ /etc/nginx/sites-available/£»
ϵͳ״̬Õì²âÄÜÁ¦£¬Èçphp-fpmµÄping/pong£»
ÈÈ×°ÔØÄÜÁ¦£¬ÀýÈçºÜ¶à·þÎñµÄreload¹¦ÄÜ£»
¸ß¿ÉÓÃÐÔÒÔ¼°¹ÊÕϻָ´ÄÜÁ¦£¬ÀýÈçMySQLµÄ¸ß¿ÉÓÃÅäÖã¬ÒÔ¼°ÆäbinlogµÄ»Ö¸´ÄÜÁ¦£»
5£¬ÆäËû±ØÒªÌØÐÔ£¬ÊÓ²»Í¬µÄÒµÎñϵͳ¶ø¶¨¡£
DevOpsÄÜÁ¦Ä£ÐÍ
ÓÉ´Ë£¬ÎÒÃǸø³öDevOpsÄÜÁ¦Ä£Ð͵͍Ò壺
Á˽âÆäËù¹ÜÀíµÄ²Ù×÷ϵͳµÄÄÜÁ¦Ä£ÐÍ£¨Linux£¬Windows£©£¬ÕÆÎÕϵͳ±à³ÌÓïÑÔ£¨Shell£©²¢ÄÜÀûÓÃÆäÄÜÁ¦ÓÃÓÚDevOps¹¤×÷£»
Á˽âÆä¹ÜÀíµÄÓ¦ÓÃϵͳµÄÄÜÁ¦Ä£ÐÍ£¨Mysql£¬ NginxµÈ£©£¬ÕÆÎÕϵͳ±à³ÌÓïÑÔ£¨Shell£©²¢ÄÜÀûÓÃÆäÄÜÁ¦ÓÃÓÚDevOps¹¤×÷£»
¾ß±¸Ç°ÎÄÌáµ½µÄ¹¤³ÌÄÜÁ¦£¬ÕÆÎÕϵͳ±à³ÌÓïÑÔ£¨Shell£©ºÍͨÓÃÓïÑÔ£¨Python/RubyµÈ£©£¬²¢ÄÜÀûÓÃÆä±à³ÌÄÜÁ¦½«¹¤³ÌÄÜÁ¦Ìáµ½ÈýÖÖÄÜÁ¦³ÌÐò»¯£¬²¢½øÒ»²½ÊµÏÖ×Ô¶¯»¯£»
Á˽⹤×÷³¡¾°ºÍÒµÎñ³¡¾°£¬ÒÔ¼°ÒµÎñµÄ¹Ø¼üÖ¸±ê£¬Ê¹DevOps¹¤×÷ÓеķÅʸ£¬Ìù½üÒµÎñ¡£
ÆÀ¹ÀDevOpsÊÇ·ñºÏ¸ñµÄ±ê×¼£º
¾ß±¸DevOpsÄÜÁ¦Ä£ÐÍÌáµ½µÄ¸÷ÏîÒªÇó£»
Æä²ú³öµÄ´úÂë½Å±¾Äܹ»ÊÊÓ¦ÆÕ±éÐèÇ󣬲¢ÇҸôúÂë½Å±¾·ûºÏǰÎĵĿÉÖØÈëÒªÇ󣬼´Ö´ÐÐnºÍn+1´ÎµÄЧ¹ûÏàͬ£»
Æä²ú³öµÄ´úÂë½Å±¾Äܹ»¹©ÆäËû´úÂë½Å±¾Ê¹Ó㬴ËÌõÓÈÎªÖØÒª¡£
DevOpsµÄ¼¶±ð£º
·ûºÏDevOpsÄÜÁ¦Ä£ÐÍ1£ºÎª³õ¼¶DevOps£¬¿ÉÒÔʹÓÃshell×öDevOpsµÄÒ»°ãÐÔϵͳ¼¶±ðµÄ¹¤×÷£¬ÔÚһЩµÚÈý·½¹¤¾ß£¨Ansible/Fabric)µÄ°ïÖúϹÜÀí´óÁ¿·þÎñÆ÷£»
·ûºÏDevOpsÄÜÁ¦Ä£ÐÍ2£ºÎªÖм¶DevOps£¬¿ÉÒÔʹÓÃshell×öDevOpsµÄÓ¦ÓÃϵͳµÄ²¿ÊðºÍÓÅ»¯¹¤×÷£¬²¢ÄÜͨ¹ýÆä²ú³öµÄ½Å±¾´óÅúÁ¿¹ÜÀíÓ¦ÓÃϵͳ
·ûºÏDevOpsÄÜÁ¦Ä£ÐÍ3£ºÎª¸ß¼¶DevOps£¬¿ÉÒÔʹÓÃshellºÍͨÓÃÓïÑÔ½øÐй㷺µÄDevOpsµÄ¹¤×÷£¬¿ÉÒÔÍê³ÉÍêÕûµÄÒµÎñÁ÷³ÌµÄ¶¨ÒåºÍ¿ª·¢£¬Äܹ»ÊìÁ·³éÏó²¢±àд¹©ÆäËûDevOpsʹÓõĽӿڡ£
·ûºÏDevOpsÄÜÁ¦Ä£ÐÍ4£ºÎª¼Ü¹¹Ê¦¼¶±ðµÄDevOps£¬¸ù¾ÝÒµÎñÐèÇ󣬹滮ϵͳ²¿Êð¼Ü¹¹£»¸ù¾ÝÒµÎñÖ¸±êÒªÇóÓÅ»¯²¿Êð½á¹¹ºÍÐÔÄÜ£¬±£Ö¤¸ß¿ÉÓõȣ»¶¨Òå½Å±¾´úÂë½Ó¿Ú£¬Öƶ¨¿ª·¢¹æ·¶ºÍ²Ù×÷¹æ·¶¡£
ÀíÂ۵Ķ«Î÷˵ÍêÁË£¬ÏÂÃæÊÇ̽ÌÖÏÂDevºÍOpsµÄÏÖ×´£¬OpsµÄÑݽø£¬DevµÄÑݽøÒÔ¼°ÈýÏî²¹³äÄÚÈÝ¡£
DevºÍOpsµÄÏÖ×´
DevºÍOpsÊÇʵ¼ùÐԵŤ×÷£¬Òò´Ë¼´±ã²»ÊÇÒ»ÃûDevOps£¬»òÐíÄãÒ²ÔÚ×ö×ÅDev»òÕßOpsµÄ¹¤×÷¡£Ö»ÊÇÕâ²»ÊÇÕæÕýµÄDevOps¡£ÈÃÎÒÃÇ¿´Á½¸ö³¡¾°£º
DevµÄ·ç¸ñÊÇÁ¦ÇóÓÃPython/RubyÕâÀàͨÓñà³ÌÓïÑÔÕûºÏÒ»¶ÑµÄAPI£¬ÊµÏÖÒ»Ì×´óϵͳ£¬¸ã¶¨Ò»ÇÐOpsµÄ¹¤×÷£»ËûÃÇÿÌìµÄ¹¤×÷¾ÍÊÇÔÚÕÒLibsºÍ¿´¸÷ÖÖAPIµÄÎĵµ£¬ÂúÄÔ×ÓÉè¼ÆË¼Ïë¡£ÕâÖÖ˼άÊÇDev˼ά£»
OpsµÄ·ç¸ñÊÇÁ¦Çó´ÓÃüÁîÐеĽǶȣ¬ÉõÖÁ½Å±¾¶¼²»Óã¬Ò»ÐÐÒ»ÐеİÑÃüÁîÇÃÏÂÈ¥Íê³É¹¤×÷£»»òÕß¿ìËÙµÄдһ¸öÒ»´ÎÐԽű¾¸ã¶¨£»ËûÃÇ»¹Ï²»¶×Ô¼º±àÒë¸÷ÖÖϵͳ£¬ÂúÊÀ½çÏÂÔ´Âë°ü£¬Ï²»¶×Ô¼º¸ã¼¸¸ö²ÎÊýÓÅ»¯Ò»Ï£»ËûÃÇÖ»¹ØÐĵ±ÏµĽá¹û£¬²»¹ØÐÄÒÔºóµÄÖØ¸´ÀûÓúͳÖÐø¼¯³É¡£
ÕâÊÇÎÒÒÔǰµÄ¹¤×÷ÖÐÓöµ½µÄÕæÊµÇé¿ö¡£
ÏÖÔÚÇé¿ö±äÁË£¬×Ô´ÓDevºÍOpsŪÔÚÒ»Æð±ä³ÉDevOpsºó£¬ÓÖ³öÏÖÁ˼¸¸ö×Ô¶¯»¯¹¤¾ß£¬¸ãµÄÏÖÔÚDev²»ºÃºÃд´úÂëÁË£¬OpsÒ²²»ºÃºÃµÄдÃüÁîÐУ¬¶¼È¥Ñ§Ï°×Ô¶¯»¯¹¤¾ßÈ¥ÁË¡£
Õâ²»ÊÇDevOpsµÄÍõµÀ¡£ÕâÊÇ´íÎóµÄ¡£
¼´±ã°ÑËùÓеÄ×Ô¶¯»¯¹¤¾ß£¬²»¹ÜÊÇAnsible»¹ÊÇPuppet»òÕ߯äËûѧµÄÔÙÊ죬ҲֻÊÇѧ»áÁËÒ»¸ö¹¤¾ß¶øÒÑ£¬ºÜ¿ÉÄÜDevOpsûµ±³É£¬È´±ä³É¹¤¾ßµÄÅ«Á¥¡£
DevOpsÊÇÏÈÓÐ˼Ï룬¶øºóÓй¤¾ß¡£
ÏÖÔÚ³çÉй¤¾ßµÄ˼·ÊǷdz£¿ÉÅµģ¬ºÜ¶à³õѧÕßÎóÒÔΪѧ»áÁËÕâЩ×Ô¶¯»¯¹¤¾ß¾Í¿ÉÒÔ°ÑÔËά×öºÃ£¬¶øºöÊÓ»ù±¾¹¦µÄѧϰ£¬¿Õѧ¹¤¾ß£¬Ö»ÖØÆäÕУ¬²»ÖØÆäÒå¡£
ÏÂÃæ·ÖÏíÏÂÁ½ÕßµÄÑݽø¡£
OpsµÄÑݽø
°¸Àý1£ºÒÔÔÚRedHatÉϰ²×°NginxΪÀý×Ó£¬ÍøÉϺܶàÎÄÕµIJ½Öè´ó¸ÅÈçÏ£º
PCRE¿âµÄ°²×°£ºwget, tar, configure, make,make install
OpenSSL¿âµÄ°²×°£¬wget, tar, configure, make,make install
nginx°²×°£¬wget, tar, configure, make,make install
ÕâÖÖ×ö·¨ÔçЩÄêÊǷdz£Á÷Ðе쬶øÇҺܶàÈ˶ÔÓÚÔÚconfigureºóÃæ´øµÄÄÇЩ²ÎÊýºÜÊÇ×Եã¬ÂÅÊÔ²»Ë¬¡£
ʱÖÁ½ñÈÕÕâÖÖ·½·¨ÈÔÈ»Ôںܶà³õѧÕßÄÇÀï·Ç³£Á÷ÐУ¬¶øÕâÖÖ×ö·¨¾ÍÊÇÑÏÖØµÄ·´DevOpsµÄ×ö·¨¡£
°¸Àý2£ºÒÔ¸øNginxÔö¼ÓÒ»¸öÐéÄâÕ¾µãwww.devops.orgΪÀý£¬ºÜ¶à³õѧÕßÒ»ÉÏÀ´¾Í´ò¿ªnginx.conf¿ªÊ¼¸Ä£¬ÕâͬÑùÊÇÑÏÖØ·´DevOpsµÄ¡£
Õâ¿ÉÄÜÊÇÒòΪһÀ´nginx¹Ù·½ÎĵµÊÇÕâô¸ÄµÄ£¬¶þÀ´ºÜ¶àÎÄÕÂÒ²ÊÇÕâÃ´×ªÔØ£¬»òÕßÔ´´ÕâôдµÄ¡£
°¸Àý3£ºÔÙÒÔÍøÂçÐÔÄÜÓÅ»¯µÄΪÀý£¬ºÜ¶àOpsͬѧֱ½Ó³åµ½/etc/sysctl.confÕâÀïÃæ·è¿ñµÄÐÞ¸Äһͨ£¬Ìí¼ÓÁ˸÷ÖÖ²ÎÊý¡£
ÕâÈÔÈ»ÊÇ·´DevOpsµÄ¡£Ò»À´¹ý²»¾ÃÒÔºóÒ²²»ÖªµÀÄÄЩÊÇ×Ô¼º¸ÄµÄ£¬ÄÄЩµÄĬÈϵ쬶þÀ´Èç¹ûÏëÓýű¾ÅúÁ¿¸üÐÂÒ²ÊÇ´óÎÊÌâ¡£
Õë¶ÔÉÏÃæÌáµ½µÄ£¬ÎÒÈÏΪDevOpsÓ¦¸ÃÊÇÕâô×öµÄ£º
¶ÔÓÚ°¸Àý1£ºÊ×Ïȸù¾Ý×Ô¼ºµÄϵͳÉèÖúÃnginxµÄÔ´£¬¶øÉèÖÃÔ´µÄ·½·¨Ò²²»ÊÇÖ±½Ó³åµ½/etc/yum.conf,¶øÊǽ¨Á¢Ò»¸ö/etc/yum.repos.d/nginx.repoÎļþ£¬ÓÃÓÚ±£´ænginxµÄÔ´ÐÅÏ¢¡£È»ºóÈ»ºóͨ¹ýyum
install nginx °²×°¡££¨Èç¹ûÒ»¶¨·ÇµÃ±ØÐëÌØ¶¨°æ±¾£¬ÉÔºóÌÖÂÛ)¡£
¶ÔÓÚ°¸Àý2£º¸øNginxÌí¼ÓÒ»¸öÐéÄâÕ¾µã¡£RPM°üµÄ½á¹¹ÈçÏÂ

¾¡¹ÜÕâ¸ö½á¹¹²»ÊǺÜÁîÈËÂúÒ⣬µ«ÊÇÈÔÈ»¿ÉÒÔ½«¾Í¡£
ÖÁÉÙÎÒÃÇ¿ÉÒÔ¿´³öRedhatµÄDZÔÚ½¨ÒéÊÇÈÃÎÒÃǰÑеÄÕ¾µã·ÅÔÚconf.dÏÂÃæ£¬ÎÒ½¨ÒéµÄÃüÃûÊÇwww.devops.org.conf¡£
ÄÇôÎÊÌâÀ´ÁË£¬Èç¹ûÎÒÒªÔÝʱ¹Ø±ÕÕâ¸öÕ¾µãÔõô°ìÄØ£¿ÔÚÕâ¸ö½á¹¹Ï£¬ÎÒÃÇÖ»Òª°Ñwww.devops.org.conf´Óconf.dÀïÒÆ³öÀ´ÔÙreloadһϾͿÉÒÔÁË¡¡¶Ô£¬ÊÇÒÆ³öÀ´£¬²»ÊÇɾ³ý¡£ÒòΪÎÒÃǺóÃæ¿ÉÄÜ»¹ÒªÓá£
´Ëʱwww.devops.org.conf·ÅÔÚnginxĿ¼Ï£¬ÏÔµÃÓеã¸ñ¸ñ²»È룬ÄÇôÎÒÃǸɴཨһ¸öÎļþ¼Ð½Ðdisabled-sites£¬°Ñwww.devops.org.conf·ÅÔÚdisabled-sitesÏÂÃæµÃÁË£¬ÒÔºóÒªÊÇÔÙÆôÓøÃÕ¾µã£¬¾ÍÖ±½Ó·ûºÅÁ¬½Óµ½conf.dÏÂÃæ¡£
ÔÙÑݽøÒ»²½ÎÒÃǾÍÓÐÁËÈçϵĽṹ£º
°ÑÕ¾µã·ÅÔÚsites-*Àï¡£availableÀï·ÅÖÃËùÓÐÕ¾µãµÄÅäÖÃÎļþ£¬Í¨¹ý·ûºÅÁ¬½Óµ½enabledĿ¼ÏÂÆôÓá£
Èç¹ûÒªÁÙʱ¹Ø±ÕÕ¾µã£¬¿ÉÒÔɾ³ýenabledϵķûºÅÁ¬½Ó¡£Õâ¸ö½á¹¹¾Í·Ç³£ÊʺÏDevOpsÓýű¾½øÐйÜÀí¡£
¶ÔÓÚ°¸Àý3£º¹ØÓÚsysctlµÄÐ޸ģ¬DevOps·½·¨ÊÇÔÚ/etc/sysctl.dÏÂÃæ£¬°´ÕÕÃüÃû¹æÔòÌí¼ÓÒ»¸öÎļþ£¬°ÑÐèÒªÌí¼ÓµÄ²ÎÊý·Åµ½ÐÂÎļþ¼´¿É¡£
ÕâÑùÒ»À´¿ÉÒÔ·½±ã²é¿´×Ô¼ºÐÞ¸ÄÁËÄÄЩ£¬±ãÓÚÈ·ÈÏ£¬¶þÀ´¿ÉÒÔ³ÖÐø¼¯³É£¬Í¨¹ýÎļþµÄÐÎʽ±£Áô×Ô¼ºË¼¿¼µÄ·¾¶¡£
ͨ¹ýÉÏÃæ3¸öÊÂÀýµÄÑݽø£¬ÎÒÃÇÒѾÇåÎúµÄ¸Ð¾õµ½£¬ÉÏÃæÈý¸ö²½ÖèÏÖÔÚ¿ÉÒÔÂíÉÏÓýű¾×Ô¶¯»¯ÆðÀ´¡£µ«ÊÇÑݽøÖ®Ç°È·ÊµºÜÄѰ쵽¡£
Èç¹ûûÓÐOpsµÄÑݽø£¬ÔÙÅ£XµÄDevËûÒ²ÎÞ·¨Íê³É×Ô¶¯ÅúÁ¿¹ÜÀíÒÔÉϵÄÒµÎñÐèÇó¡£
DevµÄÑݽø
ÎÒ×÷ΪDevµÄʱ¼äÒª±È×÷ΪOpsµÄʱ¼ä³¤ºÜ¶à¡£8Äêǰ´ÓWindowsתµ½Unix-likeÏ£¬ÎÒÃÇ¿´ÏÂÁ½¸ö²»Í¬ÏµÍ³Ï£¬DevµÄ˼·µÄ²î±ð¡£
д¹ýWindows³ÌÐòµÄÈ˶¼ÓÐÒ»¸ö·Ç³£¼á¶¨µÄÐÅÄî¾ÍÊÇAPI£¬WindowsϵͳÏÂÊÂÎÞ¾Þϸ¶¼»áÓжÔÓ¦µÄAPI£¬ÓÈÎªÖøÃûµÄÊÇ×¢²á±íµÄAPI£¬»¹ÓÐÒ»¸öµäÐ͵ÄÊÇ·þÎñAPI(Windows
Services)¡£
ÄãÒª¸Ä¸öɶÅäÖã¬Òª´´½¨Ò»¸öService¶¼±ØÐëµÃÓÃAPIÀ´Íê³É¡£¸´ÔÓµãµÄ±ÈÈçдһ¸ö¶Ë¿ÚɨÃèµÄÒªÓõ½socketºÍ¶àÏ̵߳ÄAPIµÈµÈ¡£Õâ¸ö¶Ë¿ÚɨÃè˵À´ÒµÎñÂß¼±¾ÉíºÜ¼òµ¥£¬µ¹ÊdzÌÐòÂß¼¸ãµÄ¸´ÔӵIJ»µÃÁË¡£
¶øUnix-likeµÄϵͳ£¬ÑØÏ®×ÅUnixµÄÕÜѧÆäDevµÄ˼·ÓÖÊÇÁíÍâÒ»Ìס£ÐÞ¸ÄÅäÖã¬Ö±½Ó³åµ½ÎļþÀï¸Ä£¬´´½¨Ò»¸ödaemon/serviceÖ±½Óд¸öshell½Å±¾·Åµ½ÏµÍ³¼´¿É£¬ÍêÈ«²»±ØÒªAPI¡£
ËùÓеÄÒ»ÇÐÎÞÂÛÊÇÔÚDev»¹ÊÇOpsÃæÇ°¶¼ÊÇһĿÁËÈ»¡£Ç°ÃæÌáµ½µÄ¶Ë¿ÚɨÃè¸üÊÇÖ±½ÓÓÃpython/ruby/shell
Ö±½Óµ÷ÓÃnmap¸ã¶¨£¬Ð§Âʸߣ¬¹¦ÄÜÇ¿´ó£¬Îȶ¨ÐԺͼæÈÝÐÔ¶¼²»´í¡£
ÎÒÈÏΪÕâÊÇDevÒª½è¼øµÄ£¬Ò²ÊÇ˼ÏëÉÏ×î´óµÄ²î±ð¡£
ͳͳÓÃAPI×ö³öÀ´µÄ¶«Î÷£¬Ò»ÊÇÈÝÒ×ÈÃOpsһͷÎíË®£¬¸ã²»Çå³þ£¬ºÜÄѲÎÓ룬¶þÊÇÓÐЩ¹¦ÄÜʵÏÖÆðÀ´Òª´ïµ½×ã¹»µÄÐÔÄÜ£¬Ç¿´ó£¬Îȶ¨ÒÔ¼°Á¼ºÃµÄ¼æÈÝÐÔÊǷdz£À§Äѵġ£
nmapµÚÒ»°æ±¾ÊÇ1997.9·¢²¼µÄ£¬Àú¾18¸öÄêÍ·£¬ÕâÑùµÄ¹¤¾ßÎÒÃÇÒ»³¯Ò»Ï¦ÊÇÄÑÒÔʵÏֵġ£
¹ØÓÚDevתDevOpsµÄ½¨Òé
¼øÓÚÒÔÉϵÄÌÖÂÛ£¬ÎÒ¸øDev¼´½«×ªµ½DevOpsµÄͬѧÃǵĽ¨ÒéÊÇ£º
ÊÔ×öÒ»¸öÓоÑéµÄOps£¬·Åϱà³ÌÓïÑÔ£¬´ÓÃüÁîÐпªÊ¼£¬´ÓShell¿ªÊ¼£»
Àí½â²Ù×÷ϵͳµÄÕÜѧ£¬Unix-likeϹܵÀÁ¬½ÓÒ»ÇÐÃüÁÎļþ´ú±íÒ»ÇÐÅäÖã»
Àí½âOpsµÄºËÐÄÖ¸±ê£¬±ÈÈç¸ß¿ÉÓ㬼æÈÝÎȶ¨£¬¿ÉÖØÈ룬¹ÊÕÏÈÝÔÖ£»
ÔÚ¼á³ÖOps-styleµÄǰÌáÏ£¬Í¨¹ý³ÌÐòÉè¼ÆË¼Ï뽫DevOpsµÄ´úÂë½Å±¾µÄ²ú³ö²ã´Î»¯£¬Ä£¿é»¯£¬Ê¹Ö®´ïµ½¸ß¸´Óã»
DevºÍOpsµÄÁíÍâÒ»¸öÇø±ðÊÇ£¬ÒÔÍùDev×¢ÖØµÄÊǾßÌ幦ÄÜ¿ª·¢£¬¶øOpsÌìÉúÒª¹Ø×¢µÄÊÇϵͳµÄÕûÌå¹ÜÀí¡£
¹¦ÄÜ¿ª·¢×¢ÖØÂß¼µÄÕýÈ·£¬1£«1=2£»µ«ÊÇOpsÒªÇóÒµÎñºÍ½á¹ûµ¼Ïò£¬ÓÐʱ1+1¿ÉÄÜÊÇÎÞÇî´ó£¬±ÈÈç´ÅÅÌÂúÁË¡£
²¹³ä1£º±à³ÌÓïÑÔºÍShellÔÚDevOpsµÄ¹ØÏµ
´Ó×Ô¶¯»¯²¿Ê𹤾ßÀ´¿´ËûÃǵĹØÏµ£¬Python/Rubyͨ¹ýÒµÎñÂß¼°Ñ²úÉú³öÏà¹ØÎļþºÍShellÓï¾äͨ¹ýÏÂÃæÁ½ÖÖ·½Ê½Ö´ÐУº
»ùÓÚssh£»
»ùÓÚAgent£¨¹ÃÇÒÈÏΪÊÇRPCµÄÒ»ÖÖ·½Ê½£©¡£
Òò´ËPython/Ruby×÷ÓÃÊÇ£º±àÅÅºÍÆô¶¯ShellÓï¾äµÄ×÷Ó㻾ßÌåʵÏÖ¹¦ÄÜ£¬ÔòÈÔÊÇShellÓï¾ä¡£
¸ù¾ÝÕâÖÖ¹ØÏµ£¬ÎÒÃDz»ÄÑ·¢ÏÖÒÔÉÏÁ½ÖÖ·½Ê½´æÔÚÏÖʵµÄ¾ÖÏÞÐÔ£º
ÖÚ¶àÃüÁîÖ´ÐÐÇé¿öÏ£¬sshЧÂʲ»¸ß£»
AgentЧÂÊËäÈ»¸ß£¬µ«ÊÇ¿ª·¢ºÍµ÷ÊԳɱ¾ºÜ¸ß£¬ÁíÍâAgent¶ÔÓÚOpsÊÇ͸Ã÷¡¢²»¿É¿ØµÄ£¬Ò»ÏßOpsÔÚAgent³öÁËÎÊÌâºó£¬ºÜÄѽéÈëµ÷ÊÔ¡£
ÎҵĽ¨ÒéÊÇÔÚshell×öÎÄÕ£¬¼´»ùÓÚshell½Å±¾µÄ»úÖÆÍê³ÉÔ¶¶ËÒµÎñÂß¼µÄ¹¤×÷£¬Í¨¹ýssh»òÕßagentµ÷Óýű¾Ö´Ðй¦ÄÜ£¬ÕâÑùÌá¸ßÁËЧÂÊÓÖ±ãÓÚOps²ÎÓë½Å±¾µÄ±àдºÍµ÷ÊÔ¡£
½áÂÛ£ºDevOpsµÄÂäµãÊÇOps£¬Python/RubyµÄÂäµãÊÇshellºÍcommands¡£
Python/RubyµÄÓÅÊÆÊÇÒµÎñÂß¼£¬Îļþ´¦ÀíµÈ£¬ÄªÓÃPython/RubyȥʵÏÖshellºÍcommandsÉó¤µÄ¡£
²¹³ä2£º±à³ÌÓïÑÔÔÚDevOpsµÄÒâÒå
Python/RubyÌåÏÖµÄÖØÒªÐÔÊdzÌÐòÉè¼ÆµÄ˼Ï룬shellºÍcommandsµÄÖØÒªÐÔÔÚÓÚ£¬ÏµÍ³×îÖÕÓÉËûÃǸı䡣
ÒÔǰÊÇOpsÍæshellºÍcommands£¬ÏÖÔÚÊÇDevOpsͨ¹ýPython/RubyÍæshellºÍcommands£¬ËùÒÔ±¾ÖÊ»¹ÊÇshellºÍcommands¡£
¾ÍÏñ»¥ÁªÍøºÍ´«Í³ÐÐÒµÒ»Ñù£¬Óл¥ÁªÍø´«Í³ÐÐҵתµÄ¸üºÃ£¬µ«ÊÇûÓл¥ÁªÍø´«Í³ÐÐÒµÒ»Ñùת£»¶øÈç¹ûûÓд«Í³ÐÐÒµ£¬¹À¼Æ·¹¶¼³Ô²»ÉÏ£¬»¥ÁªÍøÒ²¾Í²»´æÔÚÁË¡£
²¹³ä3£º²Ù×÷ϵͳÄÜÁ¦Ä£ÐÍ
¸ù¾ÝÇ°ÃæµÄ½áÂÛ£¬ÎÒÈÏΪDevOpsµÄºËÐľºÕùÊÇÔÚShellºÍCommandsµÄ¾ºÕù¡£¶ø²Ù×÷ϵͳÄÜÁ¦µÄÌáÉýÒ²½«ÊÇShellºÍcommandsµÄÌáÉý¡£
ÊÔÏëÈç¹ûûÓÐyum/apt£¬Ã»ÓÐsed£¬Ã»ÓÐiptables£¬Ã»ÓÐvirshÕâÑùµÄÖ¸ÁÎÒÃÇÊÇ·ñ´ç²½ÄÑÐУ¿´ð°¸µ±È»Êǿ϶¨µÄ¡£
ÓÐÈË˵£¬¿ÉÒÔͨ¹ýc/python/rubyʵÏÖ£¬·´Õý¶¼ÓÐapi£¬ÕâÊÇ´íÎóµÄÂÖ×Ó˼·¡£
ÎÒ¿ÉÒԿ϶¨µÄ˵£¬ÎÒÃǼ¸ºõûÓÐÄÜÁ¦³¬Ô½ÏÈÏÍÃÇÀú¾ÊýÊ®ÄêÀÛ»ýµÄ³É¹û¡£¼´±ã¿ÉÒÔÎÒÃÇ×ö³öÀ´ÀàËÆµÄ¶«Î÷£¬Ò²ºÜÄѳ¬Ô½ÕâЩ¼ÈÓеŤ¾ß£¬ÕâЩ¹¤¾ßÓÅÐãÖ®´¦³ýÁËÖǻۣ¬»¹ÓÐʱ¼äÒÔ¼°Êµ¼ùµÄ¼ìÑé¡£
µ«ÊÇÓÐÒ»¼þÊÂÎÒÃÇÊÇ¿ÉÒÔ×öµÄ£¬¾ÍÊǰѲÙ×÷ϵͳҵÎñÄÜÁ¦ÌáÉýÆðÀ´¡£ÎÒÈÏΪµÄ²Ù×÷ϵͳÄÜÁ¦Ä£ÐÍÀΨȱ´ËÒ»Ïî¡£
ÎÒÃDz»ÐèÒªÔÙдһ¸öiptables£¬sed£¬yum/apt£¬ÎÒÃÇ¿ÉÒÔ°ü×°ËûÃÇ£¬Í¨¹ýÃüÁîµÄ×éºÏºÍÂß¼µÄÅжϣ¬ÑÜÉú³öרÓõÄÒµÎñÄÜÁ¦¡£
RedHatÏÂÓв»ÉٺõÄÀý×Ó£¬±ÈÈçservice iptables saveµÄ¹¦ÄÜ¡£´Ë¹¦ÄܵÄÒâÒåÈçÏ£º
ÌṩÁËͳһµÄµ÷Ó÷½Ê½£¬²¢ÇÒ·â×°ÒµÎñÂß¼£¬±ãÓÚÆäËû½Å±¾Ê¹Óã»
ͳһµÄÎļþ´æ·ÅλÖ㬱ãÓÚ×Ô¶¯¼ÓÔØ£¬¹ÜÀíºÍ±¸·Ý£»
ͬʱÌṩÁËrestoreµÄÃüÁî¡£
Õâ¾ÍÊÇÒ»ÖÖ²Ù×÷ϵͳµÄÄÜÁ¦¡£ÕâÖÖÄÜÁ¦ÔÚLinuxµÄһЩ·ÖÖ§ÉÏÊÇûÓеģ¬ÎÒÃǾͱØÐë×Ô¼º±àд½Å±¾ÊµÏִ˹¦ÄÜ¡£µ«ÊÇдÀ´Ð´È¥£¬Ð´µÃ×îºÃÒ²¾ÍÊǸúRedHat´óͬСÒ죬µ«ÊÇÈ´»¨ÁËÎÒÃǵı¦¹óµÄʱ¼ä¡£
ÊÔÏëÔÚÓµÓÐÕâÖÖÄÜÁ¦µÄRedHatÉÏÃæ£¬DevOps¿ª·¢Ò»¸öÅúÁ¿±£´æiptablesµÄ¹¦ÄÜÊÇ·ñ¸üÈÝÒ×ÄØ£¿
|