zoukankan      html  css  js  c++  java
  • Django + Vue 使用Nginx + uWsgi部署

    1 Django端

    1.1 settings.py中更改

    STATIC_ROOT = os.path.join(BASE_DIR, 'static/dist')
    # 导入前后端静态资源后更改即可
    ​
    DEBUG = True  # 为True不容易暴露项目信息,当然也不显示BUG信息
    ​
    ALLOWED_HOSTS = ['*']
    settings

    1.2 django端打包静态资源

    # 会在static 下生成
    python manage.py collectstatic 
    django

    1.3 在uwsgi_conf中写入uwsgi.ini

    # vim /root/shiyanlou_project/uwsgi_conf/uwsgi.ini
    # vim中,A键进入插入模式,ESC退出,:wq保存并退出
    # 或者pycharm中直接粘贴也可以
    ​
    [uwsgi]
    # 使用Nginx连接时使用,Django程序所在服务器地址和端口号
    socket=127.0.0.1:8000
    # 项目目录绝对路径
    chdir=/home/worker/opwf_project/opwf
    # 项目中wsgi.py文件的目录,相对于项目目录
    wsgi-file=opwf/wsgi.py
    # 进程数(机器核数的1倍)
    processes=4
    # 线程数
    threads=20
    # uwsgi服务器的角色
    master=True
    # 存放进程编号的文件
    pidfile=uwsgi.pid
    # 日志文件
    daemonize=uwsgi.log
    # 指定依赖的虚拟环境
    virtualenv=/root/.virtualenvs/syl
    uwsgi.ini

    2 打包Vue静态资源

    2.1 打包命令

    cnpm run build

    2.2 提取dist静态资源

    • 将静态资源放置后端static下

    3 Nginx写入配置文件

    • 写入etc/nginx/conf.d/django.conf

    server {
            listen 1594;
            server_name 192.168.56.100;
                    location /static {
                            alias /home/worker/opwf_project/opwf/static;
                    }
    ​
                    location / {
                            include uwsgi_params;
                            uwsgi_pass 127.0.0.1:8000;
                            uwsgi_ignore_client_abort on;
                    }
    }
    ​
    server {
            listen 8888;
            server_name 192.168.56.100;
            #access_log logs/access_example.log  main;
            root /home/worker/opwf_project/opwf/static/dist;
            location / {
                    try_files $uri $uri/ @router;
            }
            location @router {
                    rewrite ^.*$ /index.html last;
            }
    }
    django.conf

    4 Nginx启动

    systemctl restart nginx                 # 开启nginx 
    tail -f /var/log/nginx/access.log       # 查看nginx接入日志 
    tail -f /var/log/nginx/error.log        # 查看nginx错误日志 
    Nginx启动

    5 uWSGI启动

    cd /home/worker/opwf_project/uwsgi_conf 
    # 进入项目目录 
    ​
    uwsgi --ini uwsgi.ini 
    # 启动uwsgi的 django项目 
    # http://192.168.56.11:8888/ 访问项目 
    ​
    uwsgi --stop uwsgi.pid 
    # 关闭uwsgi
    ​
    tail -f uwsgi.log 
    # 查看uwsgi日志
    ​
    ps -ef|grep uwsgi 
    # 查看uwsgi服务是否启动
    ​
    netstat -anptu | grep 8888      
    # 查看8888端口被哪一个程序 占用
    ​
    kill -9 端口号
    uWSGI启动

    6 杂项

    """
    如果之前有过部署的项目 只是删除原来的 django.conf 是不够的  nginx部署的时候会生成一个.django.conf.swp 的文件 切记一并删除
    """
  • 相关阅读:
    从零自学Hadoop(15):Hive表操作
    从零自学Hadoop(14):Hive介绍及安装
    从零自学Hadoop(13):Hadoop命令下
    从零自学Hadoop(12):Hadoop命令中
    angularjs不同页面间controller传参方式,使用service封装sessionStorage
    angularjs简单实现$http.post(CORS)跨域及$http.post传参方式模拟jQuery.post
    angularjs中的绑定策略“@”,“=”,“&”实例
    angularjs中ng-repeat-start与ng-repeat-end用法实例
    关于JavaScript对象的键和值
    angularjs中ng-attr的用法
  • 原文地址:https://www.cnblogs.com/pythonqwertytre/p/14122098.html
Copyright © 2011-2022 走看看