首页 帮助中心 新加坡高防服务器 Linux中用Nginx和Gunicorn 托管 Django的步骤
Linux中用Nginx和Gunicorn 托管 Django的步骤
时间 : 2024-09-19 11:42:56 编辑 : 华纳云 阅读量 : 592

Linux中使用Nginx和Gunicorn托管Django应用程序的步骤如下:

先更新软件包,安装好必要的软件:

sudo apt update

安装Nginx

sudo apt install nginx

安装Python和虚拟环境

sudo apt install python3-pip python3-venv

设置Django项目,创建并激活虚拟环境:

mkdir ~/myproject

cd ~/myproject

python3 -m venv myprojectenv

source myprojectenv/bin/activate

安装Django和Gunicorn

pip install django gunicorn

创建Django:

django-admin startproject myproject .

在myproject/settings.py中,设置ALLOWED_HOSTS:

ALLOWED_HOSTS = ['your_server_domain_or_IP']

完成Django的配置。运行数据库迁移:

python manage.py migrate

创建一个超级用户(可选):

python manage.py createsuperuser

测试:

python manage.py runserver 0.0.0.0:8000

访问 http://your_server_domain_or_IP:8000 确保项目正常运行。

停止运行中的Django开发服务器,使用Gunicorn启动应用:

gunicorn --workers 3 myproject.wsgi:application

创建一个名为myproject.service的systemd服务文件:

sudo nano /etc/systemd/system/myproject.service

内容为:

[Unit]

Description=gunicorn daemon for myproject

After=network.target

 

[Service]

User=your_user

Group=www-data

WorkingDirectory=/home/your_user/myproject

ExecStart=/home/your_user/myproject/myprojectenv/bin/gunicorn --workers 3 --bind unix:/home/your_user/myproject/myproject.sock myproject.wsgi:application

 

[Install]

WantedBy=multi-user.target

保存并退出。

启动并启用Gunicorn:

sudo systemctl start myproject

sudo systemctl enable myproject

创建一个名为myproject的Nginx配置文件:

sudo nano /etc/nginx/sites-available/myproject

内容为:

server {

    listen 80;

    server_name your_server_domain_or_IP;

 

    location = /favicon.ico { access_log off; log_not_found off; }

    location /static/ {

        root /home/your_user/myproject;

    }

 

    location / {

        include proxy_params;

        proxy_pass http://unix:/home/your_user/myproject/myproject.sock;

    }

}

保存并且退出。启用Nginx:

sudo ln -s /etc/nginx/sites-available/myproject /etc/nginx/sites-enabled

测试Nginx:

sudo nginx -t

重启Nginx:

sudo systemctl restart nginx

配置防火墙:

sudo ufw allow 'Nginx Full'

现在,打开浏览器,访问http://your_server_domain_or_IP,你应该可以看到Django应用程序正在运行。

以上步骤可以完成在linux中使用Nginx和Gunicorn托管了Django应用程序。Nginx是反向代理服务器,将请求转发给Gunicorn处理,Gunicorn作为应用服务器运行Django项目。这种设置提供了更好的性能和安全性,更多内容继续关注华纳云

华纳云 推荐文章
Linux启用或停止和重新启用Nginx的2类方法 Ubuntu16.04如何配置和使用NGINX Web服务器 Ubuntu 18.04上如何设置Nginx服务器模块 Ubuntu 17.10安装LEMP环境Nginx,MariaDB,PHP7.1 在NGINX上安装SSL证书的详细步骤 Linux云服务器配置Nginx 301重定向 Nginx和uWSGI部署Django项目 CentOS7.2上搭建Nginx+PHP+MariaDB环境测试 CentOS 7环境下使用Nginx托管.Net Core应用程序 Nginx简单快速部署Vue的方法
活动
客服咨询
7*24小时技术支持
技术支持
渠道支持