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

Nginx ("engine x") คือเว็บเซิร์ฟเวอร์พร็อกซีย้อนกลับพร็อกซีสตรีม TCP และพร็อกซีอีเมลซึ่งเผยแพร่ภายใต้ใบอนุญาตเหมือน BSD

4
เหตุใดยูนิคอร์นจึงจำเป็นต้องปรับใช้พร้อมกับ Nginx
ฉันต้องการทราบความแตกต่างระหว่าง Nginx และ Unicorn เท่าที่ฉันเข้าใจ Nginx เป็นเว็บเซิร์ฟเวอร์ในขณะที่ Unicorn เป็นเซิร์ฟเวอร์ Ruby HTTP เนื่องจากทั้ง Nginx และ Unicorn สามารถจัดการการร้องขอ HTTP จำเป็นต้องใช้การรวมกันของ Nginx และ Unicorn สำหรับแอปพลิเคชัน RoR อย่างไร

6
มี nginx access_log และ error_log เข้าสู่ STDOUT และ STDERR ของกระบวนการหลัก
มีวิธีการบันทึกกระบวนการหลักเป็น STDOUT STDERR แทนไฟล์หรือไม่? ดูเหมือนว่าคุณสามารถส่งไฟล์พา ธ ไปยังคำสั่ง access_log เท่านั้น: access_log /var/log/nginx/access.log และเช่นเดียวกันสำหรับ error_log: error_log /var/log/nginx/error.log ฉันเข้าใจว่านี่อาจไม่ใช่คุณสมบัติของ nginx ฉันสนใจในโซลูชันที่กระชับซึ่งใช้ tail เป็นต้น เป็นที่ดีกว่าแม้ว่ามันจะมาจากกระบวนการหลักแม้ว่าฉันจะใช้ nginx อยู่เบื้องหน้าก็ตาม
137 nginx 

4
วิธีเปลี่ยนเส้นทาง url ใน NGINX
ฉันจำเป็นต้องเปลี่ยนเส้นทางทุกhttp://test.comการร้องขอไปยังhttp://www.test.com สามารถทำได้อย่างไร. ในบล็อกเซิร์ฟเวอร์ฉันพยายามเพิ่ม rewrite ^/(.*) http://www.test.com/$1 permanent; แต่ในเบราว์เซอร์ระบุว่า The page isn't redirecting properly Firefox has detected that the server is redirecting the request for this address in a way that will never complete. บล็อกเซิร์ฟเวอร์ของฉันดูเหมือน server { listen 80; server_name test.com; client_max_body_size 10M; client_body_buffer_size 128k; root /home/test/test/public; passenger_enabled on; rails_env production; …

1
ประเภท MIME "text / html" ซ้ำกันไหม
ฉันมีสิ่งนี้ในไฟล์คอนฟิกูเรชัน Nginx gzip_types text/plain text/html text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript; แต่ Nginx ให้ข้อผิดพลาดเมื่อเริ่มต้น [warn]: duplicate MIME type "text/html" in /etc/nginx/nginx.conf:25 ซ้ำกับtext/htmlอะไร มันคือtext/plainอะไร?
132 nginx  mime-types 

6
ค้นหาไฟล์ nginx.conf ที่ nginx ของฉันใช้จริง
ทำงานบนเซิร์ฟเวอร์ของไคลเอนต์ที่มีการติดตั้ง nginx สองเวอร์ชันที่แตกต่างกัน ฉันคิดว่าหนึ่งในนั้นได้รับการติดตั้งด้วยตัวจัดการแพ็คเกจการชง (มันเป็นกล่อง osx) และอีกอันดูเหมือนจะถูกรวบรวมและติดตั้งด้วย Makefile ที่บรรจุ nginx ฉันค้นหาไฟล์ nginx.conf ทั้งหมดบนเซิร์ฟเวอร์ แต่ไม่มีไฟล์ใดเลยที่กำหนดพารามิเตอร์ที่ nginx ใช้จริงเมื่อฉันเริ่มต้นบนเซิร์ฟเวอร์ ไฟล์ nginx.conf ที่ฉันไม่รู้จักอยู่ที่ไหน
131 macos  nginx  sysadmin 

8
Nginx reverse proxy ทำให้เกิด 504 Gateway Timeout
ฉันใช้ Nginx เป็นพร็อกซีย้อนกลับที่รับคำขอจากนั้นใช้ proxy_pass เพื่อรับเว็บแอปพลิเคชันจริงจากเซิร์ฟเวอร์ต้นน้ำที่ทำงานบนพอร์ต 8001 หากฉันไปที่ mywebsite.com หรือทำ wget ฉันจะได้รับ 504 Gateway Timeout หลังจาก 60 วินาที ... อย่างไรก็ตามหากฉันโหลด mywebsite.com:8001 แอปพลิเคชันจะโหลดตามที่คาดไว้! มีบางอย่างที่ขัดขวาง Nginx จากการสื่อสารกับเซิร์ฟเวอร์ต้นน้ำ ทั้งหมดนี้เริ่มต้นขึ้นหลังจาก บริษัท โฮสติ้งของฉันรีเซ็ตเครื่องสิ่งที่ฉันกำลังทำงานอยู่ก่อนหน้านั้นไม่มีปัญหาใด ๆ นี่คือบล็อกเซิร์ฟเวอร์ vhosts ของฉัน: server { listen 80; server_name mywebsite.com; root /home/user/public_html/mywebsite.com/public; access_log /home/user/public_html/mywebsite.com/log/access.log upstreamlog; error_log /home/user/public_html/mywebsite.com/log/error.log; location / { proxy_pass http://xxx.xxx.xxx.xxx:8001; proxy_redirect …

9
จะรัน Nginx ภายใน Docker container โดยไม่หยุดได้อย่างไร
ฉันติดตั้ง Nginx บนคอนเทนเนอร์ Docker แล้วและกำลังพยายามเรียกใช้เช่นนี้: docker run -i -t -p 80:80 mydockerimage /usr/sbin/nginx ปัญหาคือวิธีการทำงานของ Nginx คือกระบวนการเริ่มต้นจะสร้างกระบวนการ Nginx หลักและคนงานบางส่วนทันทีจากนั้นจึงหยุดทำงาน เนื่องจาก Docker กำลังเฝ้าดู PID ของคำสั่งดั้งเดิมเท่านั้นคอนเทนเนอร์จึงหยุดลง ฉันจะป้องกันไม่ให้ภาชนะหยุดทำงานได้อย่างไร ฉันต้องสามารถบอกให้เชื่อมโยงกับกระบวนการลูกแรกหรือหยุดกระบวนการเริ่มต้นของ Nginx ไม่ให้ออก
130 linux  nginx  docker 

11
NGINX: อัปสตรีมหมดเวลา (110: หมดเวลาการเชื่อมต่อ) ขณะอ่านส่วนหัวการตอบกลับจากต้นน้ำ
ฉันมี Puma ทำงานเป็นเซิร์ฟเวอร์แอปต้นน้ำและ Riak เป็นคลัสเตอร์ฐานข้อมูลพื้นหลังของฉัน เมื่อฉันส่งคำขอให้แผนที่ลดจำนวนข้อมูลสำหรับผู้ใช้ประมาณ 25K และส่งคืนจาก Riak ไปยังแอปฉันได้รับข้อผิดพลาดในบันทึก Nginx: อัปสตรีมหมดเวลา (110: หมดเวลาการเชื่อมต่อ) ขณะอ่านส่วนหัวการตอบสนองจากต้นน้ำ หากฉันสอบถามต้นน้ำโดยตรงโดยไม่ใช้ nginx proxy ด้วยคำขอเดียวกันฉันจะได้รับข้อมูลที่ต้องการ การหมดเวลาของ Nginx จะเกิดขึ้นเมื่อใส่พร็อกซี **nginx.conf** http { keepalive_timeout 10m; proxy_connect_timeout 600s; proxy_send_timeout 600s; proxy_read_timeout 600s; fastcgi_send_timeout 600s; fastcgi_read_timeout 600s; include /etc/nginx/sites-enabled/*.conf; } **virtual host conf** upstream ss_api { server 127.0.0.1:3000 max_fails=0 fail_timeout=600; …
130 nginx  timeout  puma 

5
วิธีเริ่ม nginx ผ่านพอร์ตอื่น (นอกเหนือจาก 80)
สวัสดีฉันเป็นมือใหม่ใน nginx ฉันพยายามตั้งค่าบนเซิร์ฟเวอร์ของฉัน (ใช้ Ubuntu 4) ซึ่งมี apache ทำงานอยู่แล้ว หลังจากapt-get installนั้นฉันพยายามเริ่ม nginx จากนั้นฉันจะได้รับข้อความดังนี้: Starting nginx: the configuration file /etc/nginx/nginx.conf syntax is ok configuration file /etc/nginx/nginx.conf test is successful [emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use) [emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use) [emerg]: bind() …
128 ubuntu  nginx 

1
Nginx โดเมนที่แตกต่างกันบน IP เดียวกัน
ฉันต้องการโฮสต์ 2 โดเมนที่แตกต่างกันในเซิร์ฟเวอร์เดียวกันโดยใช้ nginx ฉันเปลี่ยนเส้นทางโดเมนทั้งสองไปยังโฮสต์นี้ผ่านคุณสมบัติ @ แม้ว่าฉันจะกำหนดค่าเซิร์ฟเวอร์ 2 บล็อกที่แตกต่างกัน แต่เมื่อใดก็ตามที่ฉันพยายามเข้าถึงโดเมนที่สองมันจะเปลี่ยนเส้นทางไปยังโดเมนแรก นี่คือ config ของฉัน server { listen www.domain1.com:80; access_log /var/log/nginx/host.domain1.access.log main; root /var/www/domain1; server_name www.domain1.com; location ~ \.php$ { # Security: must set cgi.fixpathinfo to 0 in php.ini! fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; include …
127 nginx  dns 

3
ข้อผิดพลาด nginx“ ชื่อเซิร์ฟเวอร์ที่ขัดแย้งกัน” ถูกละเว้น [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน7 ปีที่ผ่านมา ปรับปรุงคำถามนี้ server { #listen 80; ## listen for ipv4; this line is default and implied #listen [::]:80 default ipv6only=on; ## listen for ipv6 #root /usr/share/nginx/www; root /home/ubuntu/node-login; # Make site accessible from server_name ec2-xx-xx-xxx-xxx.us-west-1.compute.amazonaws.com; location /{ proxy_pass http://127.0.0.1:8000/; proxy_redirect off; } …
125 nginx 

16
การเพิ่ม client_max_body_size ใน Nginx conf บน AWS Elastic Beanstalk
ฉันพบข้อผิดพลาด"413 Request Entity Too Large"เมื่อโพสต์ไฟล์ที่มีขนาดใหญ่กว่า 10MB ไปยัง API ของเราที่ทำงานบน AWS Elastic Beanstalk ฉันได้ทำการวิจัยมาพอสมควรและเชื่อว่าฉันจำเป็นต้องอัพclient_max_body_sizeสำหรับ Nginx แต่ดูเหมือนว่าฉันจะไม่พบเอกสารใด ๆ เกี่ยวกับวิธีการใช้งาน Elastic Beanstalk ฉันเดาว่าต้องแก้ไขโดยใช้ไฟล์ ebetension ใครมีความคิดว่าฉันจะเพิ่มขีด จำกัด ได้อย่างไร? 10MB ค่อนข้างอ่อนแอต้องมีวิธีอัพด้วยตนเอง

7
nginx server_name wildcard หรือ catch-all
ฉันมีตัวอย่างของ nginx ที่ทำงานซึ่งให้บริการหลายเว็บไซต์ ข้อความแรกคือข้อความสถานะบนที่อยู่ IP ของเซิร์ฟเวอร์ admin.domain.comประการที่สองคือคอนโซลผู้ดูแลระบบบน เหล่านี้ทำงานได้ดี ตอนนี้ฉันต้องการให้คำขอโดเมนอื่น ๆ ไปที่รายการเดียวindex.php- ฉันมีโดเมนและโดเมนย่อยมากมายและไม่สามารถแสดงรายการทั้งหมดในการกำหนดค่า nginx ได้ จนถึงตอนนี้ฉันได้ลองตั้งค่าserver_nameไปแล้ว*แต่ล้มเหลวเนื่องจากสัญลักษณ์แทนไม่ถูกต้อง *.*ใช้งานได้จนกว่าฉันจะเพิ่มบล็อกเซิร์ฟเวอร์อื่นจากนั้นฉันเดาว่ามันขัดแย้งกับพวกเขา มีวิธีเรียกใช้บล็อกเซิร์ฟเวอร์ catch-all ใน nginx หลังจากกำหนดไซต์อื่นแล้วหรือไม่ หมายเหตุฉันไม่ใช่สแปมเมอร์ไซต์เหล่านี้เป็นไซต์ของแท้ที่มีเนื้อหาที่เป็นประโยชน์เพียงแค่ขับเคลื่อนโดย CMS เดียวกันจากฐานข้อมูล!

5
ตั้งค่า nginx ไม่ให้หยุดทำงานหากไม่พบโฮสต์ในต้นน้ำ
เรามีแอพทางรถไฟหลายตัวภายใต้โดเมนทั่วไปใน Docker และเราใช้ nginx เพื่อส่งคำขอไปยังแอพเฉพาะ our_dev_server.com/foo # proxies to foo app our_dev_server.com/bar # proxies to bar Config มีลักษณะดังนี้: upstream foo { server foo:3000; } upstream bar { server bar:3000; } # and about 10 more... server { listen *:80 default_server; server_name our_dev_server.com; location /foo { # this is specific to …

9
React-router และ nginx
ฉันกำลังเปลี่ยนแอปตอบกลับจาก webpack-dev-server เป็น nginx เมื่อฉันไปที่ root url "localhost: 8080 / login" ฉันได้รับ 404 และในบันทึก nginx ของฉันฉันเห็นว่ามันพยายามรับ: my-nginx-container | 2017/05/12 21:07:01 [error] 6#6: *11 open() "/wwwroot/login" failed (2: No such file or directory), client: 172.20.0.1, server: , request: "GET /login HTTP/1.1", host: "localhost:8080" my-nginx-container | 172.20.0.1 - - [12/May/2017:21:07:01 +0000] "GET …

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