首页 帮助中心 美国云服务器 Nginx和uWSGI部署Django项目
Nginx和uWSGI部署Django项目
时间 : 2024-10-30 10:35:27 编辑 : 华纳云 阅读量 : 67

Django项目部署时要使用Nginx和uWSGI,具体步骤流程华纳云分享如下!

前提条件是准备好已配置公网IP地址或绑定弹性公网IP的云服务器、操作系统应该为Linux 、Ubuntu 22.04、Ubuntu 20.04、Ubuntu 18.04等、 安装Python和Django,并确保Django项目可以正常工作、ECS实例安全组的入方向添加安全组规则并放行22、80、8001和8002端口。

先远程连接linux服务器。运行一下命令查看Python的具体信息:

which python3

ll /usr/bin/python*

再安装部署Nginx环境执行以下命令进行安装:

sudo yum -y install nginx

启动并查看Nginx服务状态:

sudo systemctl start nginx

systemctl status nginx

如果回显信息中出现Active: active (running),表示Nginx服务已启动。

安装uWSGI。用pip安装uWSGI

sudo pip3 install uwsgi

配置uWSGI。创建uWSGI配置文件(例如`uwsgi.ini`),配置项目路径、socket、进程数等参数。配置示例:

     ```

     [uwsgi]

     socket = 127.0.0.1:8001

     chdir = /home/myblog/uwsgi_project/

     wsgi-file = uwsgi_project/wsgi.py

     processes = 4

     threads = 2

     vacuum = true

     buffer-size = 65536

     ```

执行下面命令进行创建测试目录,以创建/home/myblog目录为例,根据需求自定义文件路径。

sudo mkdir /home/myblog

执行下面命令,创建并编辑测试程序文件test.py:

cd /home/myblog

sudo vim test.py

按I进入编辑模式,复制下面内容添加到文件中:

def application(env,start_response):

        start_response('200 ok',[('Content-Type','text/html')])

        return [b"Hello World"]

按Esc退出,输入:wq保存并退出文件,执行以下命令测试运行访问。

sudo /usr/local/bin/uwsgi --http :8001 --wsgi-file test.py

确保`socket`字段值与Nginx配置文件中的`uwsgi_pass`端口一致。

启动uWSGI服务.使用命令`uwsgi --ini uwsgi_config.ini`启动uWSGI服务。

配置Nginx。 配置Nginx的`server`块,设置监听端口、服务器名、静态文件路径和代理uWSGI的配置。示例配置:

     ```

     server {

         listen 80;

         server_name  your_domain_or_IP;

         location /static {

             alias /path/to/your/static/files;

         }

         location / {

             include uwsgi_params;

             uwsgi_pass 127.0.0.1:8001;

         }

     }

     ```

   - 确保`uwsgi_pass`指向uWSGI监听的地址和端口。

重启Nginx服务。使用命令`sudo systemctl restart nginx`重启Nginx服务。

安装Django:

sudo pip3 install Django

执行下面命令,创建项目。以创建项目文件uwsgi_project为例,您可以根据需求自定义文件夹。

sudo /usr/local/bin/django-admin.py startproject uwsgi_project

执行以下命令,编辑settings.py文件。

sudo vim /home/myblog/uwsgi_project/uwsgi_project/settings.py

输入i进入编辑模式,将ALLOWED_HOSTS = [ ]修改为ALLOWED_HOSTS = ["*"]。修改完成后,按Esc键,输入:wq保存并退出文件。

执行以下命令启动Django环境

cd /home/myblog/uwsgi_project

sudo python3 manage.py runserver 0.0.0.0:8002

如出现错误:

django.core.exceptions.ImproperlyConfigured: SQLite 3.9.0 or later is required (found 3.7.17).

可以将settings.py文件中的DATABASES注释掉,重新启动Django环境即可。修改settings.py文件的具体操作。

在本地电脑浏览器的地址栏输入http://<ECS实例的公网IP地址>:8002,即可访问相关Django页面。

访问Django页面:在浏览器中输入`http://<ECS实例的公网IP地址>`,即可访问Django页面。

以上步骤概述了使用Nginx和uWSGI部署Django项目的流程。具体配置可能因项目和环境差异而有所不同,需要根据实际情况进行调整。

华纳云 推荐文章
Postgresql日志配置和管理的步骤 Linux、MacOS和Windows 加密文件的方法 LLVM编译器定义及基础架构分析 盘点Bash的日常使用技巧有哪些 备份和恢复Docker数据的常用方法 解决不同环境下脚本运行兼容性问题的办法 云服务器中DDOS基础防护的原理 API集成优化代码的渠道有哪些 C/C++ 静态代码检测工具分享 Windows云主机磁盘空间不足如何处理?
客服咨询
7*24小时技术支持
技术支持
渠道支持