【发布时间】:2021-12-26 12:52:03
【问题描述】:
我正在做一个项目,我已将它托管在 ec2 上,以查看一切是否正常。 目前它只是一个没有端点的单页应用程序。
问题是它只有在我使用 my_domain:8000 或 my_ip:8000 时才有效
这是我写的配置文件。
server {
listen 8000;
server_name mydomain.info;
# to avoid any error while fetching fevicon
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root /home/ubuntu/dev/myproject;
}
location / {
include proxy_params;
# communicate via socket file created by Gunicorn
proxy_pass http://unix:/home/ubuntu/dev/myproject.sock;
}
}
我使用以下方式启用它:
sudo ln -s /etc/nginx/sites-available/config-file /etc/nginx/sites-enabled/
之后,我使用 - 重新启动了 nginx-
sudo systemctl restart nginx
然后启动服务器使用-
python3 manage.py runserver 0.0.0.0:8000
这是我第一次这样做,我认为我在配置文件或启用它时做错了,但我无法弄清楚。
更新配置文件后-
server {
listen 80;
server_name mydomain.info;
client_body_buffer_size 10k;
location = /favicon.ico { access_log off; log_not_found off; }
location /staticfiles/ {
root /home/ubuntu/dev/myproject;
}
location /media/ {
root /home/ubuntu/dev/myproject;
}
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://unix:/home/ubuntu/aman-personal/aman-
personal.sock;
proxy_read_timeout 120;
}
}
【问题讨论】:
-
如果你明确告诉 nginx 监听 8000 端口,你为什么希望它响应 80 端口? ;)
-
@alexakarpov 是的,我意识到了。谢谢:)
标签: python-3.x django amazon-ec2 web-hosting