好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

Django2:Web项目开发入门笔记(16)

这一篇教程,我们一起来了解如何在Ubuntu系统中将Django2的Web项目部署到Nginx服务器。

首先,大家可以参考《 Django2:Web项目开发入门笔记(13) 》先完成以下准备工作。

安装Ubuntu系统并更新apt-get 安装Python3.6与依赖 安装Django2.0.3 安装Sqlite3与依赖 安装OpenSSL等相关依赖

也就是说,除了Apache2和mod_wsgi之外全部都需要安装。

完成上述内容的安装之后,再将项目文件放入 /var/www 目录中,我们就可以开始Nginx的安装了。

一、安装Nginx和依赖

执行命令: sudo apt-get install nginx sudo apt-get install libpcre3 libpcre3-dev

二、安装uwsgi

执行命令: cd /usr/local/lib/python3.6/site-packages/ sudo python3.6 pip install uwsgi

三、测试uwsgi

先在 /var/www 目录中创建一个测试文件。

执行命令: sudo chmod 777 /var/www cd /var/www sudo vi mytest.py

在VI编辑器中,我们输入测试文件的代码。

示例代码:

def application(env, start_response):
    start_response('200 OK', [('Content-Type','text/html')])
    return [b'UWSGI Test...']

代码输入完毕,按“ESC”键并键入“:wq”回车,保存测试文件后,进行测试。

执行命令: sudo uwsgi --http :8888 --wsgi-file mytest.py

通过本机浏览器访问“http://127.0.0.1:8888”或者“http://localhost:8888”进行测试,如果页面中显示“UWSGI Test…”字样,则说明测试成功,uwsgi可以正常工作了。

如果,重复测试时,提示端口被占用,可以先将已启动的进程关闭。

先通过名称查询相关进程,然后通过“kill”命令将进程关闭。

执行命令: sudo ps -ef|grep uwsgi sudo kill -9 [端口号]

也可以使用“killall”命令通过名称关闭全部相关进程。

sudo killall -9 uwsgi

如果命令无效,可以先获取“root”权限,再进行尝试。

四、配置Nginx

首先,我们为项目添加配置文件。

执行命令: sudo vi /etc/nginx/sites-available/MyWeb.conf

在VI编辑器中写入配置文件内容。

server {
    listen 80;  # 监听端口
    server_name www.qqtbb.com;  # 服务器名(多个域名用逗号分隔)
    charset utf-8;  # 服务器字符集
    client_max_body_size 5M;  # 上传文件最大限制
    location /media  {  # 媒体文件位置
        alias /var/www/MyWeb/media;
    }
    location /static {  # 静态文件位置
        alias /var/www/MyWeb/static;
    }
    location / {   # 为uwsgi协议提供支持(实现与uWSGI服务器通信)
        uwsgi_pass 127.0.0.1:8888;  #为uWSGI服务器设置监听地址(套接字或sock文件)
        # uwsgi_pass unix:///var/www/MyWeb/MyWeb.sock;  # 使用sock文件
        include /etc/nginx/uwsgi_params;  # 为uwsgi请求增加参数。
    }
}

内容输入完毕(使用时请先清除注释),按“ESC”键并键入“:wq”回车保存,然后将配置文件的快捷方式添加到 /etc/nginx/sites-enabled/ 目录中,激活配置文件。

查看更多关于Django2:Web项目开发入门笔记(16)的详细内容...

  阅读:16次