ฉันมีเซิร์ฟเวอร์ VPS Linux (Ubuntu) ที่มี IP เฉพาะ และฉันต้องการเรียกใช้แอปของฉันบนโดเมนของตัวเอง http://my_domain.com ฉันได้สร้างคอนเทนเนอร์นักเทียบท่าและทำงานได้ดีบน localhost 0.0.0.0:80 จากนั้น ฉันคิดว่าฉันต้องกำหนดค่า nginx เพื่อเชื่อมต่อโดเมนของฉันกับเซิร์ฟเวอร์ IP
ฉันได้กำหนดค่า nginx ด้วยวิธีที่คล้ายกันเช่น ฉันจะส่งต่อคำขอจากเว็บเซิร์ฟเวอร์ได้อย่างไร แต่การใช้ https://cran.r-project.org/web/packages/ReviewR/vignettes/deploy_server.html#configuring-nginx-to-reverse-proxy-shiny-server , เช่น.
$ sudo nano /etc/nginx/sites-available/shiny
เซิร์ฟเวอร์ {
server_name my_domain.com;
ที่ตั้ง / {
proxy_pass http://localhost:80;
proxy_redirect / $scheme://$http_host/;
proxy_http_version 1.1;
proxy_set_header อัพเกรด $http_upgrade;
proxy_set_header การเชื่อมต่อ $connection_upgrade;
proxy_read_timeout 20d;
ปิด proxy_buffering;
}
}
อย่างไรก็ตาม ฉันมีสิ่งต่อไปนี้:
$ sudo systemctl โหลด nginx ใหม่
nginx.service ไม่ทำงาน โหลดซ้ำไม่ได้
จากนั้นฉันได้เขียน:
$ sudo บริการ nginx เริ่มต้น
งานสำหรับ nginx.service ล้มเหลวเนื่องจากกระบวนการควบคุมออกโดยมีรหัสข้อผิดพลาด
ดู "สถานะ systemctl nginx.service" และ "journalctl -xe" สำหรับรายละเอียด
นอกจากนี้ ฉันได้เขียน:
$ systemctl สถานะ nginx.service
â nginx.service - เว็บเซิร์ฟเวอร์ประสิทธิภาพสูงและเซิร์ฟเวอร์พร็อกซีย้อนกลับ
โหลดแล้ว: โหลดแล้ว (/lib/systemd/system/nginx.service; เปิดใช้งาน; การตั้งค่าล่วงหน้าของผู้ขาย: เปิดใช้งาน)
ใช้งานอยู่: ล้มเหลว (ผลลัพธ์: exit-code) ตั้งแต่ อา. 2022-05-15 18:53:40 CEST; 11s ที่แล้ว
ในที่สุด ฉันได้เขียน:
$ sudo nginx -t
nginx: [ฉุกเฉิน] ตัวแปร "connection_upgrade" ที่ไม่รู้จัก
nginx: การทดสอบไฟล์การกำหนดค่า /etc/nginx/nginx.conf ล้มเหลว
อย่างไรก็ตาม หากฉันไปที่ my_server_ip ฉันจะเห็นว่าแอปของฉันทำงานอยู่ ถ้าฉันไปที่ http://my_domain.com ฉันเห็นหน้าเริ่มต้นของผู้ให้บริการโฮสติ้ง ฉันไม่เห็นแอปของฉันทำงาน
ฉันต้องการทราบวิธีเรียกใช้แอปของฉันบนโดเมนของฉันเอง