คำถามติดแท็ก web-server

อ้างถึงซอฟต์แวร์หรือฮาร์ดแวร์ที่ประกอบขึ้นเป็นเว็บเซิร์ฟเวอร์ส่งเนื้อหาในเว็บไซต์ส่วนตัวหรือสาธารณะ

2
เซิร์ฟเวอร์ประเภทใดที่ฉันต้องใช้ในการจัดการ 10 ล้านคำขอและแบบสอบถาม mySQL ต่อวัน [ปิด]
คำถามนี้ไม่น่าจะช่วยผู้เข้าชมในอนาคต มันเกี่ยวข้องเฉพาะกับพื้นที่ทางภูมิศาสตร์ขนาดเล็กช่วงเวลาที่เฉพาะเจาะจงหรือสถานการณ์ที่แคบเป็นพิเศษซึ่งโดยทั่วไปไม่สามารถใช้ได้กับผู้ชมทั่วโลกของอินเทอร์เน็ต สำหรับความช่วยเหลือในการทำคำถามนี้มากขึ้นบังคับในวงกว้างไปที่ศูนย์ช่วยเหลือ ปิดให้บริการใน6 ปีที่ผ่านมา ฉันเป็นมือใหม่ในการดูแลเซิร์ฟเวอร์และฉันกำลังมองหาบริการโฮสติ้งที่ทรงพลังเพื่อโฮสต์เว็บไซต์ใหม่ของฉัน เว็บไซต์นี้เป็นแบ็คเอนด์ของเกมออนไลน์บนมือถือและมันจะ: จัดการกับคำขอ HTTPS ได้สูงสุด 10 ล้านคำขอและแบบสอบถาม mySQL ต่อวัน เก็บไฟล์ได้สูงสุด 2000 GB บนฮาร์ดดิสก์ อาจถ่ายโอนข้อมูล 5000 GB ทั้งในและนอกต่อเดือน มันทำงานบน PHP และ mySQL มี 10 ล้านเร็กคอร์ดในฐานข้อมูล mySQL สำหรับแต่ละเร็กคอร์ดมีฟิลด์ 5-10 ฟิลด์แต่ละ 100 ไบต์ ฉันไม่รู้จริงๆว่าฉันต้องใช้เซิร์ฟเวอร์ประเภทใดเพื่อรองรับข้อกำหนดเหล่านี้คำถามของฉันคือ: CPU / RAM ใดที่ฉันต้องการสำหรับเซิร์ฟเวอร์เฉพาะหรือ VPS บริษัท โฮสติ้งใดที่สามารถให้บริการเซิร์ฟเวอร์เฉพาะหรือ VPS ประเภทนี้ได้? แล้วคอมพิวเตอร์คลาวด์ล่ะ ฉันค้นคว้า Amazon EC2 แล้ว …


8
ฉันควรปิด swap สำหรับเว็บเซิร์ฟเวอร์ linux หรือไม่
เมื่อเร็ว ๆ นี้เพื่อนของฉันบอกฉันว่ามันเป็นความคิดที่ดีที่จะปิด swap บนเว็บเซิร์ฟเวอร์ linux ที่มีหน่วยความจำเพียงพอ เซิร์ฟเวอร์ของฉันมี 12 GB และปัจจุบันใช้ 4GB (ไม่นับแคชและบัฟเฟอร์) ภายใต้โหลดสูงสุด อาร์กิวเมนต์ของเขาคือว่าในเซิร์ฟเวอร์สถานการณ์ปกติจะไม่ใช้ RAM ทั้งหมดดังนั้นวิธีเดียวที่จะสามารถพบสถานการณ์ OutOfMemory ได้เนื่องจากบั๊ก / ddos ​​/ etc ดังนั้นในกรณีที่ swap ถูกปิดระบบจะมีหน่วยความจำไม่เพียงพอซึ่งจะทำให้หน่วยความจำของโปรแกรมหยุดทำงานชั่วคราว (เป็นไปได้มากว่ากระบวนการเซิร์ฟเวอร์เว็บ) และกระบวนการอื่น ๆ ในกรณีที่มีการเปิดการแลกเปลี่ยนบนมันจะกินทั้ง RAM และ swap และในที่สุดจะส่งผลให้เกิดความผิดพลาดเหมือนกัน แต่ก่อนหน้านั้นมันจะถ่ายกระบวนการที่สำคัญเช่น sshd เพื่อสลับและเริ่มทำการแลกเปลี่ยนจำนวนมากซึ่งทำให้เกิดการชะลอตัวครั้งใหญ่ วิธีนี้เมื่ออยู่ภายใต้ระบบ ddos ​​อาจเข้าสู่สภาพที่ใช้ไม่ได้อย่างสมบูรณ์เนื่องจากความล่าช้ามากและฉันอาจจะไม่สามารถเข้าสู่ระบบและฆ่ากระบวนการเว็บเซิร์ฟเวอร์หรือปฏิเสธการรับส่งข้อมูลที่เข้ามาทั้งหมด (ทั้งหมดยกเว้น ssh) ถูกต้องหรือไม่ ฉันทำบางสิ่งบางอย่างหายไป (เช่นข้อเท็จจริงที่ว่าการสลับพาร์ติชั่นนั้นมีประโยชน์อย่างมากแม้ว่าฉันจะมี RAM เพียงพอ) ฉันควรปิดหรือไม่

11
ฉันจะทราบได้อย่างไรว่าพอร์ตเปิดอยู่หรือไม่?
ฉันติดตั้งเซิร์ฟเวอร์ Apache บนคอมพิวเตอร์ Windows 7 ของฉันแล้ว ฉันสามารถแสดง index.php เริ่มต้นโดยพิมพ์http: // localhost /ในบรรทัดที่อยู่ของเบราว์เซอร์ของฉัน อย่างไรก็ตามฉันยังคงไม่สามารถดูหน้านี้ได้โดยพิมพ์ที่อยู่ IP ของคอมพิวเตอร์ของฉัน (ไม่ใช่ภายในเครื่อง (จากคอมพิวเตอร์เครื่องเดียวกัน) ไม่มีทั่วโลก (จากคอมพิวเตอร์เครื่องอื่นที่เชื่อมต่อกับอินเทอร์เน็ต)) ฉันบอกว่าฉันต้องเปิดพอร์ต 80 ฉันทำมัน (ตามวิธีที่อธิบายไว้ที่นี่ ) แต่มันไม่ได้แก้ปัญหา ก่อนอื่นฉันต้องการตรวจสอบพอร์ตที่เปิดอยู่และพอร์ตใดที่ไม่ใช่ ตัวอย่างเช่นฉันไม่แน่ใจว่าพอร์ต 80 ของฉันถูกปิดก่อนที่ฉันจะพยายามเปิด ฉันยังไม่แน่ใจว่าจะเปิดหลังจากฉันพยายามเปิด ฉันพยายามเรียกใช้เว็บเซิร์ฟเวอร์ที่เรียบง่ายเขียนด้วย Python สำหรับสิ่งที่ฉันใช้พอร์ต 81 และใช้งานได้! และฉันไม่ได้พยายามเปิดพอร์ต 81 ดังนั้นมันจึงถูกเปิดโดยค่าเริ่มต้น ดังนั้นหากเปิด 81 ตามค่าเริ่มต้นทำไม 80 ถึงไม่ใช่? หรือมันคืออะไร? ข้อมูลเพิ่มเติม: 1. ในไฟล์ httpd.conf ของฉันฉันมี "Listen …

2
การเพิ่มประสิทธิภาพ IIS 7.5 สำหรับไซต์ที่ให้บริการเฉพาะเนื้อหาแบบคงที่
ฉันกำลังมองหาการตั้งค่าโดเมนที่ไม่มีคุกกี้ซึ่งมีวัตถุประสงค์เพื่อให้บริการเนื้อหาแบบคงที่สำหรับเว็บแอปพลิเคชันซึ่งคล้ายกับเว็บไซต์http://sstatic.net/ ที่ไซต์แลกเปลี่ยนสแต็กใช้ คำถามของฉันคือฉันสามารถปรับแต่งอะไรให้เหมาะสมกับการตั้งค่า IIS 7.5 สำหรับโดเมนดังกล่าว ตัวอย่างเช่นมันจะไม่รับผิดชอบอะไรเลยนอกจากการให้บริการเนื้อหาแบบคงที่ดังนั้นการปิดการใช้งานการรวม ASP.NET จะเป็นการย้ายที่ดีสำหรับเว็บไซต์นี้หรือไม่? ข้อเสนอแนะหรือการอ้างอิงใด ๆ ในการตั้งค่าเว็บไซต์ที่มี IIS 7.5 จะยินดีมากที่สุด แก้ไข เพียงเพื่อชี้แจงว่านี่ไม่ใช่ไซต์เดียวบนเซิร์ฟเวอร์ดังนั้นการปรับให้เหมาะสมที่แนะนำควรกำหนดเป้าหมายระดับไซต์ไม่ใช่กำหนดค่าระดับเซิร์ฟเวอร์

3
การเข้าสู่ระบบ nginx เพื่อ access.log.1 แทนที่จะเป็น access.log, logrotate ล้มเหลว?
ฉันมีอินสแตนซ์ nginx ที่ตั้งค่าให้เข้าสู่การเข้าถึง /var/log/nginx/access.log และข้อผิดพลาดในการ /var/log/nginx/errors.log แต่ทันทีที่ logrotate ทำงานในแต่ละสัปดาห์ไฟล์จะถูกย้ายไปที่ * .log.1 และไฟล์ * .log ใหม่ถูกสร้างขึ้น แต่ nginx ยังคงเข้าสู่ระบบไฟล์ log.1 แทนไฟล์. log ใหม่ (และไม่มีอะไรได้รับ gzipped) ครั้งแรกที่ฉันสังเกตเห็นว่ามันเป็นเวลา 3 สัปดาห์นับตั้งแต่การหมุนบันทึกและบันทึกเริ่มมีขนาดใหญ่มาก การเรียกใช้kill -HUP `cat /run/nginx.pid`nginx เริ่มต้นการบันทึกลงในตำแหน่งที่ถูกต้องอีกครั้ง แต่ปัญหาเริ่มขึ้นอีกครั้งในสัปดาห์หน้า เหตุผลที่สำคัญกว่านี้น่าผิดหวังคือฉันมีบันทึกที่ตั้งให้อัพโหลดไปยัง Loggly ผ่านทาง rsyslog และเมื่อ nginx หยุดการบันทึกลงในไฟล์ที่ฉันมีการโพล rsyslog แล้วสิ่งต่างๆก็หยุดอัพโหลดและฉันไม่ได้รับการเตือนใด ๆ ฉันสงสัยว่ามีบางอย่างที่เกี่ยวข้องกับการรีสตาร์ท nginx หรือโหลดการกำหนดค่าใหม่เพราะมันไม่ได้เริ่มจนกว่าฉันจะทำการเปลี่ยนแปลงการกำหนดค่าและโหลดการตั้งค่าใหม่ในแบบที่ฉันคิดว่าเป็นเรื่องปกติ ฉันพยายามเรียกใช้kill -USR1 `cat /run/nginx.pid`แต่ไฟล์ยังคงได้รับการบันทึกลงในตำแหน่งที่ไม่ถูกต้องจนกว่าฉันจะรันkill …

1
การกำหนดค่า Nginx + WSGI ที่แนะนำ
คำถามนี้ถูกโยกย้ายจาก Stack Overflow เพราะสามารถตอบได้ใน Server Fault อพยพ 7 ปีที่ผ่านมา โปรดอธิบายข้อดี / ข้อเสียเมื่อใช้อินเทอร์เฟซ Nginx WSGI อื่น โปรดอธิบายโดยละเอียดว่าอะไรคือความแตกต่างของการกำหนดค่าแต่ละอย่าง การกำหนดค่าใดควรปรับขนาดที่ดีที่สุด หากเกี่ยวข้องคุณกำลังทำงานอะไรอยู่ตอนนี้และเพราะอะไร เทคนิคบางอย่างที่ฉันเคยเห็น แต่โปรดบอกฉันหากฉันพลาด: mod_wsgi uWSGIผ่านNginx uWSGI FastCGI + flup พร็อกซีเซิร์ฟเวอร์ WSGI อื่น ( gevent , gunicorn , tornado , FAPWS3 )

2
เว็บเซิร์ฟเวอร์รู้ได้อย่างไรว่าคู่คีย์ใดควรใช้กับการถอดรหัส SSL
มันเป็นความเข้าใจของฉันว่าเมื่ออาปาเช่ได้รับการร้องขอให้เป็นหนึ่งในพอร์ต TCP มันจะฟังบน (เช่น 80, 443) Hostก็จะตัดสินใจว่าโฮสต์มีการร้องขอโดยดูที่ส่วนหัว เซิร์ฟเวอร์จะทราบว่าโฮสต์เสมือนใดที่ควรเปลี่ยนเส้นทางการร้องขอไป แต่มันทำงานกับ HTTP ผ่าน SSL / TLS ได้อย่างไร เนื่องจากคำขอ HTTP ทั้งหมดกำลังถูกเข้ารหัส (อย่างน้อยนั่นคือสิ่งที่ฉันเชื่อว่าฉันได้อ่านที่ไหนสักแห่ง) ข้อมูลส่วนหัวจึงสามารถอ่านได้หลังจากเซิร์ฟเวอร์ถอดรหัสข้อมูลเท่านั้น แต่เพื่อที่จะถอดรหัสมันจำเป็นต้องรู้คู่กุญแจที่จะใช้เพราะคุณสามารถติดตั้งใบรับรอง SSL หลายอันบนเว็บเซิร์ฟเวอร์ ดังนั้นเซิร์ฟเวอร์จะทราบได้อย่างไรว่าต้องใช้รหัสใดในการถอดรหัส ฉันเดา : ฉันนึกภาพได้ว่าการจับมือ TLS ให้ข้อมูลที่จำเป็น เกี่ยวกับการตั้งค่าสถานะ"เป็นไปได้ซ้ำกัน" : ในขณะที่ฉันยอมรับว่าคำตอบของทั้งคำถามที่เชื่อมโยงและตัวฉันเองนั้นคล้ายคลึงกันฉันต้องบอกว่าคำถามนั้นแตกต่างกัน ไม่ต้องสงสัยเลยว่าจะโฮสต์เว็บไซต์หลายแห่งที่มีใบรับรอง SSL อิสระหรือไม่ แต่คำถามของฉันเน้นที่ด้านเทคนิค
18 ssl  web-server  https 

6
ฉันจะดู SSL ของเว็บเซิร์ฟเวอร์ที่ใช้อยู่ในปัจจุบันได้อย่างไร?
ฉันเชื่อว่าฉันได้ปิดการใช้งาน SSL 2.0 บนเว็บเซิร์ฟเวอร์ของฉัน (Windows Server 2003) เพื่อให้แน่ใจว่าตอนนี้ใช้ SSL 3.0 ฉันจะตรวจสอบสิ่งนี้ได้อย่างไร วิธีที่ถูกต้องในการปิดการใช้งาน 2.0 และเปิดใช้งาน 3.0 บนเว็บเซิร์ฟเวอร์คืออะไร?

5
สิ่งที่ "ต้องทำ" ในการปกป้องเซิร์ฟเวอร์ Windows ที่เผชิญกับเว็บคืออะไร
ฉันเริ่มปรับใช้เซิร์ฟเวอร์ Windows ที่หันหน้าเข้าหาเว็บ และฉันอยากจะรู้ว่าคุณมีวิธีปกป้องเซิร์ฟเวอร์ของคุณอย่างไร? คุณใช้โปรแกรมอะไร บน Linux ฉันใช้ Fail2ban เพื่อป้องกัน bruteforce และ Logwatch เพื่อรับรายงานรายวันเกี่ยวกับสิ่งที่เกิดขึ้นบนเซิร์ฟเวอร์ของฉัน มีซอฟต์แวร์ใด ๆ ที่เทียบเท่าบน Windows หรือไม่? ถ้าไม่คุณแนะนำให้ใช้สิ่งใดเพื่อปกป้องเซิร์ฟเวอร์

5
Dropbox บนเซิร์ฟเวอร์ linux - จะรวม / แยกโฟลเดอร์ได้อย่างไร
การใช้ Dropbox GUI เป็นไปได้ที่จะควบคุมเฉพาะโฟลเดอร์ที่จะซิงค์ สามารถทำได้จากบรรทัดคำสั่งด้วยหรือไม่ พื้นหลัง: ฉันลองใช้วิธีแก้ปัญหาสำหรับการติดตั้ง Dropbox บนเซิร์ฟเวอร์ linux ที่ให้ไว้ที่นี่และดูเหมือนว่าจะทำงานได้ดี: http://ubuntuservergui.com/ubuntu-server-guide/install-dropbox-ubuntu-server

6
วิธีแชร์เนื้อหาระหว่างเว็บเซิร์ฟเวอร์หลายเครื่อง
ฉันมีเว็บเซิร์ฟเวอร์ Linux หลายตัวติดอยู่กับ load balancer และฉันต้องการแชร์เนื้อหา (เช่นรูปภาพวิดีโอและอื่น ๆ ) ระหว่างเซิร์ฟเวอร์เหล่านี้ วิธีที่ดีที่สุดในการทำเช่นนี้คืออะไร? ขณะนี้ฉันได้ติดตั้งไฟล์เซิร์ฟเวอร์กับเว็บเซิร์ฟเวอร์ทั้งหมด แต่ฉันกังวลว่ามันจะลดลงเนื่องจากการรับส่งข้อมูลจำนวนมาก ฉันจะหลีกเลี่ยงสิ่งนี้ไม่ให้เกิดขึ้นได้อย่างไร ขอบคุณล่วงหน้า.

2
เหตุใดกระบวนการ nginx จึงทำงานโดยไม่มีผู้ใช้
ฉันพยายามเซ็ตอัพ nginx ให้รันด้วยหนึ่งในแอพพลิเคชั่นทางรถไฟของฉันเมื่อดูผลลัพธ์ps -e | grep nginxแล้วฉันก็รู้ว่ากระบวนการของคนงาน nginx ทำงานโดยไม่มีผู้ใช้ มีเหตุผลทำไมพวกเขาไม่ทำงานเป็นข้อมูล www?

2
จำนวนที่เหมาะสมที่สุดสำหรับกระบวนการยูนิคอร์น CPU
เรากำลังเรียกใช้เว็บแอพ Ruby on Rails ในยูนิคอร์น แอปของเราไม่ได้เชื่อมโยงกับ CPU อย่างเคร่งครัด (เรามีระบบ Dual Xeon E5645 ที่มี 12 คอร์และค่าเฉลี่ยการโหลดสูงสุดอยู่ที่ประมาณ 6) เราเริ่มต้นด้วยคนงานยูนิคอร์น 40 คนในตอนแรก แต่การใช้งานหน่วยความจำเพิ่มขึ้นเมื่อเวลาผ่านไป ดังนั้นตอนนี้เราต้องลดจำนวนกระบวนการทำงาน ฉันคิดว่าสูตรมาตรฐาน (จำนวนคอร์ CPU + 1) ใช้กับยูนิคอร์นด้วย แต่เพื่อนร่วมงานของฉันพยายามโน้มน้าวให้ฉันฉันควรจองอินสแตนซ์ยูนิคอร์นต่อซีพียูมากขึ้นและระบุลิงก์นี้ แต่ฉันไม่แน่ใจว่าทำไมเราต้องใช้หน่วยความจำมากในกระบวนการยูนิคอร์นที่ไม่ได้ใช้งาน คำถามของฉันคืออะไรเหตุผลที่มีมากกว่าหนึ่งตัวอย่างยูนิคอร์นต่อซีพียูคอร์? มันเป็นเพราะลักษณะทางสถาปัตยกรรมบางอย่างของยูนิคอร์นหรือไม่? ฉันทราบว่ากระบวนการ Unicorn ที่ยุ่งไม่สามารถยอมรับการเชื่อมต่อใหม่ (เราใช้ซ็อกเก็ตโดเมน UNIX เพื่อสื่อสารกับ Unicorn อินสแตนซ์ BTW) แต่ฉันคิดว่า Backlog ถูกนำมาใช้เพื่อแก้ไขปัญหานี้ เป็นไปได้ไหมที่จะเอาชนะยูนิคอร์นอินสแตนซ์ 2 ถึง 8 ตัวต่อกฎของ CPU ได้?

4
nginx รองรับกฎ. htaccess / rewrite หรือไม่ ความแตกต่างจาก Apache?
ฉันทำงานกับเซิร์ฟเวอร์ Apache http มาระยะหนึ่งแล้วและในที่สุดก็ย้ายไปยังเซิร์ฟเวอร์เนื้อหาคงที่ควบคู่ไปกับเครื่องเนื้อหาไดนามิกอื่น ๆ ฉันสงสัยว่า nginx รองรับไฟล์ ".htaccess" และสิ่งต่าง ๆ เช่น mod_rewrite หรือไม่ ในขณะที่ฉันคุ้นเคยกับไวยากรณ์ฉันสงสัยว่าความแตกต่าง (ไวยากรณ์) คืออะไรและเส้นโค้งการเรียนรู้นั้นเหมือนกับการย้ายจาก Apache configs ไปยัง nginx

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