• django 项目的部署


    原文转载于: https://www.liujiangblog.com/course/django/181

    1. 安装ngnix

    Ubuntu默认源里面的Nginx版本比较旧,需要先添加一个Nginx的源,再通过apt-get安装Nginx。

    sudo add-apt-repository ppa:nginx/stable

    apt-get update

    apt-get install nginx

    输入 service --status-all,如果能看到带+号的nginx,表明一切ok!

    2.安装uwsgi

    uWSGI的官网地址:https://uwsgi-docs.readthedocs.io/en/latest/index.html

    确保下载最新版的,否则会出现各种错误, 下载完成之后

    # 解压文件
    tar -zxvf uwsgi 
    
    # 进入解压目录
    sudo python3 setup.py install

    运行一下uwsgi,

    3.配置uwsgi文件

    在项目的根目录下,也就是有manage.py的目录下,新建一个uwsgi.ini文件,编辑文件内容为:

    [uwsgi]
    chdir = /home/nvidia/ros_web
    #项目根目录
    module = ros_web.wsgi:application
    #指定wsgi模块
    socket = 127.0.0.1:8000
    #对本机8000端口提供服务
    master = true
    #主进程

    #vhost = true //多站模式
    #no-site = true //多站模式时不设置入口模块和文件
    #workers = 2 //子进程数
    #reload-mercy = 10
    #vacuum = true //退出、重启时清理文件
    #max-requests = 1000
    #limit-as = 512
    #buffer-size = 30000
    #pidfile = /var/run/uwsgi9090.pid //pid文件,用于下脚本启动、停止该进程
    daemonize = /home/nvidia/ros_web/run.lo
    disable-logging = true

    • chdir是你的项目根目录。我这里的项目名叫for_test;
    • moudule是你的入口wsgi模块,将for_test替换成你的项目名称;
    • socket是通信端口设置,和我一样就行;
    • master=True表示以主进程模式运行;
    • demonize是你的日志文件,会自动建立
    • disable-logging = true 表示不记录正常信息,只记录错误信息。否则你的日志可能很快就爆满了。

    4.配置nginx

    备份/etc/nginx/sites-available文件夹内的default文件,然后编辑它:

    关键是这一部分:

    server_name 192.168.1.121;
    
        location / {
            # First attempt to serve request as file, then
            # as directory, then fall back to displaying a 404.
            # try_files $uri $uri/ =404;
            include  uwsgi_params;
                     uwsgi_pass  127.0.0.1:8000;  
        }
        location /static {
    
        alias /home/feixue/python/www/for_test/static;
        }

    请将server_name改成你的实际名称,location /static的alias改成你的实际情况,其它部分保持不变,尤其是include一定要一样。

    修改完毕,保存退出,然后重启nginx服务:

    sudo service nginx restart

    5.启动服务

     进入项目的根目录,也就是有uwsgi.ini文件的地方,运行:

    sudo uwsgi uwsgi.ini
    

    系统提示:

    [uWSGI] getting INI configuration from uwsgi.ini

    6. 编辑settings.py文件:

    DEBUG = False
    
    ALLOWED_HOSTS = ['*']

    7.关闭服务

    sudo killall -9 uwsgi
    

    这会删除先前的uwsgi进程



  • 相关阅读:
    递推&&矩阵加速
    洛谷 P1217 [USACO1.5]回文质数 Prime Palindromes
    总结一下当前阶段我认为比较常用的字符串操作
    关于递归与递推
    P1553 数字反转(升级版)
    关于C++读入数字按位取出与进制转换问题
    一本通题库 1058:求一元二次方程
    弄懂goroutine调度原理
    线程实现模型
    gin-jwt对API进行权限控制
  • 原文地址:https://www.cnblogs.com/yang220/p/12550445.html
Copyright © 2020-2023  润新知