美文网首页
关于项目上线的部署(1)

关于项目上线的部署(1)

作者: crx彭彭 | 来源:发表于2018-12-09 19:52 被阅读0次

    当你本地项目完成过经过多次测试后,下一步做什么呢?就是上线了,那要怎么部署呢?下面就是我实现的详细的本地部署以及服务器部署,可供参考!
    我用的是pycharm

    第一步:打开我们的setting配置文件,修改如下(以防你线上出bug,用户看到你的错误):

    DEBUG = False
    ALLOWED_HOSTS = ['*']

    我们都知道浏览器不能直接访问Django框架,我们要有一个服务器做中介,所以就用到了uwsgi!

    第二步:在项目下建一个配置叫做 uwsgi.ini 的文本文件,配置以下文件,下面的项目路径,虚拟环境要改。

    [uwsgi]
    Django-related settings
    http = 127.0.0.1:8000
    socket = 127.0.0.1:8000
    #项目路径
    chdir           = /home/crx/桌面/1807-projects/MyBlog
    #wsgi文件
    module          = MyBlog.wsgi
    #主进程
    master          = true
    #指定工作进程
    processes       = 4h
    #每个工作进程有2个线程
    threads = 2
    #指的后台启动 日志输出的地方
    daemonize       = uwsgi.log
    #保存主进程的进程号
    pidfile = uwsgi.pid
    #虚拟环境路径
    virtualenv = /home/crx/.virtualenvs/1807-2
    
    

    第三步:要安uwsgi,用pip freeze 检查一下,安好之后,就要启动uswgi,这时候你的本地项目下会自动生成两个文件uwsgi.log和uwsgi.pid(不确定是否启动成功就搜一下进程)

    pip install uwsgi
    pip freeze
    uwsgi --ini uwsgi.ini
    ps -ef |grep uwsgi

    12345.png

    这时候要去浏览器输入你的端口访问你的项目,也可以访问


    123456.png

    接着清除项目缓存,你会发现有数据,也可以跳转,就是没有css,现在用的服务器不是django提供的,静态资源也不会提供,你需要搞定你的静态资源,
    这时候就用到了nginx,它负责你的静态资源(uwsgi 负责动态请求)

    第四步:打开终端安nginx,然后配置nginx

    sudo apt install nginx
    cd /etc/nginx/
    sudo vi nginx.conf

    写到http 括号下,配置内容如下:

    server {
                  listen 80;
                  server_name localhost;
         
                  #动态请求
                  location / {
                      include uwsgi_params;
                      uwsgi_pass 127.0.0.1:8001;
                  }
                  #静态
                 location /static {
                    alias /home/crx/project_1807/MyBlog/static ;
         
                  }
            }  
    
    
    12345678.png

    上图只是配合演示,不需要注!然后重启nginx,先杀掉nginx进程。

    /etc/init.d/nginx start 启动
    /etc/init.d/nginx stop 或killall -9 nginx 关闭
    /etc/init.d/nginx restart 重启

    然后在返回到项目下,修改你的uwsgi.ini 将http注掉,使用socket。重启uwsgi,代码改一次就要重启一次uwsgi。这时候再次访问浏览器,你会发现即使没有8000端口,也可以访问你的页面,这样关于动态请求的配置就搞定了。接下来就是配置关于静态请求啦!

    在setting下配置收集静态资源的代码,切记:一定要注原django框架中的静态文件收集的代码!

    收集静态资源:
    STATIC_ROOT = os.path.join(BASE_DIR, 'static/')

    然后再输入收集静态资源的命令:
    python3 manage.py collectstatic

    执行完之后,在你自己的静态文件下多了admin文件和ckeditor富文本。上面演示时把nginx中的静态请求注啦,这时候取消注释,然后杀nginx的进程,然后重启ngnix,返回pycharm。然后最好重启一下uwsgi,再访问浏览器,css 都会出来,包括后台管理的样式。

    01234.png

    那现在,本地部署就完成了!

    相关文章

      网友评论

          本文标题:关于项目上线的部署(1)

          本文链接:https://www.haomeiwen.com/subject/vvbchqtx.html