美文网首页
Django笔记13-部署

Django笔记13-部署

作者: fbckf | 来源:发表于2018-07-25 17:04 被阅读0次

    部署

    在 PythonAnyWhere 上部署博客项目

    假如自己有服务器,可以看另外一篇使用 Ubuntu+Apache 部署的记录文章

    PythonAnyWhere

     PythonAnywhere是一个基于Python语言的在线集成开发环境(IDE)和Web托管服务。它提供内嵌在浏览器中的相关接口(就是图形化界面),来访问服务中的基于服务的Python和Bash命令,以及带有高亮的代码编辑器。程序文件可以通过浏览器可以进行上传到服务和下载到本地。由服务托管的Web应用程序可以使用任何WSGI应用框架。

    注册一个账户

     首先是在官方网站创建一个账户,这里是 链接,之后点击 Create a Beginner account 简单填一下信息就可以注册成功。

    image

     成功后进入以上页面,右上角有几个选项分别是DashboardConsolesFilesWebScheduleDatabases,每一个都有不同的用处。

    • Consoles 控制台

    • Files 文件

    • Web web 应用

    • Schedule 周期任务或特定时间任务

    • Database 数据库

    部署

    项目文件

     将自己的项目文件上传到 Github 或者 Coding 等托管平台上方便下载。之后打开 Consoles 页面,选择 bash 终端,之后会打开一个如下的网页终端

    image

     将项目文件下载到服务器

    $ git clone https://github.com/fbckf/fbckf.git
    

    创建虚拟环境

     为个人博客项目新建一个虚拟环境,不与其他应用混在一起

    # 创建一个名为 blog 的虚拟环境 指定 python3 版本
    $ mkvirtualenv --python=python3 blog
    

     安装项目需要的包

    # 之前克隆的项目文件中,在主目录有一个 virtualenv.txt 文件 里面是项目所需的所有包的名称
    # 在 pip 命令 中加入参数 -r 加上该文件,安装所有需要的包
    (blog) ~/fbckf(master)$ pip install -r virtualenv.txt
    

    创建 web 应用

     pythonanywhere 网站允许免费创建一个 web 应用,点击 web 选项 进入页面,点击 add a new web app,再点击 next 进入下一步,注意,接下来会有几个选项,分为不同的 python web 框架,都不要选,点击最后一个Manual configuration(including virtualenvs),之后选择相应的 python 版本,本项目为 Python3.6 ,再一路选择 next 就可以了。

     成功之后进入 web 应用管理页面,如下

    image

    配置

    • 配置 virtualenv

     在 web 页面找到 Virtualenv 这一栏,点击 Enter path to a virtualenv, if desired 输入虚拟环境的路径 /home/[username]/.virtualenvs/[virtualenv_name]
    /home/fbckf/.virtualenvs/blog

    • 匹配 wsgi

     找到 Code 一栏,找到 /var/www/csx_pythonanywhere_com_wsgi.py,这是创建时默认提供的wsgi.py,点击进去修改代码

    # 删除原所有代码
    import os
    import sys
    
    path = '/home/fbckf/fbckf/'
    if path not in sys.path:
        sys.path.append(path)
    
    os.chdir(path)
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "fbckf.settings")
    
    import django
    django.setup()
    
    from django.core.wsgi import get_wsgi_application
    application = get_wsgi_application()
    
    • 配置静态文件

     找到 Static files一栏,点击 Enter URl 添加 /static/admin 点击 Enter path 添加路径 /home/fbckf/.virtualenvs/blog/lib/python3.6/site-packages/django/contrib/admin/static/admin,这是 admin 应用的静态文件。之后再添加 URL /static/ 和 path /home/fbckf/fbckf/static

    • 配置项目文件 settings.py
    # fbckf/settings.py
    ...
    # DEBUG=True 时为开发模式,django会将错误信息输出到网页
    # 而在真正的生产环境时,这些敏感信息就不能暴露出来,所以将其设置为 False
    DEBUG = False
    # ALLOWED_HOSTS 中是允许访问的域名,假如域名没有添加在这个列表中,则无法使用该域名访问应用
    ALLOWED_HOSTS = ['fbckf.pythonanywhere.com']  
    ...
    

     配置完成之后,点击 Reload 栏中的 Reload fbckf.pythonanywhere.com 按钮重新加载 web 应用,之后就可以通过 url fbckf.pythonanywhere.com访问博客项目了

    总结

     PythonAnyWhere 提供的这个免费 web 应用可以运行三个月,三个月之后需要再次登录账户点击 Run until 3 months from today这个按钮让它继续运行。

    相关文章

      网友评论

          本文标题:Django笔记13-部署

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