【网站搭建】完整部署django+uwsgi+nginx

news/2024/5/17 15:57:34/文章来源:https://blog.csdn.net/qq_45780842/article/details/104307429

上次记录了云服务器上运行django的过程,成功打开HelloWorld界面,但是这样每次运行都需要使用python3 manage.py runserver命令,不能在后台运行,而且加载页面速度较慢。因此本次记录新增两个服务的部署,即nginx + uwsgi
前两次记录:
【网站搭建】用阿里云服务器搭建个人网站
【网站搭建】云服务器上运行django




本次记录对nginx 和 uwsgi没有过多介绍,想要了解其概念的可阅读另一个博友的文章 nginx与uwsgi,uwsgi的应用

文章目录

    • 部署过程如下 :
      • 1 准备工作:
      • 2 详细过程:
        • (1)uwsgi配置
        • (2)nginx的配置
        • (3)启动
        • (4)实例
        • (5) 显示静态文件的方式
      • 3 总结

部署过程如下 :

1 准备工作:

注意:上次已经部署的django【网站搭建】云服务器上运行django

(1) 启动阿里云 “轻量应用服务器”
(2) 打开阿里云控制台开启远程连接
(3) 打开宝塔面板


2 详细过程:

(1)uwsgi配置

  • 安装uwsgi
pip3 install uwsgi
  • 创建软链接
ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi

如果提示链接存在,可跳过,或者改变链接名称,比如改为myuwsgi。相应的后面调用命令时也要用myuwsgi。

  • 配置xml文件
    在项目文件夹下新建一个socket.xml文件,输入以下代码:
<uwsgi><socket>:9090</socket><chdir>/www/myweb/HelloWorld</chdir><module>HelloWorld.wsgi</module><!--项目中的wsgi文件--><processes>4</processes> <!-- 进程数 --> <daemonize>uwsgi.log</daemonize>
</uwsgi>

(2)nginx的配置

打开nginx.conf文件(路径为/www/server/nginx/conf/nginx.conf)

注释掉server里面的内容,加入以下代码(需要提前新建一个static文件夹):

listen       80;server_name 115.16.72.213; #IP地址charset utf-8;access_log off;location /static {'''要与之前django的setting.py中添加的static静态文件转移目录一致'''alias /www/HelloWorld/static/; }location / {'''端口与原来的uwsgi中设置的端口一致'''uwsgi_pass  115.16.72.213:9090; include     /www/server/nginx/conf/uwsgi_params;}

(3)启动

命令行中依次输入以下命令:

    killall -9 uwsgi #结束所有uwsgiuwsgi -x socket.xml #启动uwsgiservice nginx reload #重启nginx
  • 浏览器中输入IP地址,不需要加端口,比如直接输入101.16.94.224,启动成功:
    在这里插入图片描述

(4)实例

进入项目文件夹cd HelloWorld

  • 新建django app
django-admin startapp myapp
  • 新建templates文件夹
  • 向templates文件夹中上传用于测试的html文件 test.html
  • 配置setting.py文件
    ①添加app
    找到INSTALLED_APPS,在后面加入’myapp’,
INSTALLED_APPS = ['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','myapp',
]

②设置templates
注意’DIRS’

TEMPLATES = [{'BACKEND': 'django.template.backends.django.DjangoTemplates','DIRS': [os.path.join(BASE_DIR,"templates")],'APP_DIRS': True,'OPTIONS': {'context_processors': ['django.template.context_processors.debug','django.template.context_processors.request','django.contrib.auth.context_processors.auth','django.contrib.messages.context_processors.messages',],},},
]
  • 配置myapp中的views.py文件
def test(request):return render(request, "test.html")
  • 配置HelloWorld中的urls.py文件
from django.contrib import admin
from django.urls import path
from myapp import views #导入viewsurlpatterns = [path('admin/', admin.site.urls),path('test/', views.test, name='test'),
]
  • 保存,然后重启uwsgi和nginx
    killall -9 uwsgi #结束uwsgi -x socket.xml #启动service nginx reload #重启
  • 在浏览器中输入 “IP地址/test" 即可打开test.html文件
    如 102.19.42.221/test

(5) 显示静态文件的方式

将静态文件(图片、视频等)放在static文件夹下面,html文件中显示图片的路径需要“…/static/"
比如要显示图片
(pictures为static下新建的文件夹,plan.jpg是其中的一张图片)

<img ALT="Altium" src="../static/pictures/plan.jpg">

在这里插入图片描述

3 总结

python web运行环境的部署并不复杂,重点注意nginx.confsetting.py文件的配置,大部分错误都是因为这两个文件配置错误。错误原因一般是文件路径错误,所以在配置环境时,一定要时刻关注项目文件结构。
后续会记录一些关于数据库配置的实例,比如 “用户登录注册”、“留言板”、“数据可视化”、“信息管理” 等等。用python实现这些demo,将会十分简单。

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

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

相关文章

进攻即是最好的防御!19个练习黑客技术的在线网站

2019独角兽企业重金招聘Python工程师标准>>> 作者&#xff1a;阿里聚安全 链接&#xff1a;https://zhuanlan.zhihu.com/p/24624347 来源&#xff1a;知乎 著作权归作者所有。商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处。 国外 1、bWAPP 免费和…

cookielib和urllib2模块相结合模拟网站登录

1.cookielib模块cookielib模块的主要作用是提供可存储cookie的对象&#xff0c;以便于与urllib2模块配合使用来访问Internet资源。例如可以利用本模块的CookieJar类的对象来捕获cookie并在后续连接请求时重新发送。coiokielib模块用到的对象主要有下面几个&#xff1a;CookieJa…

邪恶花网站邪恶花_指标:良好VS邪恶

邪恶花网站邪恶花流行测验&#xff1a;挣值&#xff0c;燃尽图和覆盖率报告有什么共同点&#xff1f; 当然&#xff0c;他们都报告了一个指标。 但是您本可以从标题中得到的。 让我们深入研究。 让我们从挣值开始。 挣值是一个项目跟踪系统&#xff0c;您可以在进行项目时获得…

莆田系医院网站提醒(Chrome 插件)

2019独角兽企业重金招聘Python工程师标准>>> PTHospital.chrome 一个莆田系医院网站提醒的浏览器插件&#xff0c;对于莆田系无良网站&#xff0c;将显示红色警告提示&#xff0c;并给出它的医院名字和医院电话。 Git地址&#xff1a;https://github.com/hustcc/PTH…

网站需求量很大,服务器优化的tips

网站有高人气是好事&#xff0c;证明被全球越来越多的网民所认可和了解。但是每天都有成万上亿的点击量&#xff0c;对服务器这个铁疙瘩来说肯定是一个不小的挑战&#xff0c;那么我们在优化服务器的时候要遵循哪些原则呢&#xff1f;&#xff1f;1&#xff09;和前端人员密切合…

《跨境电商——速卖通搜索排名规则解析与SEO技术》一一1.3 从购买过程看速卖通的搜索排序机制...

本节书摘来自异步社区出版社《跨境电商——速卖通搜索排名规则解析与SEO技术》一书中的第1章&#xff0c;第1.3节&#xff0c;作者&#xff1a; 冯晓宁&#xff0c;更多章节内容可以访问云栖社区“异步社区”公众号查看。 1.3 从购买过程看速卖通的搜索排序机制 下面我们从一个…

【网站管理1】_dede织梦后台如何发布文章

对于新手可能不了解&#xff0c;dede织梦后台是如何发文章的。下面说下我的经验。 发布文章步骤 1.打开浏览器&#xff0c;推介谷歌&#xff0c;360极速浏览器&#xff0c;火狐浏览器&#xff0c;输入网站后台网址 出现如下图登入界面 2.输入账号密码&#xff0c;登入进网站后…

Mozilla 计划让 Firefox 支持 WebKit 前缀网站

Mozilla正在研究一种方法&#xff0c;让Firefox浏览器原生支持webkit前缀的网站。浏 览器特定的前缀长期存在&#xff0c;使开发人员可以编写只在某个浏览器中执行代码。这使他们能够在某些特定代码成为标准之前&#xff0c;就让特定浏览器可以执行这些代码。目 前&#xff0c;…

前端渲染与SEO优化踩坑小记

前言 在网站页面后端渲染的时代&#xff0c;开发者只需要按照规范制作搜索引擎友好的页面便可以快速让搜索引擎收录自己网站的各个页面。 随着前后端技术的更新&#xff0c;越来越多的前端框架进入开发者们的视野&#xff0c;网站的前后分离架构越来越得到开发者们的喜爱与认可…

PowerShell~发布你的mvc网站

通过使用ps加上msbuild可以方便的编译你的.net应用程序&#xff0c;并且可以把它发布到你的磁盘上&#xff0c;部署非常方例&#xff01; 我们在c盘添加一个hello网站&#xff0c;解决方案名是hello.sln&#xff0c;它的网站是hello.csproj&#xff0c;现在使用这个脚本来生成这…

白帽子发现美军网站SQL注入漏洞,可获取敏感数据

去年有报道称&#xff0c;美军收购软件漏洞为网战准备。而美军自己的网站和服务器究竟又有多安全&#xff1f;一名独立安全研究者已经发现了美军网站的几个较为严重的安全漏洞。 安全专家称&#xff0c;这些漏洞说明了美国防部网络安全基础的脆弱性&#xff0c;攻击这些军方公共…

Google Analytics SEO 实时 网站 访问量 统计

/**************************************************************************** Google Analytics SEO 实时 网站 访问量 统计* 说明&#xff1a;* 之前一直在想要怎么才能让aplexos.com域名网站能够统计访问量&#xff0c;网站是使用* github.io搭建&…

国外DevOps网站devopsbookmarks

分享一下我老师大神的人工智能教程&#xff01;零基础&#xff0c;通俗易懂&#xff01;http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识&#xff0c;造福人民&#xff0c;实现我们中华民族伟大复兴&#xff01;国外DevOps网站devopsbookmarkshttp://www.d…

黑客模拟攻击闯关网站http //www try2hack nl/

分享一下我老师大神的人工智能教程&#xff01;零基础&#xff0c;通俗易懂&#xff01;http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识&#xff0c;造福人民&#xff0c;实现我们中华民族伟大复兴&#xff01;黑客模拟攻击闯关网站&#xff1a;http://ww…

Visual Paradigm IT项目管理 (6 of 6) - 收尾阶段 (Closeout Phase)

Visual Paradigm IT项目管理 - 收尾阶段 快速走过(Quick Tour) 之前的阶段&#xff0c;即执行和控制阶段&#xff0c;以项目可交付成果的接受为结束。在这个阶段&#xff0c;收尾阶段&#xff0c;项目组记录从项目中吸取的经验教训&#xff0c;并将交付成果转交给作业人员&…

《网站建设与网页设计从入门到精通Dreamweaver+Flash+Photoshop+HTML+CSS+JavaScript》——导读...

前言网络技术的日益成熟&#xff0c;给人们带来了诸多方便。如今&#xff0c;网络正在各个领域发挥着巨大的作用&#xff0c;是人们日常生活中不可或缺的部分。人们足不出户就可以网上购物&#xff0c;随时查询股票信息&#xff0c;在自己的博客上发表文字和图片……以上这些都…

Fotor 在线设计工具 在线设计网站

网站名称&#xff1a;Fotor 网站网址&#xff1a;https://www.fotor.com.cn/ 网站简介&#xff1a; 免费在线图片编辑及设计工具。 网站介绍&#xff1a; Fotor的每一个界面都体验除了极简主义理念&#xff0c;除了提供轻便而又全能的图片编辑工具以外&#xff0c;Fotor的设计功…

如何检查网站 https SSL 的状态

可以通过网站直接检查。 比如下面的这个网站就能够查看 SSL 的状态&#xff0c; https://myssl.com检查的结果有可能是下图&#xff1a;https://www.cwiki.us/questions/32998363/%e5%a6%82%e4%bd%95%e6%a3%80%e6%9f%a5%e7%bd%91%e7%ab%99-https-ssl-%e7%9a%84%e7%8a%b6%e6%80%…

Confluence 5 如何将网站加入到白名单中

如果希望 Confluence 能够读取其他网站的内容&#xff0c;那么首先需要将其他网站加到 Confluence 的白名单中。 登录 Confluence 的管理员界面后按照下面的路径访问&#xff1a;【USERS & SECURITY】 》 【Whitelist】输入你希望加入白名单的网站。 然后单击添加。WIKI.OS…

Confluence 5 如何添加网站跟踪代码

我们希望能够跟踪 Confluence 5 的网站访问情况。 你可以非常方便的添加&#xff0c;而且不需要插件支持 登录 Confluence 5.4 的管理后台。 【LOOK AND FEEL】 》 【Custom HTML】单击 【Edit】按钮将跟踪代码粘贴进入对话框中单击【保存】按钮查看源代码&#xff0c;我们可以…