Tôi có 2 máy chủ, một máy chủ ở Digital Ocean, máy chủ còn lại ở một nơi khác. Tôi có một dự án và nó hoạt động tốt với tất cả các ứng dụng trên máy chủ đó. Tuy nhiên, tôi muốn tạo một giọt và chuyển nó sang đại dương kỹ thuật số nên tôi đã sao chép tất cả các tệp sang máy chủ mới (đại dương kỹ thuật số) qua sudo scp
chỉ huy. Tất cả các dịch vụ đều hoạt động tốt ngoại trừ Nginx đang trả về Mã thoát 1 như hình ảnh bên dưới. Toàn bộ mã giống nhau nên tôi rất bối rối tại sao mã này không hoạt động như mã kia.
dịch vụ
Tôi có thể biết những gì tôi có thể thiếu?
đó là tệp nginx.conf của tôi:
công_nhân 4;
sự kiện {
công_nhân 4096 ;
}
http {
người phục vụ {
nghe 80 default_server;
tên máy chủ "";
trả lại 444;
}
người phục vụ {
server_name game-dev.myappapp.com;
địa điểm / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Máy chủ $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_http_version 1.1;
proxy_set_header Nâng cấp $http_upgrade;
proxy_set_header Kết nối "nâng cấp";
proxy_pass http://game_nodes;
proxy_redirect tắt;
}
}
người phục vụ {
nếu ($host = game-dev.myappapp.com) {
trả lại 301 https://$host$request_uri;
}
nghe 80;
nghe [::]:80;
server_name game-dev.myappapp.com;
trả lại 404;
}
ngược dòng game_nodes {
# kích hoạt phiên dính
#ip_hash;
trò chơi máy chủ-alpha:3000;
giữ nguyên 8;
}
người phục vụ {
server_name api-dev.myappapp.com;
địa điểm / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Máy chủ $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://main_nodes;
proxy_redirect tắt;
}
}
người phục vụ {
nếu ($host = api-dev.myappapp.com) {
trả lại 301 https://$host$request_uri;
}
nghe 80;
nghe [::]:80;
server_name api-dev.myappapp.com;
trả lại 404;
}
thượng nguồn main_nodes {
máy chủ chính-alpha:8000;
máy chủ chính-beta:8000;
giữ nguyên 8;
}
}
đó là Dockerfile của tôi:
TỪ nginx
SAO CHÉP nginx.conf /etc/nginx/nginx.conf
Như bạn có thể thấy từ ảnh chụp màn hình bên dưới (máy chủ bên trái là máy chủ nhỏ của tôi, máy chủ bên phải là máy chủ khác của tôi) thông thường máy chủ nhỏ của tôi không nghe cổng 80 mà máy chủ kia phải nghe cổng 80.
ảnh chụp màn hình
Đây là nhật ký Nginx của tôi.
root@knowin-project-dev:/home/cihat/app# docker log nginx
/docker-entrypoint.sh: /docker-entrypoint.d/ không trống, sẽ cố gắng thực hiện cấu hình
/docker-entrypoint.sh: Tìm kiếm shell script trong /docker-entrypoint.d/
/docker-entrypoint.sh: Khởi chạy /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
10-listen-on-ipv6-by-default.sh: thông tin: Nhận tổng kiểm tra của /etc/nginx/conf.d/default.conf
10-listen-on-ipv6-by-default.sh: thông tin: Đã bật nghe trên IPv6 trong /etc/nginx/conf.d/default.conf
/docker-entrypoint.sh: Khởi chạy /docker-entrypoint.d/20-envsubst-on-templates.sh
/docker-entrypoint.sh: Khởi chạy /docker-entrypoint.d/30-tune-worker-processes.sh
/docker-entrypoint.sh: Cấu hình hoàn tất; sẵn sàng khởi động
13/06/2021 20:22:46 [mới nổi] 1#1: chỉ thị không xác định "kích hoạt" trong /etc/nginx/nginx.conf:45
nginx: [nổi lên] chỉ thị không xác định "bật" trong /etc/nginx/nginx.conf:45
Lưu ý: trạng thái của ufw không hoạt động. Vì vậy, tất cả các cổng có sẵn.