我刚刚按照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))
我能做什么?这是我的第一次部署,所以我非常感谢非常简单的说明。。。
当您绑定到8000
时,该站点将在端口8000上可用,例如http://server_domain_or_IP:8000
(就像您在教程前面尝试manage.py runserver
时一样。
然后网站是可访问的,但没有任何静态文件,如css和图像
本教程解释了gunicorn
不处理静态文件。这将由nginx稍后完成。你看到了预期的行为,所以你可以继续学习教程。
接下来,本教程将gunicorn更改为使用套接字文件而不是端口8000,然后最后将Nginx配置为使用该套接字文件代理传递给gunicorn。此时,您将看到您的站点,包括静态文件。
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