美文网首页
django+uwsgi+nginx部署教程

django+uwsgi+nginx部署教程

作者: renailin | 来源:发表于2019-05-17 10:32 被阅读0次

    由于最近搭网站搭的很是火热,所以中间的一些学习就暂时搁置了,本地网站已经部署好了,为了更好的测试已经完成的部分,准备把网站放到服务器上,选择了比较通用的django+uwsgi+nginx部署方式,以此记录学习过程,如有不足或者错误,请小伙伴指出。

    一.占领地
    因为一个服务器不可能是自己一个人在用,所以为了避免安装环境以及软件和软件依赖之间的干扰,我们要搭建一个属于自己的环境
    1.安装anaconda3
    (1)下载安装
    官网下载对应版本
    https://www.anaconda.com/distribution/
    (2)bash Anaconda3-2019.03-Linux-x86_64-1.sh(我下载的是这个版本)
    (3)按照提示输入,一般都是yes
    (4)输入python或者conda -V 检测是否安装成功
    2.搭建环境
    (1)conda env list
    我们可以看到只有一个root 环境
    (2)conda create -n conda3_env(我的环境名字叫做conda3_env)
    (3)conda env list
    我们就可以看见自己创建的环境了
    (4)source activate conda3_env
    激活虚拟环境 conda3_env(关闭终端后都要重新激活),这样我们就进入了虚拟环境中
    注意:退出虚拟环境 deactivate
    3.安装软件
    (1)安装django
    conda install django==2.2 (我安装的是最新版django)
    (2)查看一下版本
    conda list
    做到这一步,我们已经占好了领地,接下来就是要盖高楼啦~~

    二.盖高楼
    盖高楼的第一步就是打地基,所以我们要确定好必需的软件都已经安装完毕
    1.创建项目
    (1) django-admin.py startproject myproject (也可以用conda命令)
    (2) cd myproject
    (3) django-admin.py startapp myapp
    2.部署
    (1)安装nginx(root环境)
    apt-get install nginx
    (2) 安装uwsgi(自己的环境)
    pip install uwsgi
    在conda环境下大概率安装不成功,可以使用以下命令代替:
    conda install -c conda-forge uwsgi

    如果以上基础的软件都已经安装完毕,那么我们就进行相关软件的配置吧~~~

    1. 配置
      (1)测试uwsgi
      在django下面新建test.py (也可以直接测试自己的项目)


      图片.png

    之后执行命令:
    uwsgi --http :8001 --plugin python --wsgi-file test.py
    执行成功后在浏览器打开:http://localhost:8001 (或者服务器的IP地址)显示 “ Hello World ”说明uwsgi运行正常。

    (2)测试Django 项目
    运行如下命令:
    python manage.py runserver 0.0.0.0:8006(随便800X都行)
    访问http://localhost:8006(或者服务器IP),项目运行正常。
    然后链接Django和uwsgi,实现简单的web服务器,到Django项目目录下执行shell:

    uwsgi --http :8006 --plugin python --module myproject.wsgi

    myproject为你的项目名。访问http://localhost:8006(或者服务器IP),项目正常。注意这时项目的静态文件是不会被加载的,需要用nginx做静态文件代理。

    (3)配置uwsgi
    首先在项目目录下新建uwsgi.ini


    图片.png

    **注意:python的路径要写正确
    命令执行:
    sudo uwsgi --ini uwsgi.ini
    不报错,则成功

    (4)配置nginx


    图片.png

    命令执行:
    sudo ln -s /etc/nginx/sites-enabled/annotator.conf /etc/nginx/sites-available/annotator.conf (建立链接)

    不出意外的话,到此配置成功

    (5)启动
    sudo service nginx start (启动)
    sudo service nginx restart(重启)
    sudo service nginx stop (停止)

    (6)访问 http://localhost(或者服务器IP)/myapp(app名称)

    (7)接下来就自己搬砖盖楼吧

    ***注意:可能会出现端口占用情况,具体问题具体分析,切记遇问题一定要冷静分析,多百度谷歌

    参考:
    1.http://www.cnblogs.com/jhao/p/6071790.html
    2.https://code.ziqiangxuetang.com/django/django-nginx-deploy.html
    3.https://blog.csdn.net/u013550998/article/details/81529897
    4.https://www.jianshu.com/p/d9fb4e65483c

    相关文章

      网友评论

          本文标题:django+uwsgi+nginx部署教程

          本文链接:https://www.haomeiwen.com/subject/yvvloqtx.html