把你开发的网站免费发布到互联网上(2)

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: 我们需要将 GitHub 上的代码克隆过来,所以在 Consoles(控制台)下我们新建一个 bash 控制台。

前几天,我们介绍了通过 PythonAnywhere 在互联网上创建一个站点:

把你开发的网站免费发布到互联网上(1)

本篇是上一篇的延续,来讲一讲如何将已有的 Django 项目部署到 PythonAnywhere 上。


部署已有项目会稍微麻烦一些,依照惯例,先上流程图



1. 注册登录


同上篇


2. 新建 bash 控制台


我们需要将 GitHub 上的代码克隆过来,所以在 Consoles(控制台)下我们新建一个 bash 控制台。



点击 bash 进入一个类似 cmd 的操作界面。


3. 从 GitHub 上传代码


PythonAnywhere 上已经预装好了 git,所以只需在 bash 控制台下,使用 git clone 命令将 GitHub 的代码上传到服务器。

git clone https://your.github.site

对 git 操作有疑问的可以看看这份《git - 简明指南》:

http://rogerdudler.github.io/git-guide/index.zh.html

4. 建立虚拟环境


继续在 bash 控制台下操作。代码示例如下:


进入项目文件夹

cd mysite

virtualenv --python=python3.5 myvenv

source myvenv/bin/activate

其中 mysite 是你的项目名,myvenv 是你的虚拟环境目录名。


5. 下载所需安装包


接下来,使用 pip 下载项目中使用到的库,最基本的就是 django。


注意:每个人的项目中安装的库可能不一样,所以一定记得将所有项目中用到的库都下载。比如处理图片(如添加头像)用到的 Pillow,操作 MySQL 使用到的 pymysql 等。

pip install django
pip install pillow
...


6. 迁移数据库并创建管理员账户

创建数据表。当然需要预先配置好 MySQL 并建好库。

python manage.py migrate

创建管理员,按要求输入账户及密码。

python manage.py createsuperuser

到此,关于 bash 控制台的操作告一段落。


7. 修改 setting文件


进入到 Files 栏目中,编辑 settings.py 文件,修改其中的 ALLOWED_HOST 值,把你项目的域名添加进去。


改示例:

ALLOWED_HOSTS = ['username.pythonanywhere.com']

注意:使用 MySQL 的同学还需要修改 settings.py 中 DATABASE 的设置。


8. 新建 Web-app


进入 Web 栏目,选择

Add a new webapp -> next -> Manual Configuration -> Python3.5 -> next


比较重要的两步截图如下:



9. 配置 WSGI


  1. 按照要求填写正确的项目文件夹
  2. 修改 WSGI 文件


修改 WSGI 配置文件,注意填写正确的 path 路径。



以下图中的信息为例,settings文件的完整路径为:

/home/zx576/zxsite_v0.3/mysite/settings.py

么在文件中应该如下图所示填写



10. 其他的 web 设置


最后我们再设置一下虚拟环境路径,以及静态文件路径,本地项目中有 media 文件的小伙伴仍需要设置 media 路径。


结果如下图所示:


11. 展示


最后“Reload”一下,就开开心心去查看自己的网站吧!


下面是小编的半成品(捂脸逃:



12. 总结


以上就是将已有项目部署到 PythonAnywhere 的整个流程,回顾整个流程,拢共分三步:


  1. 上传代码
  2. 配置代码
  3. 配置环境


都是不难的知识,但每一步都有一些细节需要我们去认真对待,最后才能搭出自己的网站。


魔鬼在细节,编程之事大抵如此。



上演示项目供参考:

网站地址

http://zx576.pythonanywhere.com

项目地址

https://github.com/zx576/zxsite_v0.3




近期文章推荐阅读:

今天,你抢到票了吗?

爆款游戏《贪吃蛇大作战》的 Python 实现

简单三步,用 Python 发邮件

NBA 举办编程马拉松 - 数据分析时代的到来

Python 与 Excel 不得不说的事

Python-Excel 模块哪家强?

想用 Python 做数据分析?先玩玩这个再说

用 Python 实现你的量化交易策略

Python爬虫:一些常用的爬虫技巧总结

Python 抓取网页乱码原因分析

一些常见的新手问题

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
6月前
|
C++
基于Qt的简易桌面日历设计与实现
基于Qt的简易桌面日历设计与实现
257 1
|
JavaScript
Vue表格显示问题:v-show无法影响el-table-column列的解决方案
Vue表格显示问题:v-show无法影响el-table-column列的解决方案
811 0
Python错误 TypeError: ‘NoneType‘ object is not subscriptable解决方案汇总
Python错误 TypeError: ‘NoneType‘ object is not subscriptable解决方案汇总
|
数据采集 数据挖掘 关系型数据库
把你开发的网站免费发布到互联网上(1)
而在学习 web 开发,比如 Django、Flask、webpy 等框架的过程中,我们会有将网站上线的需求,用来测试或展示。
|
4月前
|
Java 应用服务中间件 Shell
|
6月前
比较美观的跳转加载页html源码
比较美观的跳转加载页html源码,源码由HTML+CSS+JS组成,记事本打开源码文件可以进行内容文字之类的修改,双击html文件可以本地运行效果
134 0
比较美观的跳转加载页html源码
|
6月前
|
存储 安全 算法
Flask用户认证与权限管理实战
【4月更文挑战第16天】在Flask Web开发中,用户认证和权限管理是保障安全的关键。本文介绍了实现这一目标的最佳实践:1) 设计用户模型,使用SQLAlchemy存储用户信息;2) 通过密码哈希确保密码安全,使用`werkzeug.security`进行哈希和验证;3) 实现登录功能,借助Flask-Login处理登录和登出;4) 进行权限管理,定义角色和权限模型,用装饰器或函数检查用户权限。通过这些方法,开发者能有效地控制用户访问,提升应用安全性。
|
6月前
|
存储 定位技术 数据中心
探索现代数据中心的冷却技术革新
在这篇文章中,我们将深入探讨现代数据中心冷却技术的最新进展。随着数据量的激增和计算能力的提升,数据中心的能效和散热问题变得日益重要。文章将介绍几种创新的冷却方法,包括液冷系统、热管技术和环境冷却集成设计,并讨论它们的工作原理、优势以及面临的挑战。通过这些技术的比较,我们旨在为数据中心管理者提供决策支持,以实现更高效、可持续的运营。
167 1
|
弹性计算 运维 云计算
如何搭建公司网站?
简介: 我们搭建企业网站有以下几种常见方式 1、自己建站。 2、使用模板建站。 3、招聘网站设计人员搭建网站。 4、找外面的网站设计公司。 5、由国内云计算厂商完成建站工作。
如何搭建公司网站?
|
数据可视化 前端开发 JavaScript
利用 Flask 动态展示 Pyecharts 图表数据的几种方法
利用 Flask 动态展示 Pyecharts 图表数据的几种方法