Score:-1

ไม่สามารถเริ่ม ngnix

ธง kr

นักพัฒนาซอฟต์แวร์ของฉันได้เพิ่มการรับรองความถูกต้องของบุคคลที่สาม เช่น Google, Twitter ในเว็บไซต์ของเรา ฉันต้องการรับการพัฒนาในขณะนี้ สิ่งแรกที่ฉันต้องทำคือทดสอบการรับรองความถูกต้องของบุคคลที่สามเหล่านี้ใน localhost เขาให้ไฟล์การกำหนดค่าต่อไปนี้แก่ฉัน

เว็บไซต์ my ต้นน้ำ {
   เซิร์ฟเวอร์ 178.62.00.00:443;
}

เซิร์ฟเวอร์ {
    ฟัง 443 ssl;
    server_name localhost;
    ssl_certificate /etc/ssl/localhost/localhost.crt;
    ssl_certificate_key /etc/ssl/localhost/localhost.key;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    เปิด ssl_prefer_server_ciphers;
    ssl_session_timeout 1d;
    เปิด ssl_stapling;
    เปิด ssl_stapling_verify;
    add_header การขนส่งที่เข้มงวด - ความปลอดภัยสูงสุดอายุ = 15768000;
    add_header X-Frame-ตัวเลือก "";
    proxy_ssl_name "www.mywebsite.io";
    เปิด proxy_ssl_server_name;

    ตำแหน่ง ~ /socialLoginSuccess {
        เขียนใหม่ ^ '/#/socialLoginSuccess' เปลี่ยนเส้นทาง;
    }

    ตำแหน่ง ~ /auth/(.*) {
        proxy_pass https://mywebsite/myapp/auth/$1?$query_string;
        proxy_set_header โฮสต์ localhost;
    }

    ที่ตั้ง / {
        proxy_set_header โฮสต์ $host;
        proxy_set_header X-ส่งต่อ-สำหรับ $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header ยอมรับการเข้ารหัส "";
        proxy_set_header พร็อกซี "";
        proxy_pass http://localhost:3000/;

        # สามบรรทัดนี้เพิ่มตาม https://github.com/socketio/socket.io/issues/1942 เพื่อลบข้อผิดพลาด socketio
        proxy_http_version 1.1;
        proxy_set_header อัพเกรด $http_upgrade;
        proxy_set_header การเชื่อมต่อ "อัพเกรด";
    }
}

แล้วใส่เป็น /usr/local/etc/nginx/nginx.conf ภายใต้ MacOS ของฉัน อย่างไรก็ตาม ฉันไม่สามารถเรียกใช้ nginx ได้สำเร็จ:

$ nginx -t
nginx: [emerg] ไม่อนุญาตให้ใช้คำสั่ง "upstream" ที่นี่ใน /usr/local/etc/nginx/nginx.conf:1
nginx: การทดสอบไฟล์การกำหนดค่า /usr/local/etc/nginx/nginx.conf ล้มเหลว

บริการ $ brew เริ่มต้น nginx
==> เริ่มต้น `nginx` สำเร็จ (ป้ายกำกับ: homebrew.mxcl.nginx)

รายการบริการ $ ชง
คำเตือน: ขวดการโทร: เลิกใช้แล้ว! ไม่มีการแทนที่
โปรดรายงานปัญหานี้ไปที่แถบแถบ/แถบ-cli tap (ไม่ใช่ Homebrew/brew หรือ Homebrew/core):
  /usr/local/Homebrew/Library/Taps/stripe/homebrew-stripe-cli/stripe.rb:9

256
ชื่อ สถานะ รายชื่อผู้ใช้
[email protected] หยุดทำงาน          
ข้อผิดพลาด nginx softtimur /usr/local/opt/nginx/homebrew.mxcl.nginx.plist

ไม่มีใครรู้วิธีการที่จะแก้ไขปัญหานี้?

แก้ไข 1:

ฉันพยายามใช้ การกำหนดค่าเริ่มต้นของ nginx, แต่ บริการชงรีสตาร์ท nginx ติดตามโดย รายการบริการชง ยังคงแสดงข้อผิดพลาด

Richard Smith avatar
jp flag
ดู[คำถามและคำตอบนี้](https://stackoverflow.com/questions/41766195/nginx-emerg-server-directive-is-not-allowed-here/41766811#41766811)ใน SO
kr flag
ฉันลอง [สิ่งนี้] (https://pastebin.com/raw/weqgti9B) `บริการชงเริ่มใหม่ nginx` ตามด้วย `รายการบริการชง` ยังคงส่งคืนข้อผิดพลาด
us flag
เนื้อหาของบันทึกข้อผิดพลาด nginx คืออะไร ผลลัพธ์ของ `nginx -T` คืออะไร สังเกตเมืองหลวง `T`
kr flag
`nginx -T` ส่งคืน `nginx: [emerg] ไม่สามารถโหลดคีย์ใบรับรอง "/etc/ssl/localhost/localhost.key": BIO_new_file() ล้มเหลว (SSL: ข้อผิดพลาด:0200100D:ไลบรารีระบบ:fopen:อนุญาตถูกปฏิเสธ:fopen( '/etc/ssl/localhost/localhost.key','r') error:2006D002:BIO รูทีน:BIO_new_file:system lib) nginx: ไฟล์การกำหนดค่า /usr/local/etc/nginx/nginx.conf การทดสอบล้มเหลว ' `sudo nginx -T` ส่งคืน `nginx: ไฟล์การกำหนดค่า /usr/local/etc/nginx/nginx.conf ไวยากรณ์ก็โอเค nginx: ไฟล์การกำหนดค่า /usr/local/etc/nginx/nginx.conf ทดสอบสำเร็จ `มีทุกที่ที่ฉันสามารถดูเพิ่มเติมเกี่ยวกับบันทึกข้อผิดพลาด nginx ได้หรือไม่
Score:1
ธง us

ข้อมูลโค้ดการกำหนดค่าที่กำหนดโดยเพื่อนร่วมงานของคุณควรอยู่ภายใน http บล็อก.

แต่เมื่อใส่ลงไปแล้ว nginx.conf และใช้สิ่งนั้นเป็นการกำหนดค่า nginx มันใช้งานไม่ได้เพราะไฟล์ http ระดับหายไป

nginx มักจะมาพร้อมกับไฟล์ nginx.conf ไฟล์ซึ่งมีค่าเริ่มต้นที่ดีแล้ว รวม ข้างใน http ส่วนเพื่อรวมการกำหนดค่าอื่นๆ

คุณต้องตรวจสอบ nginx.conf มาพร้อมกับการติดตั้ง nginx ของคุณและดูว่ามันรวมไฟล์ปรับแต่งอื่น ๆ อย่างไร

kr flag
ฉันพยายามใช้ [default configuration of nginx](https://pastebin.com/raw/aHwcV8qD) แต่ `brew services restart nginx` ตามด้วย `brew services list` ยังคงแสดงข้อผิดพลาด
Score:0
ธง kr

ดูเหมือนว่า บริการชงเริ่ม nginx, รายการบริการชง, บริการชงหยุด nginx ไม่น่าเชื่อถือที่นี่

ตรงกันข้าม, sudo nginx (เพื่อเริ่ม nginx) และ sudo nginx -s หยุด ทำงานให้ฉัน

โพสต์คำตอบ

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