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  

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

  • 相关阅读:
    【分享】64K视频合集
    【原译】四种方法统计字符串的行数&执行时间比较
    【原译】自动省略功能的WPF文本框控件
    【笔记】MD5加密
    【原译】在amazon kindle上安装Metasploit
    【笔记】wubi安装ubuntu遇到的问题
    【笔记】贪心算法找零钱(C#实现)
    ubuntu下在java代码中调用c代码
    sql截取字段最后以特定字符隔开的内容语句
    mysql中删除字符串或字段中空格函数
  • 原文地址:https://www.cnblogs.com/kingjordan/p/12027016.html
Copyright © 2011-2022 走看看