คำถามติดแท็ก nginx

Nginx ("eNgine x") เป็นเซิร์ฟเวอร์ HTTP น้ำหนักเบาประสิทธิภาพสูงพร็อกซีย้อนกลับพร็อกซีสตรีมพร็อกซี TCP และพร็อกซีเมลซึ่งวางจำหน่ายภายใต้สิทธิ์ใช้งาน BSD

2
วิธีลดจำนวนซ็อกเก็ตใน TIME_WAIT
เซิร์ฟเวอร์ Ubuntu 10.04.1 x86 ฉันมีเครื่องที่มีบริการ FCGI HTTP ซึ่งอยู่หลัง nginx ซึ่งให้บริการคำขอ HTTP ขนาดเล็กจำนวนมากแก่ลูกค้าที่แตกต่างกันจำนวนมาก (ประมาณ 230 คำขอต่อวินาทีในชั่วโมงเร่งด่วนขนาดตอบสนองโดยเฉลี่ยที่มีส่วนหัวคือ 650 ไบต์ลูกค้าหลายล้านรายต่อวัน) เป็นผลให้ฉันมีซ็อกเก็ตจำนวนมากแขวนอยู่ใน TIME_WAIT (กราฟถูกจับด้วยการตั้งค่า TCP ด้านล่าง): ฉันต้องการลดจำนวนซ็อกเก็ต ฉันจะทำอะไรนอกจากนี้ $ cat / proc / sys / net / ipv4 / tcp_fin_timeout 1 $ cat / proc / sys / net / ipv4 / tcp_tw_recycle 1 …

3
มีโซลูชันพร็อกซีย้อนกลับบนคลาวด์ใน AWS หรือไม่
ระบบ ฉันมี API ที่ปรับใช้กับเครื่อง EC2 บน AWS ร้องขอ HTTPS เข้ามาจะถูกส่งผ่านไปยังbalancer โหลดยืดหยุ่น ตัวโหลดบาลานซ์จัดการ SSL และส่งผ่านการร้องขอไปยังเซิร์ฟเวอร์ Nginx ซึ่งจะทำการร้องขอไปยังเซิร์ฟเวอร์เฉพาะตาม URL คำขอ ความเจ็บปวด เครื่อง Nginx ต้องการงานบำรุงรักษาจำนวนมากโดยเฉพาะอย่างยิ่งเมื่อมีการเปลี่ยนแปลงที่อยู่ IP ของเซิร์ฟเวอร์ นอกจากนี้การกำหนดเส้นทางพร็อกซี URL ที่ใช้ดูเหมือนว่าจะมีความต่อเนื่องตามธรรมชาติของตัวโหลดบาลานซ์ การมีอินเตอร์เฟสบนเว็บหรือบน API ที่มีเหตุผลเพื่อควบคุมการกำหนดเส้นทาง URL จะเป็นประโยชน์อย่างมาก คำถาม มีโซลูชันการกำหนดเส้นทางบนคลาวด์ใด ๆ ที่สามารถร้องขอ HTTP พร็อกซีด้วย URL สกีมแทนเครื่อง Nginx ของฉันได้หรือไม่

4
ฉันจะดีบัก nginx มากกว่าบันทึกข้อผิดพลาดได้อย่างไร
ขณะนี้ฉันได้รับ HTTP ที่มีขนาดใหญ่พอสมควรในขณะนี้และทำให้ nginx reverse proxy ของฉันสร้างเกตเวย์ Bad 502 ฉันมีเซิร์ฟเวอร์ส่วนหน้าใช้ nginx เป็นพร็อกซีเซิร์ฟเวอร์ backend ของฉัน แต่มันเพิ่งได้รับconnect() failed (110: Connection timed out) while connecting to upstreamข้อผิดพลาดมากมาย ตันของพวกเขา ถ้าฉันข้ามพร็อกซีเซิร์ฟเวอร์เพื่อเชื่อมต่อกับแบ็กเอนด์ฉันสามารถเรียกใช้ไซต์ได้ดีดังนั้นฉันรู้ว่ามันอยู่ในพร็อกซีย้อนกลับที่อื่น อย่างไรก็ตามฉันไม่รู้ว่าจะระบุได้อย่างไรว่าทำไมถึงกำหนดเวลา ความช่วยเหลือใด ๆ ใช้งาน nginx 1.2.3 บน CentOS 6.2

3
nginx + php-fpm - $ _GET params ของฉันอยู่ที่ไหน
ฉันมีปัญหาแปลก ๆ ที่นี่ ฉันเพิ่งย้ายจาก apache + mod_php เป็น nginx + php-fpm ทุกอย่างไปได้ดียกเว้นปัญหาเดียวนี้ ฉันมีเว็บไซต์สมมติว่า example.com เมื่อฉันเข้าถึงมันเหมือนexample.com?test=get_param $_SERVER['REQUEST_URI']มี/?test=get_paramและมี$_GET['test']ยัง แต่เมื่อฉันเข้าถึงexample.com/ajax/search/?search=get_param $_SERVER['REQUEST_URI']คือ/ajax/search/?search=get_paramยังไม่มี$_GET['search'](ไม่มี$_GETอาร์เรย์ที่ทั้งหมด) ฉันใช้กรอบ Kohana ซึ่งเส้นทาง/ajax/searchที่จะควบคุม แต่ฉันได้ใส่phpinfo()ที่index.phpดังนั้นฉันตรวจสอบ$_GETตัวแปรก่อนที่จะกรอบได้ทำอะไรเลย (ที่นี้หมายถึงว่า disapearing params รับไม่ได้กรอบความผิด) nginx.conf ของฉันเป็นแบบนี้ worker_processes 4; pid logs/nginx.pid; events { worker_connections 1024; } http { index index.html index.php; autoindex on; autoindex_exact_size off; include mime.types; default_type application/octet-stream; …
34 nginx  php-fpm  kohana 

4
การเปลี่ยนเส้นทางผ่าน nginx proxy ไม่สนใจพอร์ต
ดังนั้นฉันจึงตั้งค่าเส้นทางเสมือนเมื่อชี้ไปที่แอป node.js ใน nginx conf ของฉัน ส่วนที่เกี่ยวข้องมีลักษณะดังนี้: location /app { rewrite /app/(.*) /$1 break; proxy_pass http://localhost:3000; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } ใช้งานได้ดียกเว้นว่าเมื่อแอป node.js ของฉัน (แอปด่วน) เรียกการเปลี่ยนเส้นทาง ตัวอย่างเช่นกล่อง dev กำลังรัน nginx บนพอร์ต 8080 และ URL ของรูทของแอปโหนดดูเหมือนว่า: http: // localhost: 8080 / แอป เมื่อฉันเรียกการเปลี่ยนเส้นทางไปยัง '/ app' จากโหนดการเปลี่ยนเส้นทางที่แท้จริงจะไปที่: http: …
34 nginx 

3
nginx ไม่มี server_name และใช้ที่อยู่ IP แบบคงที่เท่านั้น
นี่คือการปรับใช้เว็บแอปแรกของฉันและฉันพบปัญหาทุกประเภท ฉันกำลังจะใช้งาน nginx + gunicorn สำหรับแอป Django แต่ส่วนใหญ่คำถามนี้เกี่ยวข้องกับการกำหนดค่า nginx สำหรับบริบทบางอย่าง - nginx จะได้รับการเชื่อมต่อและพร็อกซีไปยังเซิร์ฟเวอร์ภายในของ gunicorn ในการกำหนดค่า nginx server_nameฉันจะต้องระบุที่ใด ฉันไม่ได้วางแผนที่จะใช้ชื่อโดเมนใด ๆ เพียงแค่ใช้ ip ภายนอกของเครือข่าย (เป็นแบบคงที่) และหมายเลขพอร์ตเพื่อรับฟัง ความปรารถนาของฉันคือเมื่อฉันเข้าถึงบางสิ่งบางอย่างเช่นhttp://xxx.xxx.xxx.xxx:9050ฉันจะได้รับเว็บไซต์ ต่อไปนี้เป็นตัวอย่างรหัสที่ฉันจะตั้งค่าฐานสำหรับการอ้างอิง server { listen 80; server_name WHAT TO PUT HERE?; root /path/to/test/hello; location /media/ { # if asset versioning is used if ($query_string) { expires …
34 ubuntu  nginx  gunicorn 


8
Nginx ล้มเหลวในการหยุดและ nginx.pid หายไป
ฉันต้องการหยุด Nginx แต่มันล้มเหลวเช่นนี้ $ sudo service nginx stop Stopping nginx: [FAILED] และnginx.confที่กำหนดสถานที่ของ nginx.pid มีบรรทัด # /etc/nginx/nginx.conf pid /var/run/nginx.pid; แต่ไม่มีในไดเรกทอรีnginx.pid/var/run/ locate nginx.pid แสดงผลลัพธ์นี้ /var/run/nginx.pid /var/run/nginx.pid.oldbin แต่หลังจากที่updatedbไม่มีการจับคู่การค้นหา ฉันใช้ Nginx / 1.4.4 CentOS release 6.5 (Final)ใน ฉันควรทำอย่างไรเพื่อหยุด nginx daemon แก้ไข 2014/01/07 นี่เป็นเอาต์พุตของps -ef | grep nginxดูเหมือนว่า nginx daemon ยังคงทำงานอยู่ ironsand 17065 16933 0 …
33 centos  nginx 

3
Nginx ที่กำหนดค่าด้วย http2 ไม่ได้ส่ง HTTP / 2
ฉันมีปัญหากับการกำหนดค่า Nginx ของฉัน ฉันอัพเกรดเป็น nginx 1.9.6 เพื่อทดสอบ http / 2 แต่มันไม่ทำงานบนเซิร์ฟเวอร์ของฉัน ฉันใช้ Ubuntu 14.04.2 LTS นี่คือเอาต์พุต nginx -V: nginx version: nginx/1.9.6 built with OpenSSL 1.0.2d 9 Jul 2015 TLS SNI support enabled configure arguments: --prefix=/etc/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-log-path=/var/log/nginx/access.log --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --lock-path=/var/lock/nginx.lock --pid-path=/var/run/nginx.pid --with-pcre-jit --with-debug --with-http_addition_module --with-http_auth_request_module --with-http_dav_module …
33 nginx  openssl 

2
รหัสข้อผิดพลาด: ssl_error_rx_record_too_long
ฉันมี nginx ด้วยการตั้งค่าต่อไปนี้: server { listen 80; server_name site.com www.site.com; root /home/site/public_html; listen 443; #server_name site.com www.site.com; #root /home/site/public_html; ssl_certificate /root/site.pem; ssl_certificate_key /root/site.key; อย่างไรก็ตามเมื่อฉันดูการเชื่อมต่อ SSL ที่ฉันได้รับ: An error occurred during a connection to grewpler.com. SSL received a record that exceeded the maximum permissible length. (Error code: ssl_error_rx_record_too_long) ฉันใช้TrustWave Premium SSLเป็นผู้ออกใบรับรอง …

1
วิธีลบส่วนของ URL ใน Nginx อย่างรวดเร็วและง่ายดายด้วย HttpRewriteModule
ฉันรู้เกี่ยวกับHttpRewriteModuleแต่ฉันไม่รู้วิธีจัดการ regex และฉันจะต้องเปลี่ยนเส้นทาง URL ทั้งหมดภายในไดเรกทอรีหนึ่งไปยังอีกไดเรกทอรีหนึ่งโดยเฉพาะ example.com/component/tag/whatever ไปยัง example.com/tag/whatever บางคนบอกฉันได้ว่าจะทำอย่างไรใน Nginx

3
nginx: bind () ถึง 0.0.0.0:80 ล้มเหลวบน Windows [ปิด]
ฉันใช้ nginx โดยไม่มีปัญหากับ windows ในช่วงสองสามเดือนที่ผ่านมา วันนี้เมื่อฉันพยายามเริ่มมันฉันได้รับข้อผิดพลาดนี้: nginx: [ฉุกเฉิน] การผูก () ถึง 0.0.0.0:80 ล้มเหลว (10013: มีความพยายามในการเข้าถึงซ็อกเก็ตในลักษณะที่ถูกห้ามโดยสิทธิ์การเข้าถึง) ทำไมการเริ่มต้นนี้จึงเกิดขึ้นทั้งหมดในทันที? ฉันไม่ได้เปลี่ยนการตั้งค่าหรืออะไร
31 windows  nginx 


7
ทำไม Nginx ถึงเร็วนัก
เว็บไซต์อย่างเช่น rambler ให้บริการเนื้อหาแบบไดนามิกอย่างรวดเร็วอย่างไร ยิ่งเร็วกว่า Yahoo (ซึ่งมีเซิร์ฟเวอร์ในประเทศของฉัน - SE Asia; rambler ไม่มี) นี่คือความสามารถของ Nginx อย่างแท้จริงหรือไม่? ฉันควรจะเรียนรู้เกี่ยวกับความสามารถดังกล่าวที่ไหน ผมเชื่อว่า serverfault.com ถ้าเสิร์ฟจาก Nginx จะเร็วขึ้นมากใน IIS 7 (สมมติว่าเวลาในการเข้าถึง db เป็นเท่าเดิมในทั้งสองกรณี) นี่เป็นข้อสมมติฐานที่ยุติธรรมหรือไม่? แก้ไข: โพสต์จาก Karl โดยใช้Nginx หน้า IIS7

5
ความหมายของประสิทธิภาพสำหรับไฟล์นับล้านไฟล์ในระบบไฟล์ที่ทันสมัยคืออะไร?
สมมติว่าเรากำลังใช้ ext4 (ด้วย dir_index ที่เปิดใช้งาน) เพื่อโฮสต์ไฟล์ 3M (โดยมีขนาดเฉลี่ย 750KB) และเราจำเป็นต้องตัดสินใจว่าจะใช้รูปแบบโฟลเดอร์ใด ในโซลูชันแรกเราใช้ฟังก์ชันแฮชกับไฟล์และใช้โฟลเดอร์สองระดับ (เป็น 1 ตัวอักษรสำหรับระดับแรกและ 2 ตัวอักษรถึงระดับที่สอง): ดังนั้นการเป็นfilex.forแฮชเท่ากับabcde1234เราจะเก็บไว้ใน / เส้นทาง / a / bc /abcde1234-filex.for ในโซลูชันที่สองเราใช้ฟังก์ชันแฮชกับไฟล์และใช้โฟลเดอร์สองระดับ (เป็น 2 ตัวอักษรสำหรับระดับแรกและ 2 ตัวอักษรถึงระดับที่สอง): ดังนั้นการเป็นfilex.forแฮชเท่ากับabcde1234เราจะเก็บไว้ใน / เส้นทาง / ab / de /abcde1234-filex.for สำหรับวิธีแก้ปัญหาแรกเราจะมีรูปแบบต่อไปนี้ที่/path/[16 folders]/[256 folders]มีค่าเฉลี่ย 732 ไฟล์ต่อโฟลเดอร์ (โฟลเดอร์สุดท้ายที่ไฟล์จะอยู่) ในขณะที่การแก้ปัญหาที่สองเราจะมี/path/[256 folders]/[256 folders]กับค่าเฉลี่ยของ 45 ไฟล์ต่อโฟลเดอร์ พิจารณาว่าเราจะเขียน …

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