• 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  

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

  • 相关阅读:
    85. Maximal Rectangle
    120. Triangle
    72. Edit Distance
    39. Combination Sum
    44. Wildcard Matching
    138. Copy List with Random Pointer
    91. Decode Ways
    142. Linked List Cycle II
    异或的性质及应用
    64. Minimum Path Sum
  • 原文地址:https://www.cnblogs.com/kingjordan/p/12027016.html
Copyright © 2020-2023  润新知