Nginx+uWSGI+Django在Ubuntu下的部署

转载地址:http://www.linuxidc.com/Linux/2016-07/133490.htm


首先来介绍一下这三者之间的关系:

django是一个python web应用框架。采用了MVC的软件设计模式,即模型M,视图V和控制器C.

uwsgi是一个web服务器,它支持WSGI协议和uWSGI协议,通过协议规定的统一的接口,可以让web服务器和框架之间解耦,只需要支持相应的协议即可.

nginx ("engine x") 是一个高性能的HTTP和反向代理服务器.通过使用nginx可以将静态资源请求交由nginx来处理,动态请求再转发给应用.大大提高了效率.

1.django,django自带简单的web服务器,不过一般只用来做调试使用,不够稳定而且只支持单一进程.

2.django+uwsgi,通过使用uwsgi可以起多个进程来响应服务.

3.django+uwsgi+nginx,常用组合,效率较高.

1.django

(1)django安装 
sudo apt-get install python-django

(2)新建工程 
django-admin.py startproject test_project

(3)新建应用 
cd test_project/ && django-admin.py startapp test_app

(4)运行 
python manage.py runserver 127.0.0.1:8080

打开网页能看到django的提示界面就说明启动成功了

2.uwsgi

(1)安装 
sudo pip install uwsgi 
(2)运行

uwsgi --http :8000 --chdir /home/yixiang/Practice/Python/nginx_django/test_project --module test_project.wsgi

打开127.0.0.1:8000能看到之前django的欢迎界面表示uwsgi运行成功. 
(3)配置 
用命令行的方式启动参数较为复杂,我们一般用配置文件的方式,uwsgi支持多种配置文件格式,xml,ini等,我们这次使用xml作为例子.新建mytest_scoket.xml 目录.写入以下配置.

<uwsgi>
  <socket>127.0.0.1:8099</socket>
  <chdir>/home/yixiang/Practice/Python/nginx_django/test_project</chdir>
  <module>test_project.wsgi</module>
  <processes>1</processes>
  <daemonize>uwsgi.log</daemonize>
</uwsgi>

执行:uwsgi -x mytest_scoket.xml

3.nginx

(1)下载 
sudo apt-get install nginx 
(2)增加配置 
新建一个配置文件test_project_nginx.conf,写入如下配置:

server {

        listen   8000;
        server_name 127.0.0.1;
        access_log /home/yixiang/Practice/Python/nginx_django/test_project/access.log;
        error_log /home/yixiang/Practice/Python/nginx_django/test_project/error.log;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / { 
         include        uwsgi_params;
         uwsgi_pass     127.0.0.1:8099;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        location /static/ {
            alias /home/yixiang/Practice/Python/nginx_django/test_project/static/;
            index  index.html index.htm;
        }

        location /media/ {
            alias  /home/yixiang/Practice/Python/nginx_django/test_project/media/;
        }
    } 

然后将配置文件软连接到nginx的配置文件目录下:

cd /etc/nginx/sites-enabled/ && sudo ln -s /home/yixiang/Practice/Python/nginx_django/test_project/test_project_nginx.conf ./

(3)重新加载配置

sudo /etc/init.d/nginx reload

此时访问127.0.0.1:8000就能看到django的欢迎界面了.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Ubuntu是一个自由开源的操作系统,其中有很多的工具和服务可以用于搭建与开发Web应用。其中,常用的Web应用栈是使用Nginx作为Web服务器,UWSGI作为应用程序服务器,Django作为Web框架,MySQL作为关系型数据库。 要安装和配置这些服务,需要进行以下步骤: 1. 安装Ubuntu操作系统,可以选择最新版本的Ubuntu LTS或者最新的Ubuntu发行版。 2. 安装Nginx服务,并配置Nginx服务器来处理并转发HTTP请求。这里可以使用apt-get install命令来安装Nginx包。 3. 安装UWSGI服务,并配置UWSGI服务器来处理Django应用程序。这里可以使用pip install命令来安装UWSGI包。 4. 安装Django,并编写一个基本的Django应用程序。然后配置UWSGI服务器以运行Django应用程序。可以使用pip install命令来安装Django包。可以使用此教程 - https://uwsgi-docs.readthedocs.io/en/latest/tutorials/Django_and_nginx.html 5. 安装MySQL数据库服务,并配置MySQL服务器以使用Django应用程序。可以使用apt-get install命令来安装MySQL包。 6. 在Django应用程序中配置MySQL数据库连接参数,并创建 MySQL数据库及表。 7. 配置Nginx服务器以使用UWSGI服务器来处理Django应用程序。可以使用上面的教程来完成这一步骤。 8. 启动NginxUWSGI服务器,并测试Django应用程序是否可以访问。 在进行以上的步骤时,需要注意安全措施,防止 Web 应用程序被攻击和入侵。同时,也需要进行充分的测试,保证 Web 应用程序的稳定性和可用性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值