基于Django框架的网站部署

news/2024/4/27 22:51:34/文章来源:https://blog.csdn.net/weixin_34025051/article/details/89079165
对于刚入门的同学,当完成了项目代码,在本地localhost的调试没问题后,会遇到如何让项目上线的问题。
网上的资料过于繁杂,因此希望这篇能简单地为刚入门的同学解惑。

1.域名

    首先,当我们输入一个网址http://www.example.com/时,首先经过DNS解析到对应的IP地址,从而对该IP实现访问。所以,要让别人访问我们项目的第一步,就是需要拥有两样东西,域名和公网ip。
    域名的获得很简单,随便注册购买一个就好了。然后需要的是将域名解析到你的公网ip。而公网ip,一般在购买云服务器的时候能获得。
    经过这一步,我们实现了:请求-->DNS-->服务器ip,而我们的最终目的就是:请求-->DNS-->服务器ip-->黑盒子-->项目wsgi应用

2.使用gunicorn运行项目

    在此,我们使用django搭建项目,当你的项目完成后。我们需要运行监听请求,接收请求并调用相应的wsgi应用的服务程序。例如执行python manage.py runserver 0.0.0.0:8000,runserver 就是django 自带的用于调试的基于wsgi的服务程序。

在云服务器上我们创建一个项目

django-admin.py startproject blog

其中wsgi.py

import os
import sys
# 当使用virtualenv等隔离项目环境时,需要将项目的路径添加添加到查找路径中
path = os.getcwd()
if path not in sys.path:sys.path.append(path)os.environ.setdefault("DJANGO_SETTINGS_MODULE", "blog.settings")
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()

我们在项目下执行以下命令

gunicorn wsgi:application

默认绑定127.0.0.1:8000,具体gunicorn 的使用可以自行google一下
此时,我们能就能通过本地8000端口来访问我们的项目内容了。实现了:请求-->DNS-->服务器ip-->黑盒子-->127.0.0.1:8000-->项目wsgi应用

3.nginx接收外部请求,内部转发

在/etc/nginx/sites-available/文件夹下,新建一个文件blog,并添加如下简单设置

server {listen 80;server_name  你的域名 你的公网ip(可选);access_log  /var/log/nginx/blog.log;location /static {#静态文件如js,css的存放目录root /project/blog;}location / {include proxy_params;# 从外部接收请求后转发到本地的8000端口proxy_pass http://127.0.0.1:8000;}
}

从上面我们就可以明白,nginx 接收到请求后,转发给gunicorn正在监听的本地8000端口,gunicorn根据请求调用项目中相应的应用函数后返回结果。
自此我们就基本实现了请求-->DNS-->服务器ip-->nginx(80端口)-->127.0.0.1:8000-->项目wsgi应用
而关于nginx和gunicorn的具体配置还有许多,不妨多google一下延伸学习

4.总结

gunicorn让项目跑起来
nginx负责接收请求和转发请求到运行中项目监听请求的端口
部署到线上,主要需要域名,公网ip,二者均可以通过云服务器来解决,所以最好还是直接买个云服务器实践一下,just do it

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_795748.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一些实用的开发用到的工具,网站等

1.Desmos图形计算器,通过给出公式进行图形,清晰的看出你需要的什么图形. 网站:https://www.desmos.com/calculator 效果: 2.在线JSON校验格式化工具 ,在线格式化JSON并判断当前的json是否符合规范,顶部的菜单栏还有其他…

网站调整为黑白的方法

当举行哀悼活动时,有时会要求将网站调整为黑白色,确保展现效果肃穆凝重 通过以下方法可快速将网站调整为黑白 首先,先下载grayscale.js文件,需要使用这个插件实现效果 链接: https://pan.baidu.com/s/1KWbWDWHclvjPcZfMIJljxA 提…

Tomcat局域网多端口建立多网站

明确概念: 概念一:一个IP访问多个网站,只能用不同的端口; 概念二:一个端口访问多个网站,之能用不同的域名。 概念一、实践解决 一、环境: 局域网多个网站。 二、解决方法: 配置多个…

视频网站广告屏蔽器

本软件用于屏蔽优酷等视频网站的视频广告!运行软件时最好关闭杀毒软件,如果弹出阻止请选择允许,否则无效!屏蔽后请重启浏览器!~ 下载地址 本文转自haiyang45751CTO博客,原文链接: http://blog.5…

ASP.NET Core 一步步搭建个人网站(1)_环境搭建

ASP.NET Core2.0发布有一阵子了,这是.NET 开源跨平台的一个重大里程碑, 也意味着比1.0版本要更加成熟。目前.net core具有开源、跨平台、灵活部署、模块化架构等等特性,吸引着一大批开发者。笔者也开始加入拥抱.net core大军,那就…

如何快速找出哪里不符合xml格式_网站入侵:黑客必学知识点 “你所不知道的xxe攻击漏洞”...

1、xxe攻击漏洞的简介何为XXE漏洞?XXE是指xml外部实体攻击,Xxe漏洞全称xml external entity injection即xml外部实体注入漏洞,xxe漏洞发生在应用程序解析xml输入时,没有禁止外部实体的加载,导致可加载恶意外部文件&…

网站经常间歇性访问不了_「干货」IT人员经常访问的国外技术交流网站汇总

搞技术的,如果想更高提升自身技能水平,英语这关是逃不了的。——某位不愿透露姓名的在线翻译loser技术人员经常会在各种技术交流社区游逛,大家互相学习、交流、分享、帮助。互联网拉近了地球人的距离,让全世界的技术人员可以聚集在…

搜索引擎提交工具_如何有效的提高网站在搜索引擎上的收录?

企业建站的目的是为了获取流量,搜索引擎作为网站流量最主要的来源,搜索引擎优化成为了网站最为重要的工作,收录越多的网站获取流量和排名的几率也就会越大,现在做优化就是要想尽各种办法提高网站的收录,随着搜索引擎的…

tensorboard无法访问此网站

元学习论文总结||小样本学习论文总结 2017-2019年计算机视觉顶会文章收录 AAAI2017-2019 CVPR2017-2019 ECCV2018 ICCV2017-2019 ICLR2017-2019 NIPS2017-2019 使用程序网址:http://K12XJM22CBKN6KF:6006 打开网页时: 一个办法:将网址改为&a…

如何解决网站可能存在webshell网页木马,阿里云网站木马后门文件提醒

早上刚上班就有新客户咨询我们Sinesafe安全公司反映说收到一条阿里云的短信过来,内容为:网站木马文件提醒018-06-20 09:20:49尊敬的***网:您的虚拟主机中有文件触发了安全防护报警规则,可能存在webshell网页木马,您可以…

HTTPS时代的到来是大势所趋!阿里云CDN如何助力企业网站进入HTTPS时代

2019独角兽企业重金招聘Python工程师标准>>> 摘要:在2015年,天猫和淘宝已经实现了全站HTTPS,并且在2015年底,阿里云CDN HTTPS产品化并且开始全面对外,并且为越来越多的客户提供HTTPS服务。无论是从阿里内部…

帝国CMS7.2 手机网站使用教程

下面为详细操作步骤:一、设置所有访问端统一的访问地址后台>系统>系统参数设置:网站地址:这个地址一定不要加上域名,比如设置为:/(默认安装后也是没有加上域名,如果自行修改过&#xff0c…

python 爬取种子_Python爬虫框架Scrapy 学习笔记 2 ----- 爬取Mininova网站种子文件信息...

1. 任务描述目标网站截图:-------------------------------------可以看到种子文件的列表,这些链接的url可以用正则表达式表示为: /tor/\d详情页截图截图中的:资源名称, 资源大小,和资源描述就是我们要抓取的信息。2. …

基于django的视频点播网站开发-step4-首页功能

在本讲中,我们开始首页功能的开发,在开发过程中,大家将会学习到Django中的通用视图类、分页对象paginator以及foreignKey外键的使用。 效果演示 整体功能 大家可先通过 网站演示地址 浏览一下首页的效果。我们首页呢,比较简洁大方…

连接云服务器_Windows server 2012 云服务器建站教程 (1):远程连接桌面+IIS服务器安装...

服务器:Windows server 2012 阿里云服务器发布网站的过程中,实在是踩了太多的坑了,通过云服务器发布一个http://asp.net真是费劲儿,如果你要是需要访问cshtml格式的网站,会更加费劲儿一点。1.使用远程桌面连接云服务器…

大型网站技术架构(六)网站的伸缩性架构

2019独角兽企业重金招聘Python工程师标准>>> 网站系统的伸缩性架构最重要的技术手段就是使用服务器集群功能,通过不断地向集群中添加服务器来增强整个集群的处理能力。“伸”即网站的规模和服务器的规模总是在不断扩大。 1、网站架构的伸缩性设计 网站的…

linux samba启动连接不上,CentOS中Samba配置后始终连不上解决_Linux教程_Linux公社-Linux系统门户网站 正解...

按照网上的办法改了/etc/samba/smb.conf配置文件,结果在Win7里面就是连不上,后来发现是防火墙的问题。有两个命令必须要执行:1、将SELinux设置成disabled或者permissivesetenforce 02、关闭防火墙服务service iptables stop若SElinux啟用中&a…

php网站在哪儿添加文章_php添加文章时生成静态HTML文章的实现代码

PHP生成静态文章HTML,有批量的生成,但比较标准的应该是在添加文章时就生成HTML文章,编辑时再重新生成HTML文章,删除文章时同样也样删除多余出来的HTML文章,这时批量生成就显得有点力不从心了,下面就介绍一下PHP在添加文…

php多网址文章发布,如何设置发布到多个网站-批量发布文章到站群

软件自定义API接口发布,是针对所有网站类型的发布方法,是最灵活的一种发布模式,当你的网站没有软件上的那几个常用网站程序,就可以考虑这种方法了,此方法通用,但是也需要一定的编程知识。下面跟我一步步设置…

怎么测试本地网页在不同分辨率下电脑显示效果_好的响应式网站应该怎么做?...

响应式网站设计开发,也有叫做响应的Web设计,或着叫响应式网页设计,响应式网站设计开发的目的是为不同设备提供的多种适配的展现形式。一个网站,为了适应不同的用户的不同客户端的查看,通过响应式网站制作过程提供各种适…