คอมพิวเตอร์การเขียนโปรแกรม

Nginx: การตั้งค่าและการติดตั้ง

Apache, Nginx คืออะไร? วัตถุประสงค์คุณสมบัติตัวเลือกปรับแต่ง - เหล่านี้เป็นสิ่งที่นักพัฒนาเว็บทุกคนควรมีความคุ้นเคยในการทดสอบการพัฒนาของพวกเขา

เกี่ยวกับ Nginx พูดคำ

เครื่องมือนี้มีหนึ่งในขั้นตอนการทำงานหลักและอีกหลาย ข้อเสนอครั้งแรกกับการอ่านและการกำหนดค่าการตรวจสอบ นอกจากนี้ภายใต้การควบคุมของตนคือการจัดการเวิร์กโฟลว์ ปัญหาที่ผ่านมา - เพื่อจัดการการร้องขอเข้ามา รูปแบบการใช้งาน Nginx ที่จะขึ้นอยู่กับเหตุการณ์ที่เกิดขึ้น กลไกนี้ยังมีการใช้ขึ้นอยู่กับระบบการดำเนินงานเพื่อให้บรรลุคำขอจัดสรรที่มีประสิทธิภาพโดยตรงระหว่างกระบวนการปฏิบัติงาน จำนวนของพวกเขาจะถูกระบุอยู่ในแฟ้มการกำหนดค่า ค่าสามารถเป็นได้ทั้งคงที่หรือตั้งค่าโดยอัตโนมัตินำโดยจำนวนแกนประมวลผลที่สามารถจัดการได้ ในการกำหนดค่า Nginx ของระบบและโมดูลจะดำเนินการใช้แฟ้มการกำหนดค่า ดังนั้นถ้าคุณต้องการที่จะเปลี่ยนสิ่งที่คุณต้องมองหาชื่อของเขา มักจะอยู่ในคำสั่ง / etc / Nginx ( แต่เส้นทางอาจแตกต่างกันกับระบบอื่น ๆ ) และมีการขยาย .conf

เริ่มการเริ่มต้นและการเข้าสู่ระบบ

การทำเช่นนี้คุณต้องให้วิ่งปฏิบัติการ การกำหนดค่า Nginx เซิร์ฟเวอร์จะเป็นไปได้เมื่อมีการเริ่มต้น จัดการจะดำเนินการขอบคุณที่จะเรียกการปฏิบัติการที่มีพารามิเตอร์ -s การทำเช่นนี้จะใช้ต่อไปนี้:

สัญญาณ Nginx -s

ในกรณีนี้คุณสามารถใช้แทนคำสั่งต่อไป (ต้องมาจากผู้ใช้ที่เปิดตัวเครื่องมือ):

  1. หยุด มันจะใช้สำหรับการปิดเครื่องได้อย่างรวดเร็ว
  2. โหลด ทีมที่จำเป็นในการโหลดไฟล์การกำหนดค่า ความจริงก็คือว่าการเปลี่ยนแปลงใด ๆ ที่จะไม่มีผลจนกว่างานไฟล์ และเพื่อที่จะมีผลบังคับใช้การรีบูตเป็นสิ่งที่จำเป็น เร็วที่สุดเท่าที่คุณจะได้รับสัญญาณนี้กระบวนการหลักเริ่มที่จะตรวจสอบความถูกต้องขององค์ประกอบประโยคของแฟ้มการกำหนดค่าและพยายามที่จะใช้คำแนะนำที่มีอยู่ที่นั่น ในกรณีของความล้มเหลวก็จะย้อนกลับการเปลี่ยนแปลงและจะทำงานกับพารามิเตอร์เก่า หากทุกอย่างประสบความสำเร็จก็จะเริ่มขั้นตอนการทำงานใหม่และเก่าจะถูกส่งไปยังจุดสิ้นสุดความต้องการ
  3. เลิก ที่ใช้สำหรับการเสร็จเรียบของการทำงาน มันถูกใช้ถ้าคุณต้องการที่จะรอจนกว่าจะเสร็จสิ้นการร้องขอปัจจุบันเก็บรักษาไว้
  4. เปิดใหม่ ปิดและเปิดไฟล์บันทึก

ใช้สาธารณูปโภค

กระบวนการการตั้งค่านอกจากนี้ยังสามารถดำเนินการโดยใช้ระบบปฏิบัติการยูนิกซ์หมายถึง (ฆ่ายูทิลิตี้จะมีการหารือเป็นตัวอย่าง) พวกเขามักจะใช้กลไกในการส่งสัญญาณโดยตรงกับการประมวลผลข้อมูล พวกเขามีการเชื่อมโยงโดยวิธีการของ ID ข้อมูลนี้จะถูกเก็บไว้ในแฟ้ม nginx.pid ขอให้เราคิดว่าเรามีความสนใจในกระบวนการ№134 จากนั้นสำหรับความราบรื่นของความต้องการที่จะส่งข้อมูลต่อไปนี้:

ฆ่า -s QUIT 1628

ให้เราคิดว่าเราต้องการที่จะเห็นรายชื่อของไฟล์ที่เปิดทั้งหมด เราจะทำให้การใช้งานของ ps ยูทิลิตี้ ทีมงานยังจะมีลักษณะดังต่อไปนี้:

PS -ax | grep Nginx

นั่นคือการที่คุณสามารถดูโดยใช้เครื่องมือเพิ่มเติมระบุว่ามันจะไปประยุกต์ใช้ และตอนนี้ขอเน้นความมุ่งมั่นที่ Nginx การกำหนดค่า

โครงสร้างของแฟ้มการกำหนดค่า

การติดตั้งและการกำหนดค่า Nginx รวมถึงการทำงานกับโมดูล พวกเขามีการกำหนดค่าการใช้คำสั่งที่มีการระบุไว้ในแฟ้มการกำหนดค่า พวกเขาสามารถจะง่ายหรือบล็อก ประเภทแรกประกอบด้วยคำสั่งและพารามิเตอร์ซึ่งจะถูกคั่นด้วยช่องว่างและจุดสิ้นสุดของพวกเขาจะถูกระบุด้วยอัฒภาค - () บล็อกมีโครงสร้างคล้าย แต่แทนที่จะปิดคำสั่งนี้อยู่เพิ่มเติมชุดของคำสั่งที่จะอยู่ในวงเล็บปีกกา ({} คำแนะนำ) หากพวกเขาสามารถโพสต์ชื่อและพารามิเตอร์อื่น ๆ ของกระบวนการที่พวกเขาจะเรียกว่าการก่อสร้างดังกล่าวมีบริบท ในฐานะที่เป็นตัวอย่างเช่น http สถานที่และเซิร์ฟเวอร์

การกระจายของเนื้อหาแบบคงที่

นี่คือหนึ่งในความท้าทายที่สำคัญที่สุดหันหน้าการกำหนดค่า Nginx ภายใต้การกระจายทางสถิติของเนื้อหาที่มีความหมายภาพและ HTML หน้า (ไม่ใช่แบบไดนามิก) สมมติว่าเราจำเป็นต้องมีการทำงานที่เดียวในการตั้งค่า Nginx ระวังคลัสเตอร์ มันเป็นเรื่องยากที่จะทำเพื่อ? ไม่มีให้ดูตัวอย่าง ก่อนที่จะเริ่มดำเนินการในมันก็เป็นสิ่งจำเป็นในรายละเอียดเงื่อนไขของปัญหา ดังนั้นขึ้นอยู่กับการร้องขอไฟล์จะมาจากไดเรกทอรีท้องถิ่นต่างๆ ดังนั้นในข้อมูล / / www เรามีเอกสาร HTML และในไดเรกทอรี / ข้อมูล / ภาพที่มีภาพ Nginx การตั้งค่าที่เหมาะสมที่สุดในกรณีนี้ต้องมีการแก้ไขไฟล์การกำหนดค่าที่คุณต้องกำหนดค่าหน่วยเซิร์ฟเวอร์ภายใน http เพื่อสนับสนุนทั้งสองจะถูกใช้เป็นสถานที่ตั้ง

การดำเนินงาน: เซิร์ฟเวอร์

ดังนั้นก่อนที่เราจำเป็นต้องสร้างไดเรกทอรีและสถานที่ตัวเองอยู่ในไฟล์ที่พวกเขาจำเป็นต้องขยาย (ใน html คุณจะต้องเพิ่มเนื้อหา) แล้วเปิดไฟล์การกำหนดค่า ในนั้นเซิร์ฟเวอร์เริ่มต้นแล้วมีบล็อกหลายอย่างซึ่งส่วนใหญ่จะออกความเห็น เพื่อให้บรรลุผลลัพธ์ที่ดีที่สุดขั้นตอนนี้ต้องทำด้วยความเคารพต่อทุกองค์ประกอบโดยค่าเริ่มต้น แล้วเพิ่มหน่วยเซิร์ฟเวอร์ใหม่โดยใช้รหัสนี้:

http {

เซิร์ฟเวอร์ {

}

}

แฟ้มการกำหนดค่าสามารถทำงานร่วมกับบล็อกหลายอย่างเช่น แต่พวกเขาจะต้องมีความโดดเด่นด้วยชื่อและพอร์ตของพวกเขาผ่านซึ่งข้อมูลที่ได้รับ

การดำเนินงาน: สถานที่ตั้ง

กำหนดภายในเซิร์ฟเวอร์:

สถานที่ตั้ง / {

ราก / ข้อมูล / www;

}

การปรากฏตัวของเครื่องหมาย "/" เป็นสิ่งที่จำเป็นเพื่อเปรียบเทียบข้อมูลที่ได้รับและดูว่ามีเช่นที่อยู่จากการร้องขอการประมวลผลที่นี่ หากมีปัญหาไม่มีแล้วระบุเส้นทาง / ข้อมูล / www ไปยังไฟล์ที่ต้องการที่อยู่ในระบบท้องถิ่น หากมีการจับคู่กับไม่กี่ช่วงตึกจากนั้นเลือกหนึ่งที่มีคำนำหน้ายาวที่สุด ในตัวอย่างนี้ความยาวมีค่าเท่ากับหนึ่งคือการใช้งานจะเป็นเฉพาะในกรณีที่ไม่มี "การแข่งขัน" ตอนนี้ปล่อยให้มันจะอัปเดต:

สถานที่ตั้ง / images / {

ราก / ข้อมูล

}

วิธีสามารถระบุเรากำลังมองหาภาพ ตอนนี้ขอรวมพัฒนาทั้งหมดที่ก่อนหน้านี้และการกำหนดค่าในเวลานี้จะเป็นดังนี้:

เซิร์ฟเวอร์ {

สถานที่ตั้ง / {

ราก / ข้อมูล / www;

}

สถานที่ตั้ง / images / {

ราก / ข้อมูล

}

}

นี้เป็นรุ่นที่ทำงานของกรณีที่มาตรฐาน พอร์ต№80 เซิร์ฟเวอร์นี้ไม่มีปัญหาใด ๆ สามารถใช้ได้บนคอมพิวเตอร์ของคุณถ้าคุณไปยังที่อยู่ที่: http: // localhost / อย่างไรทั้งหมดนี้ทำงานอย่างไร

หลักการของการดำเนินงานของตัวอย่าง

ดังนั้นเมื่อพวกเขามาถึงคำสั่งที่เริ่มต้นด้วยภาพ / เซิร์ฟเวอร์ของไฟล์ไดเรกทอรีที่สอดคล้องกันจะถูกส่งไปให้กับผู้ใช้ ในระหว่างที่เขาจะได้รับข้อมูลที่ระบุข้อผิดพลาด 404 ถ้าดำเนินการกำหนดค่า Nginx บนเครื่องคอมพิวเตอร์แล้วคำขอ http: //localhost/images/example.png เราจะได้รับไฟล์ที่มี /data/images/example.png สถานที่ตั้ง เมื่อคุณระบุ "/" ค้นหาสัญลักษณ์จะต้องดำเนินการในไดเรกทอรี / ข้อมูล / www แต่เรามีการเปลี่ยนแปลงเพียงการกำหนดค่า มันเริ่มต้นการทำงานก็ต้องเริ่มต้น การทำเช่นนี้ใช้ Nginx -s โหลด ในกรณีที่การดำเนินงานปกติเป็นไปไม่ได้ใน access.log และไฟล์ error.log อยู่ในคำสั่ง / usr / local / Nginx / บันทึกคุณสามารถมองหาสาเหตุของความผิด

การสร้างเซิร์ฟเวอร์พร็อกซี่ที่เรียบง่าย

มันสามารถพูดเกี่ยวกับ Nginx - การกำหนดค่าของสถานที่นี้เป็นหนึ่งในการใช้งานที่พบมากที่สุด (และค่อนข้างง่ายโดยวิธีการ) มันใช้หลักการของเซิร์ฟเวอร์ที่ได้รับการร้องขอจากนั้นจะเปลี่ยนเส้นทางไปยังเว็บไซต์ที่จำเป็น หลังจากนั้นคำตอบที่คาดหวังจากพวกเขาซึ่งจะส่งพวกเขาไปยังผู้หนึ่งที่ตั้งงาน ดังนั้นขอให้ดูตัวอย่างของการสร้างฐานจุดหนึ่ง มันจะจัดการกับการร้องขอของผู้ใช้บริการและให้พวกเขาด้วยภาพจากไดเรกทอรีท้องถิ่น ดังนั้นเพื่อป้องกันการ http เพิ่มเซิร์ฟเวอร์อื่นที่มีเนื้อหาดังต่อไปนี้:

เซิร์ฟเวอร์ {

ฟัง 8080;

ราก / ข้อมูล / up1;

สถานที่ตั้ง / {

}

}

ตอนนี้ขอถอดรหัสสำหรับคุณ: การสร้างเซิร์ฟเวอร์ที่เรียบง่าย เขาจะฟัง พอร์ต 8080 ไม่ได้ฟังจากนั้นเซิร์ฟเวอร์จะทำงานในวันที่ 80 จะแสดงคำขอทั้งหมดภายในระบบไฟล์ในท้องถิ่นที่จะนำไปไดเรกทอรี / ข้อมูล / up1 (แน่นอนก่อนว่ามันจะมีความจำเป็นในการสร้างมัน) เพื่อให้สามารถตรวจสอบก็เป็นสิ่งจำเป็นที่จะวางไฟล์ index.html เนื่องจากตำแหน่งของคำสั่งในบริบทของเซิร์ฟเวอร์รากเราสามารถใช้สถานที่ตลอดเวลา (เป็นข้อ จำกัด การเข้าถึงที่ถูกนำออกจึง) ขณะนี้เรากำลังทำงานเพื่อสร้างพร็อกซี่ เพื่อให้การทำงานเราต้องสั่ง proxy_pass ซึ่งจะมีการระบุชื่อโปรโตคอลและท่าเรือเป็นพารามิเตอร์ (สำหรับการเชื่อมต่อท้องถิ่นก็จะมีลักษณะเช่น http: // localhost: 8080) ได้รับผลนี้:

เซิร์ฟเวอร์ {

สถานที่ตั้ง / {

proxy_pass http: // localhost: 8080;

}

สถานที่ตั้ง / images / {

ราก / ข้อมูล

}

}

ถ้าคุณดูที่รหัสและวิเคราะห์มันคุณอาจสังเกตเห็นว่าที่ตั้งของหน่วยที่สองมีการเปลี่ยนแปลง ดังนั้นในกรณีนี้มันสามารถทำงานร่วมกับส่วนขยายภาพทั่วไป แตกต่างกันเล็กน้อยก็อาจจะแสดงดังต่อไปนี้:

สถานที่ตั้ง ~ \ (GIF | JPG | png) $ {.

ราก / ข้อมูล / ภาพ;

}

การกำหนดค่าพร็อกซี่สุดท้ายจะเป็นดังนี้:

เซิร์ฟเวอร์ {

สถานที่ตั้ง / {

proxy_pass http: // localhost: 8080 /;

}

สถานที่ตั้ง ~ \ (GIF | JPG | png) $ {.

ราก / ข้อมูล / ภาพ;

}

}

มันจะกรองการร้องขอในตอนท้ายของการที่มีส่วนขยายเหล่านี้และส่งพวกเขาไปยังผู้ที่ได้รับการร้องขอไฟล์ อย่าลืมว่ามันจะต้องเริ่มต้นถ้าคุณต้องการที่จะตรวจสอบการตั้งค่าไฟล์ และฉันเชื่อว่ามันเป็นเพียงแค่การกำหนดค่า Nginx ถ้าคุณเปิดการตั้งค่า "Vkontakte" ไฟล์เซิร์ฟเวอร์หรือ บริษัท ขนาดใหญ่อื่น ๆ พวกเขาจะมีรหัสมากกว่าคำในบทความนี้

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 th.unansea.com. Theme powered by WordPress.