ผู้ดูแลเซิร์ฟเวอร์

คำถาม & คำตอบสำหรับผู้ดูแลระบบและเครือข่าย

5
คุณจะเลือกเอ็นจินฐานข้อมูล MySQL ได้อย่างไร
โดยเฉพาะอย่างยิ่งคุณจะเลือกระหว่าง MyISAM และ InnoDB อย่างไรเมื่อไม่มีคุณสมบัติที่จำเป็นขาดหายไป (เช่นคุณไม่ต้องการคีย์ต่างประเทศ) มันลงมาเพื่อลองทั้งสองอย่างและวัดได้หรือไม่? หรือมีกฎง่ายๆเกี่ยวกับจำนวนและความถี่ของการอ่านเปรียบเทียบกับการเขียนและมาตรการอื่น ๆ เช่นนั้น? ขนาดของตารางมีผลกับตัวเลือกทั่วไปหรือไม่?
16 mysql  innodb  myisam 

1
มีความสับสนระหว่าง ActiveMQ และ ActiveMQ-Artemis หรือไม่?
ใครสามารถอธิบายความแตกต่างระหว่างActiveMQและActiveMQ-Artemis ได้หรือไม่? จากสิ่งที่ฉันเข้าใจในWikipediaนั้น ActiveMQ-Artemis นั้นเป็นตัวตายตัวแทนของ ActiveMQ แต่ถ้าเป็นเช่นนั้นฉันไม่เข้าใจว่าทำไม Artemis จึงถูกระบุว่าเป็นโครงการย่อยของ ActiveMQ ยิ่งไปกว่านั้นถ้าฉันดูการกำหนดเวอร์ชันสำหรับ ActiveMQ และ ActiveMQ-Artemis ฉันจะเห็นว่าเวอร์ชันนั้นแตกต่างอย่างสิ้นเชิง ActiveMQ อยู่ที่ 5.15 และ Artemis อยู่ที่ 2.2 จากสิ่งที่ฉันเข้าใจ Artemis นั้นเร็วกว่าและมีการติดตั้งใช้งานล่าสุดรวมถึงการรองรับ JMS 2.0 เมื่อพิจารณาการติดตั้งใหม่และการปรับใช้แพลตฟอร์ม MQ ควรพิจารณา ActiveMQ 5.15 ว่าเลิกใช้แล้วหรือไม่แทน Artemis?
16 activemq 

1
ใน AWS วิธีตรวจสอบทรัพยากรที่ใช้ที่อยู่ IP ของ VPC
ตามที่ Amazon และการทดสอบของฉันเครือข่ายย่อย 24 VPC อนุญาตให้มีที่อยู่ IP 251 ที่มีอยู่ ฉันมีซับเน็ตอื่นอีก 2 ตัวใน VPC นั้นซึ่งดูเหมือนว่าไม่มี IP ที่ใช้โดย EC2 และฟิลด์ IP ที่มีอยู่บ่งชี้ว่ามีเพียง 250 รายการเท่านั้น ฉันเช็คแล้ว ฉันกำลังพยายามหาว่าทรัพยากรใดกำลังใช้ IP เหล่านั้น แต่ดูเหมือนว่า AWS ไม่อนุญาตให้ใช้แบบสอบถามชนิดนั้น สิ่งที่ฉันต้องการจะดูคือรายการของทรัพยากรที่ใช้ IP สำหรับเครือข่ายย่อย VPC เฉพาะ ถ้าใครสามารถทำให้กระจ่างบางอย่างเกี่ยวกับสิ่งที่บริการ AWS สามารถใช้ IP ของเครือข่ายย่อยยกเว้น EC2 ที่จะช่วยด้วย ขอบคุณ

5
การป้องกันแอ็พพลิเคชันอื่นจากการเชื่อมกับพอร์ต 80 และ 443
สัปดาห์ที่แล้วฉันได้รับโทรศัพท์จากลูกค้าที่กลัวเพราะเขาคิดว่าเว็บไซต์ของเขาถูกแฮ็ก เมื่อฉันค้นหาเว็บไซต์ของเขาฉันเห็นapache2หน้าเริ่มต้น คืนนั้นเซิร์ฟเวอร์ของฉัน ( Ubuntu 16.04 LTS) อัพเกรดและรีบูตแล้ว โดยปกติเมื่อมีสิ่งผิดปกติฉันจะได้รับการแจ้งเตือนในช่วงกลางคืน เวลานี้ไม่ได้เนื่องจากระบบการตรวจสอบจะตรวจสอบรหัสสถานะ HTTP 200 และapache2หน้าเริ่มต้นจะมาพร้อมกับรหัสสถานะ 200 สิ่งที่เกิดขึ้นคือในระหว่างการเริ่มต้นapache2เร็วกว่าที่จะผูกกับพอร์ต 80 และ 443 กว่าเว็บเซิร์ฟเวอร์จริงของฉัน nginx ฉันไม่ได้ติดตั้ง apache2 ด้วยตนเอง ผ่านaptitude why apache2ฉันพบ php7.0 แพ็คเกจต้องการมัน การเอาออกเพียงอย่างเดียวapache2จะไม่ทำงานเพราะ php7.0 นั้นต้องการมัน เป็นไปได้หรือไม่ที่จะสร้างข้อ จำกัด เพื่ออนุญาตให้ nginx เท่านั้นที่เชื่อมโยงกับพอร์ต 80 และ 443 โซลูชันอื่น ๆ ก็ยินดีต้อนรับเช่นกัน

1
ความแตกต่างระหว่าง / dev / vda และ / dev / sda คืออะไร
ฉันกำลังเตรียมการรับรองและมี CentOS7 (VirtualBox) ที่ติดตั้งในเครื่องและอีกอินสแตนซ์อื่นในบริการบนคลาวด์ ในระบบท้องถิ่นฉันมีและบนเมฆตามฉันมี/dev/sda/dev/vda ตอนนี้ฉันสงสัยว่าความแตกต่างนี้หมายถึงอะไรกันแน่? มีมาตรฐาน (เอกสารประกอบ) สำหรับการตั้งชื่อของอุปกรณ์นี้และชื่อต่าง ๆ มีไว้เพื่ออะไร? แก้ไข: ฉันคิดว่าเอกสารนี้มีประโยชน์มากในการเข้าใจการตั้งชื่อ: https://www.kernel.org/doc/Documentation/admin-guide/devices.txt 8 block SCSI disk devices (0-15) 0 = /dev/sda First SCSI disk whole disk 16 = /dev/sdb Second SCSI disk whole disk 32 = /dev/sdc Third SCSI disk whole disk ... 240 = /dev/sdp Sixteenth SCSI …

2
วิธีโอนย้าย LDAP (ฐานข้อมูลสคีมาการกำหนดค่า) ไปยังเครื่องอื่น
ฉันใช้ openldap 2.4.40 และฉันจำเป็นต้องย้ายฐานข้อมูล ldap ที่มีอยู่การกำหนดค่าและสคีมา (โดยทั่วไปทุกอย่างเกี่ยวกับเซิร์ฟเวอร์ ldap) ไปยังเครื่องใหม่ ปัญหาคือฉันใช้การกำหนดค่า cn = config ไม่ใช่ไฟล์ slapd.conf เก่าอีกต่อไป เอกสารที่จัดทำโดย openldap และเว็บไซต์บุคคลที่สามอื่น ๆ จะช่วยในการโยกย้ายเซิร์ฟเวอร์ LDAP slapd.conf ไม่ใช่เซิร์ฟเวอร์ LDAP ที่มีไฟล์การกำหนดค่า cn = config ที่ใหม่กว่า และฉันยังมี schema ใหม่ (จากประเภทและ objectclass) มีวิธีการโยกย้ายเหล่านี้ไปยังเครื่องใหม่ได้อย่างง่ายดายที่สุด? ฉันต้องการวิธีอื่นนอกเหนือจากการกำหนดค่าใหม่และเพิ่มสคีมาของฉันด้วยตนเองทีละเครื่องในเครื่องใหม่ สิ่งนี้จะทำโดยมีเจตนาที่จะปิดเครื่องเก่าน่าจะเป็นไปได้ TL; DR มีวิธีใดที่จะย้ายฐานข้อมูล LDAP, schema, การกำหนดค่าจากเซิร์ฟเวอร์ LDAP 1 ไปยังเซิร์ฟเวอร์ LDAP ใหม่โดยสะดวกโดยมีเจตนาที่จะปิดเครื่องเก่า ขอขอบคุณ. …

1
การเอาชนะ nginx access_log directive - รายการบันทึกที่ซ้ำกัน
ฉันใช้แพคเกจเริ่มต้น nginx บนเซิร์ฟเวอร์ Ubuntu 14.04 มันถูกใช้/etc/nginx/nginx.confเป็นหลักการตั้งค่าและจากนั้นรวมถึงการกำหนดค่าจากและ/etc/nginx/conf.d/*.conf/etc/nginx/sites-enabled/* การกำหนดค่า nginx เริ่มต้นมีคำสั่งนี้สำหรับการบันทึกการเข้าถึงบันทึก access_log /var/log/nginx/access.log; ฉันต้องการเพิ่มส่วนหัว X-Forwarded-For ดังนั้นฉันจะทำสิ่งนี้ภายในconf.dโฟลเดอร์: log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; ปัญหาที่ฉันมีคือเมื่อนั้นฉันจะได้รับสองระเบียนภายในไฟล์ access.log ของฉัน - หนึ่งที่มีข้อมูลส่วนหัวและอีกรายการหนึ่งที่ไม่มี ฉันรู้ว่าฉันสามารถเขียนทับnginx.confไฟล์ตัวเอง แต่ฉันควรหลีกเลี่ยงถ้าเป็นไปได้ ฉันต้องการใช้แฟ้มบันทึกเดียวกันต่อไป ( access.log) มีวิธีบอก nginx เพื่อแทนที่คำสั่งก่อนหน้าและเพียงแค่เปลี่ยนรูปแบบการบันทึกโดยไม่ต้องแก้ไขnginx.confไฟล์หลักหรือไม่

1
คุณจะรีเซ็ตคนจรจัดกลับสู่สถานะเดิมได้อย่างไร
วิ่ง "เร่ร่อนขึ้น" และทำการเปลี่ยนแปลงบางอย่าง ต้องการกลับไปติดตั้งใหม่ทั้งหมด คุณจะรีเซ็ตคนจรจัดกลับสู่สถานะเดิมได้อย่างไร คุณเรียกใช้ "คนจรจัดทำลาย" แล้ว "คนจรจัดขึ้น" หรือคุณ "กล่องคนจรจัดลบ" และ "คนจรจัดขึ้น"
16 vagrant 

3
เชื่อมต่อ RDP เริ่มต้นช้ากับ Windows 10
ตั้งแต่การอัพเกรดเครื่องจาก Windows 8.1 Professional เป็น Windows 10 Professional (เวิร์กกรุ๊ปไม่มีสมาชิกโดเมน) ฉันพบปัญหาที่ค่อนข้างแปลกที่ฉันไม่สามารถเข้าใจได้ การเชื่อมต่อเดสก์ท็อประยะไกลเริ่มต้นนั้นช้ามากในการเชื่อมต่อ (ตามลำดับสองนาที) อย่างไรก็ตามหลังจากทำการเชื่อมต่อเริ่มต้นแล้วฉันสามารถปิดการเชื่อมต่อและเชื่อมต่อใหม่ได้ทันที นอกจากนี้หลังจากทำการเชื่อมต่อเริ่มต้นแล้วฉันสามารถปิดการเชื่อมต่อและเชื่อมต่ออีกครั้งโดยใช้เครื่องอื่นโดยไม่ต้องรอนาน ฉันได้ทดสอบไคลเอนต์เดสก์ท็อประยะไกลบน Windows 7, 8.1 และ 10 และทุกคนประสบการเชื่อมต่อเริ่มต้นช้าเหมือนกันกับเครื่อง Windows 10 ดังนั้นฉันเชื่อว่าปัญหาอยู่ที่ฝั่งเซิร์ฟเวอร์ สิ่งที่ฉันพยายาม: ปิด "ราก Automatic Update ใบรับรอง" (Computer Configuration -> Administrative Templates -> System -> Internet Communication Settings -> Turn Off Automatic Root Certificates Update)ผ่านนโยบายคอมพิวเตอร์เฉพาะ: คำแนะนำจากtechnetโดยผู้ใช้ "dsoic" …

3
เปลี่ยนค่าเริ่มต้นของการเปลี่ยนแปลงได้ตามเงื่อนไข
เป็นไปได้หรือไม่ที่จะเปลี่ยนค่าเริ่มต้นของตัวแปรบทบาทตามเงื่อนไขบางประการ (เช่นค่าของตัวแปรอื่น) รายละเอียด ฉันมีสองตัวแปรที่เกี่ยวข้องสำหรับคำสั่งและenvcomposer_opts หากทั้งคู่ถูกปล่อยไว้ที่ค่าเริ่มต้น ( env = "prod"และcomposer_opts = "--no-dev") ทุกอย่างก็โอเค ถ้าฉันเปลี่ยนenvไปdevเริ่มต้นสำหรับคนอื่น ๆ จะทำลายคำสั่งของฉันดังนั้นฉันมักจะต้องตั้งค่าทั้ง เป็นไปได้ไหมที่จะหลีกเลี่ยงปัญหานี้โดยการตั้งค่าเริ่มต้นตามเงื่อนไขด้วยสคริปต์ที่กำหนดเอง / หาก สำคัญ: ฉันไม่ต้องการที่จะเสมอตั้งcomposer_optsค่าตามenvค่า ฉันต้องการตั้งค่าเฉพาะเมื่อยังไม่ได้ตั้งค่า (เช่นค่าเริ่มต้นแบบไดนามิก) pseudocode ฉันต้องการทำอะไรเช่นนี้ (รหัสต่อไปนี้ไม่ถูกต้องเพียงรหัสเทียมเพื่อแสดงความต้องการของฉัน) --- # defaults/main.yml env: prod composer_opts: when: "{{env}}" = 'prod' '--no-dev --optimize-autoloader --no-interaction' when: "{{env}}" = 'dev' ''
16 ansible 

2
Multipath routing ใน 3.6 kernels
อย่างที่คุณคงทราบกันแล้วว่าเส้นทาง IPv4 cache นั้นถูกลบออกไปในชุดเคอร์เนล 3.6 Linux ซึ่งมีผลกระทบร้ายแรงต่อการกำหนดเส้นทางแบบหลายเส้นทาง รหัสการกำหนดเส้นทาง IPv4 (ไม่เหมือนกับ IPv6 หนึ่ง) เลือกการกระโดดแบบถัดไปในแบบปัด - โรบินดังนั้นแพ็กเก็ตจาก IP ต้นทางที่กำหนดไปยัง IP ปลายทางที่กำหนดไม่เสมอไปในการข้าม Hop ครั้งถัดไป ก่อน 3.6 3.6 การกำหนดเส้นทางแคชกำลังแก้ไขสถานการณ์ดังกล่าวเนื่องจาก hop ถัดไปเมื่อเลือกแล้วยังคงอยู่ในแคชและแพ็กเก็ตเพิ่มเติมจากแหล่งเดียวกันไปยังปลายทางเดียวกันนั้นจะผ่าน hop ในครั้งถัดไป ต่อไปนี้ hop ถูกเลือกใหม่สำหรับแต่ละแพ็คเก็ตซึ่งนำไปสู่สิ่งที่แปลก: ด้วย 2 เส้นทางเริ่มต้นที่มีค่าใช้จ่ายเท่ากันในตารางเส้นทางแต่ละชี้ไปที่ผู้ให้บริการอินเทอร์เน็ตรายหนึ่งฉันไม่สามารถสร้างการเชื่อมต่อ TCP ได้เนื่องจาก SYN เริ่มต้นและ ACK สุดท้าย ใช้เส้นทางอื่น มีวิธีใดที่ค่อนข้างง่ายในการกู้คืนพฤติกรรมปกติของการกำหนดเส้นทางแบบหลายเส้นทางดังนั้นการเลือก hop ต่อไปจะถูกเลือกต่อโฟลว์แทนที่จะเป็นต่อแพ็คเก็ตหรือไม่ มีแพทช์รอบ ๆ เพื่อให้การแฮ็กเลือก IPv4 ครั้งต่อไปเหมือนแฮชสำหรับ …
16 linux  routing 

3
วิธี SSH ไปยังอินสแตนซ์ ec2 ใน VPC ส่วนตัว subnet ผ่านเซิร์ฟเวอร์ NAT
ฉันสร้าง VPC ใน aws ด้วยซับเน็ตสาธารณะและซับเน็ตส่วนตัว ซับเน็ตส่วนตัวไม่สามารถเข้าถึงเครือข่ายภายนอกได้โดยตรง ดังนั้นจึงมีเซิร์ฟเวอร์ NAT ในซับเน็ตสาธารณะที่ส่งต่อการรับส่งข้อมูลขาออกทั้งหมดจากซับเน็ตส่วนตัวไปยังเครือข่ายภายนอก ขณะนี้ฉันสามารถ SSH จากซับเน็ตสาธารณะไปยังซับเน็ตส่วนตัวและ SSH จาก NAT ไปยังซับเน็ตส่วนตัว อย่างไรก็ตามสิ่งที่ฉันต้องการคือ SSH จากเครื่องใด ๆ (แล็ปท็อปที่บ้านเครื่องที่ทำงานและมือถือ) ไปยังอินสแตนซ์ในเครือข่ายย่อยส่วนตัว ฉันได้ทำการวิจัยบางอย่างที่ฉันสามารถตั้งค่ากล่อง NAT เพื่อส่งต่อ SSH ไปยังอินสแตนซ์ในซับเน็ตส่วนตัว แต่ฉันไม่โชคดี ทุกคนสามารถแสดงรายการสิ่งที่ฉันต้องตั้งค่าเพื่อให้เป็นไปได้ การตั้งชื่อคือ: แล็ปท็อป (อุปกรณ์ใด ๆ นอก VPC) nat (เซิร์ฟเวอร์ NAT ในซับเน็ตสาธารณะ) ปลายทาง (เซิร์ฟเวอร์ในซับเน็ตส่วนตัวที่ฉันต้องการเชื่อมต่อ) ไม่แน่ใจว่าต่อไปนี้เป็นข้อ จำกัด หรือไม่: "ปลายทาง" ไม่มี IP สาธารณะเฉพาะ subnet ip …

2
วิธีเพิ่มไฟล์ลงใน container docker ที่ไม่มีการอนุญาต root
ฉันกำลังพยายามเพิ่มไฟล์ลงในภาพ Docker ที่สร้างขึ้นจากtomcatภาพอย่างเป็นทางการ ภาพนั้นดูเหมือนว่าจะไม่มีสิทธิ์ในการใช้รูทเนื่องจากฉันลงชื่อเข้าใช้ในฐานะผู้ใช้tomcatถ้าฉันใช้ bash: docker run -it tomcat /bin/bash tomcat@06359f7cc4db:/usr/local/tomcat$ ถ้าผมสั่งDockerfileการคัดลอกไฟล์ไปยังภาชนะที่ไฟล์มีสิทธิ์และเป็นเจ้าของ644 rootเท่าที่ฉันเข้าใจดูเหมือนว่าจะสมเหตุสมผลเนื่องจากคำสั่งทั้งหมดใน Dockerfile นั้นทำงานเหมือนรูท อย่างไรก็ตามหากฉันพยายามเปลี่ยนความเป็นเจ้าของไฟล์tomcat:tomcatนั้นเป็นฉันได้รับOperation not permittedข้อผิดพลาด ทำไมฉันไม่สามารถเปลี่ยนการอนุญาตของไฟล์ที่คัดลอกไปยังรูปภาพนั้นได้? สามารถทำซ้ำได้อย่างไร: mkdir docker-addfilepermission cd docker-addfilepermission touch test.txt echo 'FROM tomcat COPY test.txt /usr/local/tomcat/webapps/ RUN chown tomcat:tomcat /usr/local/tomcat/webapps/test.txt' > Dockerfile docker build . ผลลัพธ์ของdocker build .: Sending build context to Docker daemon …

4
“ Stale NFS file handle” หลังจากรีบูต
บนโหนดเซิร์ฟเวอร์เป็นไปได้ที่จะเข้าถึงโฟลเดอร์ที่ส่งออก อย่างไรก็ตามหลังจากรีบูตเครื่อง (ทั้งเซิร์ฟเวอร์และไคลเอนต์) โฟลเดอร์จะไม่สามารถเข้าถึงได้จากไคลเอนต์ บนเซิร์ฟเวอร์ # ls /data Folder1 Forlder2 และไฟล์ / etc / exports มี /data 192.168.1.0/24(rw,no_subtree_check,async,no_root_squash) บนไคลเอนต์ # ls /data ls: cannot access /data: Stale NFS file handle ฉันต้องบอกว่าไม่มีปัญหากับโฟลเดอร์ที่แชร์จากฝั่งไคลเอ็นต์ แต่หลังจากรีบูตเครื่อง (เซิร์ฟเวอร์และไคลเอนต์) ฉันเห็นข้อความนี้ มีวิธีแก้ไขไหม?

2
ข้อผิดพลาด yum ในสคริปต์ PREUN เมื่อลบแพ็กเกจ
กำลังพยายามถอนการติดตั้งzarafaเซิร์ฟเวอร์อีเมล ฉันใช้yum list installedเพื่อดูแพ็คเกจที่ติดตั้งแล้ว หลังจากนั้นฉันก็ใช้ yum erase zarafa* มันเลือกแพ็คเกจทั้งหมด แต่คืนค่า: Error in PREUN scriptlet in rpm package zarafa-dagent Error in PREUN scriptlet in rpm package zarafa-gateway Error in PREUN scriptlet in rpm package zarafa-monitor Error in PREUN scriptlet in rpm package zarafa-server Error in PREUN scriptlet in rpm package zarafa-spooler …
16 centos  yum  rpm 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.