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

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


8
ฉันจะสร้างตำแหน่งใน nginx ที่ทำงานกับและไม่มีเครื่องหมายทับได้อย่างไร
ตอนนี้ฉันมีการกำหนดค่านี้: location ~ ^/phpmyadmin/(.*)$ { alias /home/phpmyadmin/$1; } อย่างไรก็ตามถ้าฉันไปเยี่ยมwww.mysite.com/phpmyadmin(สังเกตว่าไม่มีรอยต่อท้าย) จะไม่พบสิ่งที่ฉันกำลังมองหา 404 ฉันคิดว่าเพราะฉันไม่ได้รวมเครื่องหมายทับ ฉันจะแก้ไขสิ่งนี้ได้อย่างไร
46 nginx 

3
วิธีการปิดการใช้งานการหมดเวลาสำหรับ nginx?
บนเครื่องพัฒนาท้องถิ่นฉันมีพร็อกซีย้อนกลับ nginxดังนี้: server { listen 80; server_name myvirtualhost1.local; location / { proxy_pass http://127.0.0.1:8080; } server { listen 80; server_name myvirtualhost2.local; location / { proxy_pass http://127.0.0.1:9090; } แต่ถ้าฉันดีบั๊กแอปพลิเคชันของฉันการตอบสนองอาจล่าช้าเป็นระยะเวลาไม่ จำกัด แต่หลังจาก 30 วินาทีที่ฉันได้รับ: 504 Gateway Time-out เป็นการตอบสนอง ฉันจะปิดการใช้งานการหมดเวลาและให้ reverse proxy รอตลอดไปเพื่อตอบกลับได้อย่างไร และฉันชอบการตั้งค่าให้เป็นโกลบอลดังนั้นฉันไม่จำเป็นต้องตั้งค่าสำหรับแต่ละพร็อกซี

2
การเขียน url ใหม่ของ nginx: ความแตกต่างระหว่างตัวแบ่งและตัวสุดท้าย
ฉันไม่เข้าใจความแตกต่างระหว่างการหยุดพักและครั้งสุดท้าย (ตั้งค่าสถานะการเขียนใหม่) เอกสารค่อนข้างลึกซึ้ง ฉันพยายามสลับระหว่างสองอย่างในการกำหนดค่าบางอย่างของฉัน แต่ฉันไม่เห็นความแตกต่างของพฤติกรรม ใครช่วยอธิบายธงเหล่านี้ให้ละเอียดหน่อยได้ไหม? มีตัวอย่างที่แสดงพฤติกรรมที่แตกต่างกันโดยเฉพาะอย่างยิ่งเมื่อพลิกธงหนึ่งไปยังอีก
45 nginx  rewrite 

1
Nginx - ความหมายของ ~ (tilde) ในบล็อกตำแหน่งของ nginx.conf
ความหมายของเครื่องหมายตัวหนอนหลังจากบล็อกตำแหน่งในการกำหนดค่า nginx คืออะไร? ตัวอย่างเช่น location ~ ^/download/(.*)$ { alias /home/website/files/$1; } ความแตกต่างระหว่างการมีและไม่มีการ "~"คืออะไร?
45 nginx  rewrite 

2
ให้เข้ารหัสด้วยพร็อกซีย้อนกลับ nginx
บทนำ ฉันมีเซิร์ฟเวอร์ dev (ปัจจุบันใช้งาน Ubuntu 14.04 LTS) ซึ่งฉันใช้มาระยะหนึ่งแล้วเพื่อใช้เป็นเครื่องมือในการพัฒนาบนพอร์ตต่างๆ เนื่องจากพอร์ตอาจจำยากฉันจึงตัดสินใจใช้พอร์ต 80 สำหรับบริการทั้งหมดของฉันและทำการส่งต่อพอร์ตภายในโดยใช้ชื่อโฮสต์ แทนที่จะเขียน domain.com:5432 ฉันสามารถเข้าถึงผ่าน sub.domain.com ตัวอย่างเช่นแอ็พพลิเคชัน X ซึ่งใช้พอร์ต 7547 และกำลังรันบน sub.domain.com มีการกำหนดค่า nginx ต่อไปนี้: upstream sub { server 127.0.0.1:7547; } server { listen 80; server_name sub.domain.com www.sub.domain.com; access_log /var/log/nginx/sub.log combined; location / { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header …

1
โฮสต์เสมือนแบบอิงชื่อ nginx บน IPv6
ฉันมีเซิร์ฟเวอร์ nginx ที่ให้บริการเว็บไซต์ที่แตกต่างกันเกือบครึ่งโหล มันกำลังทำงานบน Linode ที่เพิ่งรองรับ IPv6 ดั้งเดิม (ศูนย์ข้อมูลดัลลัส) และฉันพยายามกำหนดค่าไซต์ส่วนใหญ่ของฉันสำหรับการดำเนินการแบบ dual-stack ฉันได้โดเมนแรกและทำงานโดยใช้โดเมนย่อย IPv6 เท่านั้นเช่น: server { listen [::]:80 ipv6only=on; listen 80; server_name example.com ipv6.example.com; root /var/www/example.com/htdocs; #More stuff, including PHP, WordPress } สิ่งนี้ใช้งานได้ดี - example.com เป็น IPv4 เท่านั้น (ตอนนี้) และ ipv6.example.com นั้นเป็น IPv6 เท่านั้น (ส่วนใหญ่มีไว้เพื่อการทดสอบ) ฉันทำได้ping6 ipv6.example.comและแม้จะwget ipv6.example.comไม่ทำให้เหงื่อออก - มันก็ไม่เจ็บปวดอย่างน่าพอใจ …

4
ระดับการบีบอัด nginx ที่ดีที่สุดคืออะไร?
ฉันใช้แคชพร็อกซีย้อนกลับของ nginx เมื่อเปิดใช้งาน gzip อย่างไรก็ตามฉันมีปัญหาบางอย่างจากแอพพลิเคชั่น Android HTTP-ร้องขอไปยังบริการเว็บ Rails JSON ของฉัน ดูเหมือนว่าเมื่อฉันปิดแคชพร็อกซีย้อนกลับมันก็ใช้ได้เพราะส่วนหัวการตอบสนองมาโดยไม่ต้อง gzip ดังนั้นฉันคิดว่าปัญหาเกิดจาก gzip ระดับการบีบอัด gzip ที่เหมาะสมที่สุดคืออะไร? gzip on; gzip_http_version 1.0; gzip_vary on; gzip_comp_level 6; gzip_proxied any; gzip_types text/plain text/css text/javascript application/javascript application/json application/x-javascript text/xml application/xml application/xml+rss;
44 nginx  gzip 

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

1
ไม่อนุญาตให้ใช้คำสั่งเซิร์ฟเวอร์ nginx ที่นี่
ฉันรู้ว่ามีสิ่งล่อใจนี้ออกมาที่นั่น แต่ฉันไม่สามารถแก้ไขปัญหานี้ได้ในสถานการณ์ของฉัน ฉันกำลังติดตามบทความเกี่ยวกับการตั้งค่า nginx เป็น reverse proxy พร้อม apache และฉันได้รับข้อผิดพลาดนี้: nginx: [emerg] "server" directive is not allowed here in /etc/nginx/v.hosts/mydomain.com.conf:3 nginx: configuration file /etc/nginx/nginx.conf test failed /etc/nginx/nginx.confหน้าตาของฉันเป็นแบบนี้: http { include /etc/nginx/mime.types; default_type application/octet-stream; access_log /var/log/nginx/access.log main; charset utf-8; keepalive_timeout 65; server_tokens off; tcp_nopush on; tcp_nodelay off; server { listen 80; …

10
ข้อผิดพลาด nginx“ recv () ล้มเหลว (104: การเชื่อมต่อรีเซ็ตโดยเพียร์) ในขณะที่อ่านหัวข้อการตอบสนองจากต้นน้ำ”
ฉันมีเซิร์ฟเวอร์ที่ใช้งานได้จนถึงวันที่ 3 ตุลาคม 2556 เวลา 10:50 น. เมื่อมันเริ่มส่งคืนข้อผิดพลาด "502 Bad Gateway" เป็นระยะ ๆ ให้กับลูกค้า การร้องขอเบราว์เซอร์ประมาณ 4 จาก 5 ประสบความสำเร็จ แต่ประมาณ 1 ใน 5 ล้มเหลวด้วย 502 บันทึกข้อผิดพลาด nginx มีข้อผิดพลาดหลายร้อยรายการ 2013/10/05 06:28:17 [error] 3111#0: *54528 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 66.249.66.75, server: www.bec-components.co.uk …
44 php  nginx 

2
regex ตำแหน่ง Nginx ไม่สามารถใช้งานได้กับการผ่านพรอกซี
ฉันกำลังพยายามทำให้คำสั่งตำแหน่ง 2 ตำแหน่งเหล่านี้ทำงานใน Nginx แต่ฉันได้รับข้อผิดพลาดกลับมาเมื่อทำการบูท Nginx location ~ ^/smx/(test|production) { proxy_pass http://localhost:8181/cxf; } location ~ ^/es/(test|production) { proxy_pass http://localhost:9200/; } นี่เป็นข้อผิดพลาดที่ฉันได้รับ: nginx: [emerg] "proxy_pass" cannot have URI part in location given by regular expression, or inside named location, or inside "if" statement, or inside "limit_except" block มันฟังดูคุ้นหูกับทุกคนไหม? สิ่งที่ฉันหายไปที่นี่
43 nginx  proxy  regex  proxypass 

4
วิธี จำกัด การเข้าถึงไดเรกทอรีและส่วนย่อย
ฉันจำเป็นต้อง จำกัด การเข้าถึงไฟล์หรือส่วนย่อยใน direstory "testdir" ความมั่นใจของฉัน: ... location ~* ^.+\.(jpg|txt)$ { root /var/www/site; } location /testdir { deny all; return 404; } ... ในการกำหนดค่าของฉันฉันไม่มีข้อ จำกัด ใน / testdir / jpg_or_txt-files ทำอย่างไร?
42 nginx  rewrite  deny 

3
อะไรคือความแตกต่างระหว่างตัวแปร Nginx $ host, $ http_host และ $ server_name?
ความแตกต่างระหว่างสามตัวแปร Nginx คืออะไร$host, $http_hostและ$server_name? ฉันมีกฎการเขียนซ้ำที่ฉันไม่แน่ใจว่าควรใช้อันไหน: location = /vb/showthread.php { # /vb/showthread.php?50271-What-s-happening&p=846039 if ($arg_p) { return 301 $scheme://$host/forum/index.php?posts/$arg_p/; } ฉันกำลังมองหาคำตอบที่ไม่เพียง แต่พูดว่า 'ใช้ตัวแปร ___ ในกฎการเขียนซ้ำของคุณ' แต่ยังอธิบายถึงความแตกต่างทางทฤษฎีระหว่างพวกเขาด้วย
42 nginx  rewrite 

4
ดัมพ์ nginx config จากกระบวนการรันอยู่?
เห็นได้ชัดว่าฉันไม่ควรใช้เวลากลางคืนโดยไม่ต้องนอนหลับเพื่อพยายามแก้ไขข้อบกพร่องของแอปพลิเคชัน ฉันต้องการรีสตาร์ท nginx ของฉันและค้นพบว่าไฟล์กำหนดค่าของมันว่างเปล่า ฉันจำไม่ได้ว่าตัดทอนมัน แต่นิ้วอ้วนและความสนใจที่ลดลงอาจเป็นส่วนหนึ่งของพวกเขา ฉันไม่มีข้อมูลสำรองของไฟล์กำหนดค่านั้น ฉันรู้ว่าฉันควรจะทำมัน ดีสำหรับฉันปัจจุบัน nginx daemon ยังคงทำงานอยู่ มีวิธีถ่ายโอนข้อมูลการกำหนดค่าไปยังไฟล์กำหนดค่าที่จะเข้าใจในภายหลังหรือไม่
42 nginx 

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