我刚刚遵循了Digital Ocean的指示。之后:
sudo gunicorn --bind 0.0.0.0:8000 nameofmyproject.wsgi:application
绑定Gunicorn我的站点不可用。我试图将端口从8000更改为80(我输入mysite.com:8000却无法正常工作...),然后该站点可访问,但没有任何静态文件(如CSS)和图像。不知道为什么会这样。
sudo ss -naptu state listening | grep :80
输出为:
tcp 0 128 *:8000 *:* users:(("gunicorn",pid=18461,fd=5),("gunicorn",pid=18455,fd=5))
我该怎么办?这是我的第一次部署,因此我非常感谢非常简单的说明...
答案 0 :(得分:0)
当您绑定到http://server_domain_or_IP:8000
时,该站点将在端口8000上可用,例如manage.py runserver
(就像您在本教程前面尝试gunicorn
时一样。
该站点可以访问,但没有任何静态文件,例如CSS和图像
本教程说明{{1}}不处理静态文件。稍后将由nginx完成。您正在看到预期的行为,因此可以继续学习本教程。
接下来,本教程将gunicorn更改为使用套接字文件而不是端口8000,然后最终将Nginx配置为使用套接字文件将传递代理到gunicorn。此时,您将看到您的站点,包括静态文件。
答案 1 :(得分:0)
manage.py runserver
它仅用于开发,如果要在生产环境中运行它,则必须使用nginx和gunicorn之类的东西
/etc/systemd/system/gunicorn.service
[Unit]
Description=gunicorn daemon
After=network.target
[Service]
User=vbaddict
Group=vbaddict
WorkingDirectory=/...../
ExecStart=/...../bin/gunicorn --bind=127.0.0.1 --timeout 120 --workers 1 --bind unix:/.../application.sock project.wsgi:application
[Install]
WantedBy=multi-user.target
/etc/nginx/conf.d/site.conf
server {
listen 80;
server_name carius.vbaddict.net;
access_log /var/log/.../.log;
location / {
include proxy_params;
proxy_pass http://unix:/home/..../application.sock;
proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
send_timeout 600;
}
}
这是一个小例子
它需要一个静态文件,只需运行:
python manage.py collectstatic