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

本文涉及的产品
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS Agent(兼容OpenClaw),2核4GB
RDS AI 助手,专业版
简介: 我们需要将 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 抓取网页乱码原因分析

一些常见的新手问题

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
7月前
|
存储 运维 安全
一篇文章带你了解什么是云计算,SaaS PaaS IaaS的区别
云计算将硬件与软件资源集中于云端,企业按需租用,实现弹性扩容、降低成本。相比本地部署,云服务在运维、安全、效率上优势显著,并通过SaaS、PaaS、IaaS分层提供灵活支持,助力企业高效发展。(238字)
774 3
|
7月前
|
移动开发 前端开发 开发工具
HTML5开发工具怎么选?5款闭眼入不踩雷的工具推荐,2025最新对比评测
在数字化时代,HTML5开发工具层出不穷。李晴阳团队基于用户反馈,从学习曲线、功能完整性、协作能力等维度,对2025年主流工具如Lynx AI、CodeCanvas等进行深度评测,涵盖适用场景与优劣分析,助力开发者结合自身需求高效选型,提升开发效率。
|
关系型数据库 MySQL Java
ShardingSphere 实战之读写分离
采用 ShardingShpere 的 Sharding-Porxy(透明化的数据库代理端) 模式在本地实现 mysql 数据库读写分离,并通过 java 应用程序连接.
ShardingSphere 实战之读写分离
|
机器学习/深度学习 人工智能 弹性计算
阿里云AI服务器价格表_GPU服务器租赁费用_AI人工智能高性能计算推理
阿里云AI服务器提供多种配置选项,包括CPU+GPU、CPU+FPGA等组合,支持高性能计算需求。本文汇总了阿里云GPU服务器的价格信息,涵盖NVIDIA A10、V100、T4、P4、P100等多款GPU卡,适用于人工智能、机器学习和深度学习等场景。详细价格表和实例规格见文内图表。
2940 0
|
存储 移动开发 数据库
HTML5 Web IndexedDB 数据库常用数据存储类型
IndexedDB 支持多种数据存储类型,满足复杂数据结构的存储需求。它包括基本数据类型(如 Number、String、Boolean、Date)、对象(简单和嵌套对象)、数组、Blob(用于二进制数据如图像和视频)、ArrayBuffer 和 Typed Arrays(处理二进制数据)、结构化克隆(支持 Map 和 Set 等复杂对象),以及 JSON 数据。尽管不直接支持非序列化数据(如函数和 DOM 节点),但可以通过转换实现存储。开发者应根据具体需求选择合适的数据类型,以优化性能和使用体验。
1148 10
|
Linux 应用服务中间件 nginx
Linux 快速搭建 Overleaf 5.0 附中文字体及完整 TexLive 安装教程(2024最新版)
2024最新版 Linux 极速安装 Overleaf 5.0 手把手教学!附 XeLatex 修复,新增中文字体以及安装完整版 TexLive 教程!
|
机器学习/深度学习 数据采集 人工智能
【AAAI 2024】解锁深度表格学习(Deep Tabular Learning)的关键:算术特征交互
近日,阿里云人工智能平台PAI与浙江大学吴健、应豪超老师团队合作论文《Arithmetic Feature Interaction is Necessary for Deep Tabular Learning》正式在国际人工智能顶会AAAI-2024上发表。本项工作聚焦于深度表格学习中的一个核心问题:在处理结构化表格数据(tabular data)时,深度模型是否拥有有效的归纳偏差(inductive bias)。
|
机器学习/深度学习 存储 人工智能
在 Visual Studio 2022 中使用 GitHub Copilot chat
本文通过实际应用场景和示例代码展示了 GitHub Copilot Chat 在 Visual Studio 2022 中的优势和特点。最后,鼓励读者在实际工作中尝试使用 Copilot Chat,以提升开发效率和代码质量。希望这些信息和经验能为你在使用GitHub Copilot时提供帮助和启发。
3148 1
在 Visual Studio 2022 中使用 GitHub Copilot chat
|
算法 Java C语言
嵌入式系统:技术原理、应用与编程实践
嵌入式系统:技术原理、应用与编程实践
456 0

热门文章

最新文章