如何在阿里云服务器部署Django

如何在阿里云服务器部署Django,第1张

tomcat是一个web容器,java web项目相当与容器中的一个元素 ,当把java web项目部署到服务器的时候 就相当于在容器里面加入了一个元素 tomcat启动的时候 tomcat容器会获得里面元素的相关信息 比如web项目的名称
当用户请求服务器的时候 首先根据请求的一级域名找到你启动的tomcat容器,容器在分析一级域名后面的请求字符窜截取请求的项目名字 ,根据项目名字 把请求信息发给 容器里面与项目名字对应的web项目 然后web项目处理请求 处理完了 将响应信息 发给容器 容器在返回给用户
首先你请求的地址是本机的ip地址 ,这样请求能够发送到本机上 , 那么怎么给本机的tomcat 呢 这关键点就是 端口了 请求会根据本机上所有开启的程序的端口信息 给相应的程序
tomcat的默认端口是8080 所以你的请求地址需要加上:8080 当然你可以更改tomcat的端口比如80 这样你就不用去在请求地址上加:8080 因为100以内的端口 会自动匹配
这个就是一个简单的。
如果你有 webSphere 或者 weblogic 就需要复杂的配置了。不过基本都差不多。理解思想就可以了。

通常用WSGI方式启动,ngix连接django方式。很少出现这样的情形。
如果内存耗尽,先要确定原因。如果你的虚拟机内存太少,就加内存。 如果内存超过1个GB,还有内存耗尽的问题,应该django里的view没有设计好。其中有内存泄露。
第一件事情当然是把这部分代码找出来改进就可以了。
最后一种办法,在不得已的情况下,定时重新启动django的wsgi server,这样就避免了内存耗尽,可以在晚上特定的时候来重新启动。这样影响最小。

概述与目的

此帖介绍了如何(利用 Ubuntu *** 作系统)在阿里云上启动和部署 Django 应用程序。这两个流程的详细步骤说明如下所述:
● 使用阿里云管理控制台启动您的第一个 Linux 实例
● 在此实例上安装和部署 Django 应用程序

关于 Django

Django 是一个用 Python 语言写的开源 Web 框架,可帮助开发人员在构想形成后仅数小时内启动 Web 应用程序。它遵循模型视图模板 (MVT) 来构建应用程序,这可降低 Web 开发的复杂性,同时可让开发人员集中精力编写应用程序。它为网站地图、内容管理、用户鉴权、RSS 提要及其他任务提供开箱即用的设置。一些高流量网站使用 Django 是因为它能够快速、灵活地进行调整,从而可满足流量波动高峰期的需求。

前提条件

1 为 Python 应用程序安装 virtualenv 和 virtualenv wrapper,目的在于为 Python 项目创建独立的环境。
● 安装 pip

sudo apt-get install python-pip
● 安装 virtualenv
sudo pip install virtualenv
● 创建目录以存储您的 virtualenv
mkdir ~/virtualenvs
● 安装 virtualenwrapper
sudo pip install virtualenvwrapper
● 将 WORKON_HOME 设置为您的 virtualenv 目录
导出 WORKON_HOME=~/virtualenvs
● 将 WORKON_HOME 设置为您的 virtualenv 目录
导出 WORKON_HOME=~/virtualenvs
● 将 virtualenvwrappersh 添加到 bashrc
将此行添加到 ~/bashrc 的末尾,以便加载 virtualenvwrapper 命令。/usr/local/bin/virtualenvwrappersh
退出,然后重新打开您的 shell,或者使用 bashrc or source ~/bashrc 命令重新加载 bashrc,然后一切准备就绪。

2 安装 git。

apt-get install git

3 安装 Nginx 作为 Web 服务器,这样您便可在其之后运行您的应用程序。

Sudo apt-get install nginx

启动您的第一个 Linux 实例

接下来向您介绍使用阿里云管理控制台运行 ECS 实例的相关步骤。

1 登录到您的帐户,然后导航到“产品与服务”部分下的“云服务器”。单击侧边栏菜单中的概览。这会显示运行中的实例列表。单击购买实例从任意地域购买实例,或者继续到下一步创建新实例。

2 单击侧边栏菜单中的实例。在实例列表中选择所需地域,然后单击右上方栏中的创建实例。

3 系统会将您重新定向到“产品购买”控制台,在此您需要选择偏好的资源包 - 对 ECS 实例和数据传输提供特殊定价的初级资源包或提供两种定价模式的高级购买资源包。您可以根据自身需求选择订阅(按月或按年)或者按量付费。此案例中,我们选择了“按量付费”。

4 在此窗口中,选择要在其中启动 ECS 实例的数据中心地域和可用性区域。如果选择了地域但未选择可用性区域,系统会将实例随机放在任何区域。

5 现在您需要选择自己想要创建的实例类型。根据自身需求,从“生成”选项卡中选择生成实例类型。生成类型根据配置和所用的计算能力表示不同的实例类型。

6 接下来,选择网络类型以启动您的 ECS 实例。可根据自身需求选择经典网络或专有网络。在经典网络中,阿里云以分布式方式分配 IP 地址。它适合于需要简单快速地使用 ECS 的用户。专有网络更多的是一种逻辑隔离私有网络,它支持专用连接。它适合于熟悉网络管理的用户。选择适当的网络类型后,选择网络计费类型:数据传输或固定带宽。在这两种情况下,您都需要设置网络带宽峰值(最大数据传输速率)。

7 现在,您需要选择 *** 作系统。每个选项下都提供了不同 *** 作系统版本的列表。选择 Ubuntu。

8 根据自身需要,从下拉菜单中选择系统磁盘类型。您还可以通过单击“添加磁盘”向此列表添加更多磁盘。

9 在“安全设置”部分中,您可以创建密码以提高安全性,或者在此阶段跳过此步骤并稍后从管理控制台执行此 *** 作。

10 在“采购计划”部分中,键入您的实例名称并设置要启动的实例的数量。

11 在“概览”部分查看配置详情和总价,然后单击立即购买。

12 单击开通确认业务订单并启动实例。

13 启动实例后,您可以在控制台的实例选项卡中查看该实例。

安装和部署 Django 应用程序

您已使用阿里云管理控制台创建和启动 ECS 实例,接下来让我们了解如何安装和部署 Django 应用程序。

1 使用 ssh 命令登录到您的服务器

2 输入密码

3 通过创建一个新的 virtualenv 为部署 Django 应用程序设置环境:

mkvirtualenv DjangoApp
要退出新的 virtualenv,请使用 deactivate。
您可以使用 workon 在环境之间切换。要加载或在 virtualenv 之间切换,请使用 workon 命令:workon DjangoApp

4 在您的当前环境中安装 Django

pip install Django

5 使用 django-admin 命令创建样本项目并将目录更改为项目文件夹。

django-admin startproject todoApp
cd todoApp/

6 迁移或引导您的数据库。

python managepy migrate

7 创建超级用户以访问管理面板。

python managepy createsuperuser

8 设置用户后,通过运行由 managepy *** 作的 runserver 命令测试您的应用程序

python managepy runserver 0000:8000
您将看到以下内容在端口 8000 上运行

转至 /admin,这是您的管理面板,您可在此管理应用程序。

现在使用 Nginx 将您的应用程序置于 Web 服务器之后。

9 创建数据库架构 开通 python 环境。
● 将目录更改为 Django 项目目录 
● 运行以下命令

python managepy migrate

10 收集所有静态文件(css、js 等)
● 运行以下命令以在任意特定位置收集所有静态文件

Python managepy collectstatic --noinput
● 开发人员负责将 STATIC_URL 路径设置为将收集所有静态文件的位置。
● 这些变量在项目目录内的 settingpy 中定义。
1 STATIC_URL
2 STATICFILES_DIRS
3 STATIC_ROOT

11 使用 uwsgi 服务器安装 uwsgi 库并启动服务器。

pip install uWSGI
● 创建用于部署 Django 应用程序的 ini 文件vim uwsgiini

● 将其保存到应用程序目录上的 uwsgiini。如需进一步了解如何编写 ini 文件,请参阅Python/WSGI 应用程序快速入门。运行此命令以启动您的应用程序。

uwsgi uwsgiini (您的 ini 文件)

12 更改 nginx 配置文件以用于应用程序。

server   {       listen 80 default_server;         listen [::]:80 default_server ipv6only=on;         server_name localhost;  location /static/   {         include uwsgi_params;         alias /root/todoApp/public/;  }  location  /    {        include uwsgi_params;        uwsgi_pass unix:/tmp/uwsgisock;     } }

13 重启 nginx,随后您的应用程序将启动并在端口 80 上的 nginx 之后运行。

结论

在本文中,我们讨论了如何在阿里云上部署 Django 应用程序。概括地说,第一步是(利用 Ubuntu *** 作系统)运行 ECS 实例。然后,您可以在此实例上安装和部署 Django 应用程序。请注意前提条件,确保顺利完成部署。

Django是基于Python的免费和开放源代码Web框架,它遵循模型-模板-视图(MTV)体系结构模式。它由Django Software Foundation(DSF)维护,这是一个由非营利组织成立的独立组织。

Django的主要目标是简化复杂的,数据库驱动的网站的创建。该框架强调组件的可重用性和“可插入性”,更少的代码,低耦合,快速开发以及不重复自己的原则。整个过程都使用Python,甚至用于设置文件和数据模型。Django还提供了一个可选的管理创建,读取,更新和删除界面,该界面通过自省动态生成并通过管理模型进行配置。

一些使用Django的知名网站包括公共广播服务,Instagram, Mozilla,华盛顿时报, Disqus,Bitbucket,和Nextdoor。

Django创建于2003年秋天,当时《劳伦斯日报》世界报纸的网络程序员Adrian Holovaty和Simon Willison开始使用Python来构建应用程序。西蒙·威利森(Simon Willison)的实习期结束前不久,雅各布·卡普兰·莫斯(Jacob Kaplan-Moss)在Django的发展中就被聘用了。它于2005年7月在BSD许可下公开发布。该框架以吉他手Django Reinhardt的名字命名。2008年6月,宣布新成立的Django软件基金会(DSF)将来将维护Django。

2015年7月,与一些Django联合创始人和开发人员建立联系的软件咨询公司Revolution Systems在劳伦斯举办了10周年纪念活动。

Django的设计理念如下:

松耦合——Django的目标是使堆栈中的每个元素彼此独立。

更少的编码——更少的代码,因此可以快速开发。

不重复自己(DRY)——一切都应该只在一个地方开发,而不是一次又一次地重复。

快速开发——Django的理念是尽一切可能促进超快速开发。

简洁的设计——Django严格按照自己的代码维护简洁的设计,并易于遵循最佳的Web开发实践。

Django的一些优势如下:

对象关系映射(ORM)支持——Django在数据模型和数据库引擎之间建立了桥梁,并支持包括MySQL,Oracle,Postgres等在内的大量数据库系统。

多语言支持——Django通过其内置的国际化系统支持多语言网站。因此,您可以开发支持多种语言的网站。

框架支持——Django内置了对Ajax,RSS,缓存和其他各种框架的支持。

GUI——Django为管理活动提供了一个很好的即用型用户界面。

开发环境——Django带有轻量级的Web服务器,以促进端到端应用程序的开发和测试。

Django是Python Web框架。和大多数现代框架一样,Django支持MVC模式。

关于Python的基础问题可以看下这个网页的视频教程,网页链接,希望我的回答能帮到你。

这2个采用的语言和环境完全不同,所以不会有冲突 唯一需要注意的地方是,如果这2个应用都要暴露相同的端口时,需要做代理 即如果你J2EE使用Tomcat作为 web容器,端口为80 如果你Django使用Apache做web容器,端口为80 这时候,就需要在一个代理web服务器,apache或nginx都可以 参考资料里有相关的配置可以参考,主要是基于域名的不同来分发到不同的内部服务器中

运行的时候 python managepy runserver 0000:8000 (写成0000的时候才能在相同网段访问,不然的话只能本机也就是linux能访问)


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10686097.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-10
下一篇2023-05-10

发表评论

登录后才能评论

评论列表(0条)

    保存