Hosting Casual Talks #3
ΣϒαʔϏεͷ$FOU04ఫୀZ@VVLJ)PTUJOH$BTVBM
View Slide
@y_uuk1id:y_uukiΣϒΦϖϨʔγϣϯΤϯδχΞ@ͯͳ
CentOS 5EOL
͋ͱ9ϲ݄
EOLΕϦεΫ• ੬ऑੑରԠ͕͘͠ͳΔ• OpenSSLͳͲͷηΩϡϦςΟύονͷ͋ͨͬͨύοέʔδͷߋ৽͕ͳ͘ͳΔ• ֎෦αΠτͷTLSࣄʹ͍͚ͭͳ͘ͳΓɺଓͰ͖ͳ͘ͳΔ• CentOS 5ͷOpenSSL0.9.8ܥͰݹ͍• TLS 1.2ʹඇରԠ + SNI͕͑ͳ͍ͳͲ
1000+ CentOS5100+ roles
ରࡦ͢Δαʔόͷબ• ϦόʔεϓϩΩγ• ֎෦͔ΒଓΛड͚͚ΔɻTLSଓ͢Δͷ༏ઌ• ΞϓϦέʔγϣϯαʔόɺόοναʔόɺϫʔΧ• ͳΜΒ͔ͷϏδωεॲཧΛ࣮ߦ͢Δαʔό• Ϋϩʔϥ֎෦APIΛୟ͘ͱ͜ΖΛ༏ઌ• ϦεΫͷ͍σʔλϕʔεޙճ͠• ͦͷଞ֎෦ͱͷͷͳ͍ཧܥαʔόޙճ͠
ରࡦํ• ☓ ࣗͰηΩϡϦςΟύονΛ͋ͯΔ• ࠷ऴखஈͱ͍ͨ͠• ☓ CentOS 7ʹΞοϓάϨʔυ• ○ ଞͷσΟετϦҠߦ• 5લ͔Β৽αʔϏεDebian
DebianԽʢϓϩΩγʣ• ݱࡏͷڥ Apache2 or Nginx• httpd.conf͕؆୯ͳͷNginx• ؆୯Ͱͳ͍ͷApache 2ͷ࠷৽൛• 300ߦͷRewriteRule• ςετίʔυΛॻ͍ͯಈ࡞֬ೝ͢Δ
https://github.com/yuuki/yuuki/blob/master/misc/proxy-config-test.md
DebianԽʢΞϓϦέʔγϣϯʣ• mod_perl1, mod_perl2ΛDebianͰϏϧυ• rpmԽ͞ΕͨCPANϞδϡʔϧཧΛcpanfileԽ• XSͳͲCͷϥΠϒϥϦʹґଘ͢Δͷ͋ΔͨΊɺDebianͰϏϧυͰ͖Δ͔Ͳ͏͔
mod_perl1, mod_perl2ΛϏϧυ• ϏϧυͰ͖ͳ͍ͷͳΒϞμϯͳڥʢPlackʣʹҠߦ͢Δඞཁ͕͋Δʢͷ͘͢͝େมʣ• DockerfileͰϏϧυ͠ϑΝΠϧαʔόʹઃஔ• ChefͰ /opt/httpdʹઃஔ͢Δ͚ͩ• Perlґଘ͕͋ΔͨΊdebύοέʔδԽ͕໘
IUUQTHJUIVCDPNZVVLJEPDLFSpMFTUSFFNBTUFSNPE@QFSM
cpanfileԽ• rpm -qa perl ͔Βੜ• ҰൃͰ carton install ͕௨ΔΑ͏ʹͳΔ·Ͱͱʹ͔͕͘ΜΔ• ಈ࡞֬ೝͯ͠ಈ͔ͳ͔ͬͨΒɺCPANϞδϡʔϧͷόʔδϣϯͷࠩΛٙ͏
initεΫϦϓτ vs daemontools• Systemd …• daemontoolsͰࠔ͍ͬͯͳ͍ͷͰdaemontoolsԽ• daemontoolsมԽ͕ͳ҆͘ఆ͍ͯͯ͠ࠓޙ҆৺
ม͑ͳ͍ͷ• Perlͷόʔδϣϯ• mod_perlϝδϟʔόʔδϣϯ• Apacheϝδϟʔόʔδϣϯ• CPANϞδϡʔϧͷόʔδϣϯ• ݹ͍ͷ͕खʹೖΒͳ͍Մೳੑ͋Δ
Ұ൪େมͳͷಈ࡞֬ೝ
ಈ࡞֬ೝ• ݹ͍ΞϓϦέʔγϣϯςετ͕ͳ͍• खಈͰ͕ΜΔ• ϓϩΩγઃఆͷςετͲ͏͢Δͷ͔• PerlͰૉʹHTTPΛୟ͘ςετΛॻ͍ͯΔ
ೖΕସ͑࡞ۀ• ϩʔυόϥϯαԼʹ1͚ͩೖ༷͠ࢠݟ• ΤϥʔϩάͳͲΛSlackʹྲྀ͢• ͕ى͖ͨΒ͢• શೖΕସ͑
Debian8ͷEOL2020-06ʢLTSʣ
͋ͱ4
ΞοϓσʔταΠΫϧΛճ͠ଓ͚ΔͨΊʹ
࡞ۀ༰͓͞Β͍• ৽OS্Ͱmod_perlϏϧυ• cpanfile࡞• αʔόͷ࡞Γ͠ͱஔ͖͑• ΞϓϦέʔγϣϯͷಈ࡞֬ೝ• ϓϩΩγͷಈ࡞֬ೝ
ϛυϧΣΞґଘ͠ͳ͍ςετ• Apache => nginxͷΑ͏ʹಉׂ͡ͷϛυϧΣΞΛϦϓϨΠε͢Δ͜ͱ͕͋Δ• ઃఆϑΝΠϧΛςετ͢ΔͷͰͳ͘ɺ֎͔ΒΈͨৼΔ͍Λςετ͢Δ• ϓϩΩγͷ߹ɺ࣮ࡍʹϦΫΤετ͢ΔςετΛॻ͘
ΞϓϦέʔγϣϯڥͷ• ͍·ͩͱαʔό͝ͱ৽͘͠༻ҙͯ͠ೖΕସ͕͑ඞཁ• ݹͯ͘ࠔΔͷΞϓϦέʔγϣϯ• ΞϓϦέʔγϣϯ࣮ߦڥΛಠཱͯ͠Ξοϓσʔτ͍ͨ͠• ίϯςφԽ (chrootɺDocker)
͓ΘΓ