在Linux服务器上使用Nginx + uWSGI部署Django项目的步骤如下:

1. 登录服务器

  1. 使用SSH登录
    • 打开终端,使用SSH登录到服务器。
    ssh username@your_server_ip

2. 更新系统包

  1. 更新包列表
    • 更新系统的包列表。
    sudo apt-get update
  2. 升级已安装的包
    • 升级已安装的包到最新版本。
    sudo apt-get upgrade

3. 安装Python和Pip

  1. 安装Python
    • 安装Python 3和pip。
    sudo apt-get install python3 python3-pip

4. 安装并配置虚拟环境

  1. 安装virtualenv
    • 安装 virtualenv 工具来创建虚拟环境。
    sudo pip3 install virtualenv
  2. 创建虚拟环境
    • 在项目目录中创建虚拟环境。
    mkdir ~/myproject
    cd ~/myproject
    virtualenv myprojectenv
  3. 激活虚拟环境
    • 激活虚拟环境。
    source myprojectenv/bin/activate

5. 安装Django和uWSGI

  1. 安装Django
    • 在虚拟环境中安装Django。
    pip install django
  2. 安装uWSGI
    • 安装uWSGI。
    pip install uwsgi

6. 创建Django项目

  1. 创建Django项目
    • 在项目目录中创建Django项目。
    django-admin startproject myproject .
  2. 迁移数据库
    • 迁移数据库。
    python manage.py migrate
  3. 创建超级用户
    • 创建Django超级用户。
    python manage.py createsuperuser

7. 配置uWSGI

  1. 创建uWSGI配置文件
    • 创建uWSGI配置文件。
    nano ~/myproject/myproject_uwsgi.ini
  2. 添加配置内容
    • 在文件中添加以下内容。
    [uwsgi]
    project = myproject
    base = /home/username/myproject
    
    chdir = %(base)
    home = %(base)/myprojectenv
    module = %(project).wsgi:application
    
    master = true
    processes = 5
    
    socket = %(base)/%(project).sock
    chmod-socket = 660
    vacuum = true

8. 安装并配置Nginx

  1. 安装Nginx
    • 安装Nginx。
    sudo apt-get install nginx
  2. 创建Nginx配置文件
    • 创建Nginx配置文件。
    sudo nano /etc/nginx/sites-available/myproject
  3. 添加配置内容
    • 在文件中添加以下内容。
    server {
        listen 80;
        server_name your_domain_or_ip;
    
        location / {
            include uwsgi_params;
            uwsgi_pass unix:/home/username/myproject/myproject.sock;
        }
    
        location /static/ {
            alias /home/username/myproject/static/;
        }
    
        location /media/ {
            alias /home/username/myproject/media/;
        }
    }
  4. 启用Nginx配置文件
    • 启用Nginx配置文件并禁用默认配置。
    sudo ln -s /etc/nginx/sites-available/myproject /etc/nginx/sites-enabled/
    sudo rm /etc/nginx/sites-enabled/default
  5. 测试Nginx配置
    • 测试Nginx配置是否正确。
    sudo nginx -t
  6. 重启Nginx服务
    • 重启Nginx服务以使配置生效。
    sudo systemctl restart nginx

9. 启动uWSGI

  1. 启动uWSGI
    • 使用uWSGI配置文件启动uWSGI。
    uwsgi --ini ~/myproject/myproject_uwsgi.ini

10. 配置防火墙(可选)

  1. 开放HTTP和HTTPS端口
    • 如果使用防火墙,需要开放HTTP(80)和HTTPS(443)端口。
    sudo ufw allow 80/tcp
    sudo ufw allow 443/tcp
    sudo ufw reload

11. 设置SSL证书(可选)

  1. 安装Certbot
    • 安装Certbot以获取免费的Let’s Encrypt SSL证书。
    sudo apt-get install certbot python3-certbot-nginx
  2. 获取SSL证书
    • 获取并配置SSL证书。
    sudo certbot --nginx -d your_domain
  3. 自动续期
    • 设置Certbot自动续期SSL证书。
    sudo certbot renew --dry-run

12. 访问Django项目

  1. 访问项目
    • 打开浏览器,访问 http://your_domain_or_ip,查看Django项目是否正常运行。

总结

在Linux服务器上使用Nginx + uWSGI部署Django项目的步骤包括登录服务器、更新系统包、安装Python和Pip、安装并配置虚拟环境、安装Django和uWSGI、创建Django项目、配置uWSGI、安装并配置Nginx、启动uWSGI、配置防火墙(可选)、设置SSL证书(可选)以及访问Django项目。通过这些步骤,您可以在Linux服务器上成功部署Django项目。

阿, 信

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

在线客服