Ubuntu20.04下 Django框架搭建、部署、上线项目

因为我突然意识到,各个平台都有自己的开发手段,比如开发苹果手机英语的平台C#,我当年开发安卓的eclipse,开发出来的产品也收到机器本身的限制,苹果手机应用肯定就没法运行在安卓手机上。但是有一个东西是共通的,那就是浏览器,无论是手机、电脑,都可以访问web应用,仅仅只需要一个地址就可以。这样我就可以很方便的给周围的朋友、家人提供服务了

鉴于此项目的长期性,我决定使用比较系统的Django

具体参考这个文章,但是要有一些改动

0.因为将默认使用8000端口,我们让防火墙开启8000端口(当然后续也可以指定端口)

utf allow 8000/tcp

1.因为使用的是ubuntu20.04,里面会有两个版本的python以及pip工具,因此必须要确定是哪个pip在安装,用下面的工具显示地找到pip3的执行程序。本着拥抱未来的原则,我们使用pip3

which pip3

2.指明地调用pip3

pip3 install virtualenv

安装virtualenv后,可以给我们创造一个虚拟的环境,这样可以从系统环境中分离开,类比在ubuntu16.04中安装了一个虚拟机

3.创建虚拟环境

cd ~/workplace/python/virtualenv
virtualenv env

4.激活虚拟环境(!!很重要)

cd env
source bin/activate

退出虚拟环境的命令是

deactivate

但是,现在先不要退出,一旦退出就无法将Django模块,安装在虚拟机里面,后面的运行将会报错:“无法引入Django模块”
我也是后来发现要在虚拟机里面下载的

5.如果激活成功你可以看到命令行最前方出现(env),提示你,你已经在虚拟机中了,我们在虚拟机中安装Django,使用如下命令(注意两个等号)

pip3 install django==4.2.11

注意两点:
5.1.此时的pip3命令并非Ubuntu20.04的pip3指令,使用

which pip3

你可以看到,已经是虚拟环境下的指定了
5.2 注意我们指定了django的版本,自动安装低版本的Django会报错如下:

__class__ not defining "AbstractBaseUser"...

这个错误我纠正了很久。。。。

6.创造第一个网站mysite(仍然是虚拟环境)

 django-admin startproject mysite

7.上线

 python3 manage.py runserver

可以在后面指定端口,比如

 python3 manage.py runserver 127.0.0.1:22

一切正常的话,你可以在127.0.0.1:8000端口访问到小火箭的标志。

8.#问题(4/26/2024)
我已经有公网了,怎么让外面的访问到呢,应该和配置文件有关系,但是目前还不会,只能本地访问.
##(4/26/2024)
8.1修改settings.py设置,让任意外部主机都可以访问

ALLOWED_HOSTS=['*']

8.2暂停apache服务,腾出来80端口,我怀疑是因为浏览器只能访问80端口,即使你指明了端口
8.3
在虚拟主机中使用如下命令:

  python3 manage.py runserver 0.0.0.0:80

我的机器公网ip是x.x.x.x,这样在火狐浏览器使用x.x.x.x:80就可以看到小火箭了。
8.4#如何后台执行呢,这样我退出shell仍然可以访问?

  • 7
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: Ubuntu 20是一种基于Linux的操作系统,它具备安全稳定、用户友好以及广泛支持的特点。Ubuntu 20可以作为服务器操作系统来运行和管理各种应用程序,包括Django和Nginx。 Django是一个用Python语言编写的高级Web应用程序框架。它提供了简化和加速Web开发的工具和库,并且具有强大的数据库集成功能。在Ubuntu 20上安装和配置Django相对简单,开发者可以使用命令行工具或在Python虚拟环境中安装Django,并通过创建和管理项目实现Web应用程序的开发和发布。 Nginx是一个高性能的Web服务器和反向代理服务器。它在处理高负载的情况下表现出色,并且具有卓越的性能和稳定性。在Ubuntu 20上安装和配置Nginx也相对简单,只需几个步骤即可将Nginx作为Web服务器和反向代理服务器与Django应用程序进行集成。 使用Ubuntu 20、Django和Nginx可以搭建一个完整的Web应用程序架构。首先,使用Ubuntu 20作为操作系统来搭建服务器。然后,使用Django来开发和管理Web应用程序的后端逻辑。最后,使用Nginx来处理前端请求和静态文件,并将请求转发到Django应用程序的后端进行处理。 此外,Ubuntu 20上的Django和Nginx都拥有强大的社区支持和资源。可以通过官方文档、开发者社区、论坛和教程来获取帮助和解决问题。通过结合使用Ubuntu 20、Django和Nginx,开发者可以搭建出高性能、可扩展和稳定的Web应用程序。 ### 回答2: Ubuntu 20是一款流行的Linux操作系统,具有稳定性、安全性和用户友好性。它被广泛用于服务器环境和个人计算机。 Django是一种基于Python的开发框架,用于构建强大的Web应用程序。它具有简单易用、模块化、可扩展等特点,支持快速开发高质量的应用程序。 Nginx是一款高性能的Web服务器,可用于处理大量并发连接。它支持反向代理、负载均衡、缓存和静态文件服务等功能,广泛用于高流量的网站和应用程序。 在使用Ubuntu 20上部署Django应用程序时,通常会使用Nginx作为反向代理服务器。Nginx将接收来自客户端的HTTP请求,并将其转发给Django应用程序。这种配置有助于提高性能和安全性,同时具有灵活性和可扩展性。 首先,需要在Ubuntu 20上安装Django和Nginx。可以使用软件包管理器(如apt)或pip安装Django。Nginx可以通过apt-get命令直接安装。 安装完成后,需要配置Nginx以监听HTTP请求,并将其转发给Django应用程序。可以使用Nginx的配置文件(通常位于/etc/nginx/nginx.conf或/etc/nginx/sites-available/default)进行此操作。在配置文件中,可以指定Django应用程序的地址和端口。 最后,启动Nginx服务器并将其配置为在系统启动时自动启动。可以使用service或systemctl命令完成这一操作。 当完成上述步骤后,就可以通过访问服务器的IP地址或域名来访问Django应用程序了。Nginx将负责处理HTTP请求,并将其转发给Django应用程序处理。这种配置可提高应用程序的性能、稳定性和安全性。 总之,使用Ubuntu 20部署Django应用程序并结合Nginx作为反向代理服务器,可以获得高性能和安全的Web应用程序。这种配置非常流行,并被广泛用于各种规模的项目。 ### 回答3: Ubuntu 20是一款基于Linux系统的操作系统,而Django是一款使用Python语言的开源Web框架,Nginx则是一款高性能的Web服务器和反向代理服务器。 Ubuntu 20是最新版本的Ubuntu操作系统,它为用户提供了更好的性能和更多的功能。作为开发人员,我们可以使用Ubuntu 20来搭建开发环境,并安装Django框架Django是一个强大而灵活的框架,它可以帮助我们快速开发高质量的Web应用程序。通过使用Django,我们可以轻松地处理用户请求、生成动态内容、管理数据库等工作。 而Nginx是一款高性能的Web服务器和反向代理服务器。当我们发布Django应用程序时,可以使用Nginx作为前端服务器,来处理用户的请求,并将请求转发给Django后端。这样可以提高应用程序的性能和稳定性。 为了在Ubuntu 20上使用Django和Nginx,我们首先需要安装它们。我们可以使用apt-get命令来安装Nginx,然后使用pip命令安装Django。安装完成后,我们可以使用Django的命令行工具创建和管理项目。 在设置Django项目时,我们可以指定Nginx作为Web服务器,以便处理静态文件请求。同时,我们可以配置Nginx作为反向代理服务器,将用户的请求转发给Django后端。这样可以有效地提高应用程序的性能和安全性。 总结起来,Ubuntu 20提供了一个稳定和高效的操作系统环境,我们可以在其上安装Django和Nginx来开发和发布高质量的Web应用程序。同时,通过合理配置Nginx作为反向代理服务器,可以提高应用程序的性能和安全性。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值