zoukankan      html  css  js  c++  java
  • Django 项目上线

    首先要保证项目能够运行

    在xshell6中连接 自己的服务器会话,配置环境

    sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100 
    sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150

    exit()    #退出

    下载相关的包

    sudo apt-get install python3-pip

    sudo apt-get update     

    pip3 install coreapi

    pip3 install Django

    pip3 install djangorestframework

    pip3 install Pillow

    pip3 install nginx

    pip3 install uwsgi

    在diango 项目的settings里修改配置文件

    DEBUG = False
    ALLOWED_HOSTS = ['*']
    
    在django的setting文件中,添加下面一行内容:
    STATIC_ROOT = os.path.join(BASE_DIR, "static/")

    然后运行 python manage.py collectstatic(收集admin后台的静态文件,如果不收集,将来访问linux的blog的admin将没有样式)

    将项目上传到Linux系统中,在项目文件下创建一个uwsgi的配置文件,后缀为ini

    [uwsgi]
    # Django-related settings
    socket = 127.0.0.1:8888                           #修改  
    # 项目绝对路径
    chdir           = project/RestfulDemo             #修改
    # Django的wsgi文件相对路径
    wsgi-file       = RestfulDemo/wsgi.py             #修改
    # process-related settings
    # master
    master          = True
    # 最大进程数
    processes       = 4
    # 线程数
    threads         = 2
    #设置此参数,有一个主进程
    master=True
    #守护进程的方式运行,log日志存在此log文件里
    deamonize=/var/log/uwsgi/djangoProject.log
    #主进程id写入文件里
    pidfile= /var/log/nginx/uwsgi.pid
    # ... with appropriate permissions - may be needed
    # chmod-socket    = 664
    #退出时,清理环境
    vacuum          = True
    reload-mercy    = 10
    max-requests    = 5000
    limit-as        = 512
    buffer-size     = 30000

    关于文件的一些编辑设置:

    设置conf.d文件

    /etc/nginx/conf.ddas

    server {
        listen         8000;     #外部监听端口
        server_name    http://www.moblie.site/;
        access_log      /var/log/nginx/zj_access.log;
        error_log       /var/log/nginx/zj_error.log;
    	charset     utf-8;
    
        client_max_body_size 75M;
        root /project/RestfulDemo;    #项目根目录
        location / {
            include uwsgi_params;
            uwsgi_pass 127.0.0.1:8888;  #这个地址要和项目中ini配置文件的地址一致
            uwsgi_read_timeout 30;
        }
    }
    
    
    项目上线出现404错误  
    server{
            listen 80;
            server_name 139.196.206.2;
    access_log      /var/log/nginx/zx_access.log;
    error_log       /var/log/nginx/zx_error.log;
    location / {
                index index.html;
    root /var/www/dist;
    try_files $uri $uri/ @router;
            }
    location @router {
                rewrite ^.*$ /index.html last;
            }
    }

     一定要重启一下nginx服务    

    service nginx restart

    如果端口被占用

    netstat -ap | grep 8080  查看8080端口是谁在使用

    kill -9 pid号  强制关闭占用端口的程序

    进入项目目录  执行uwsgi --ini rest.ini    (如果提示uwsgi被占用,需要手动删除)

    ps -ef|grep uwsgi 查找所有正在运行的uwsgi,

    kill -9 31639

    然后再次 执行uwsgi --ini rest.ini  

    到此项目已成功上传服务器

  • 相关阅读:
    LCD时序中设计到的VSPW/VBPD/VFPD/HSPW/HBPD/HFPD总结【转】
    【读书笔记::深入理解linux内核】内存寻址【转】
    解决阿里云无法正常使用samba的问题【转】
    谈谈Linux内核驱动的coding style【转】
    linux下使用indent整理代码(代码格式化)【转】
    gcc编译选项【转】
    DirectFB简介以及移植[一]【转】
    Android Framebuffer介绍及使用【转】
    Windows Live Writer离线博客工具使用教程(适用于博客园、CSDN、51CTO等等博客)【转】
    jenkins 入门教程(上)【转】
  • 原文地址:https://www.cnblogs.com/kingjordan/p/12027016.html
Copyright © 2011-2022 走看看