个人博客系列-项目部署-nginx(3)

使用Nginx + uwsgi进行部署django项目

一. 检查项目是否可以运行

  1. 启动项目
python manage.py runserver 0.0.0.0:8099
  1. 输入ip:8099 查看启动页面
    在这里插入图片描述出现上述页面表示运行成功

二. 安装uwsgi并配置

2.1 下载uwsgi

pip install uwsgi

新建文件test.py写入内容,测试一下是否可以执行

def application(env, start_response):start_response('200 OK', [('Content-Type', 'test.html')])return [b'hello world']

启动:uwsgi --http-socket :8098 --file test.py
在这里插入图片描述
访问页面能够看到内容
在这里插入图片描述
2.2 配置uswgi文件, 需要创建一个 ini 文件,指定项目目录、模块、端口、进程、日志等信息,
这里在项目根目录下创建了一个uwsgi_conf目录,并将ini文件及其他相关文件都放在此目录中
ini文件内容如下:

[uwsgi]
# 对外提供 http 服务的端口
http = :8086
#the local unix socket file than commnuincate to Nginx   用于和 nginx 进行数据交互的端口
socket = 127.0.0.1:8098
# the base directory (full path)  django 程序的主目录
chdir= /home/lingxl/www/Blog/Blog_pro/Blog
# Django's wsgi file
wsgi-file = Blog/wsgi.py
# maximum number of worker processes
processes = 4
#thread numbers startched in each worker process
threads = 2
#monitor uwsgi status  通过该端口可以监控 uwsgi 的负载情况
stats = 127.0.0.1:8097
# clear environment on exit
vacuum = true
##	指定uWSGI日志文件的路径。uWSGI将在此文件中记录运行日志和错误信息
daemonize=%(chdir)/uwsgi_conf/logs/uwsgi.log 

2.3 运行uwsgi

 uwsgi uwsgi.ini

在这里插入图片描述

看到下面页面表示配置成功
在这里插入图片描述
以上工作表面uwsgi已与django连通成功

如果不成功,可以查看日志文件,日子文件路径需要在ini文件进行配置。

三. 配置nginx

3.1 此处忽略Nginx安装步骤,Nginx的安装单独整理。
pass
3.2 找到 /etc/nginx/nginx.conf,看一下配置文件,在 /etc/nginx/ 中创建blog目录,在blog目录下再创建一个blog.conf文件。

mkdir blog && cd blog && touch blog.conf

3.3 在/etc/nginx/nginx.conf 的http里写入两行代码:

server_names_hash_bucket_size 64;
include /etc/nginx/blog/*.conf;

3.4 写入blog.conf内容

server {listen       8099;   # 外部进行访问的接口server_name  localhost;   # 服务器域名
#         root         /usr/share/nginx/html;access_log  /var/log/nginx/blog.log;error_log   /var/log/nginx/blog_error.log;# Load configuration files for the default server block.include /etc/nginx/default.d/*.conf;location / {include  /etc/nginx/uwsgi_params;uwsgi_pass  127.0.0.1:8098;    与uwsgi的端口保持一致}location /static/ {autoindex on;## 必须能到达css,js那一层, 否则会出错。这里需要提前配置好静态资源 staticalias /home/lingxl/www/Blog/Blog_pro/Blog/static/;}error_page 404 /404.html;location = /40x.html {}error_page 500 502 503 504 /50x.html;location = /50x.html {}}

3.4 static 配置
在django的settings的最下边写入两行代码

STATIC_URL = '/static/'
STATIC_ROOT = f"{BASE_DIR}/static"

在这里插入图片描述
3.5 搜集 static 静态资源

python manage.py collectstatic

3.6 Nginx检查配置文件

nginx -t 是nginx检查配置文件是否有错误的命令,如果正常,输出如下
在这里插入图片描述
3.7 使配置文件生效

nginx -s reload 是nginx重新载入配置文件的命令,可以让配置项生效。
在这里插入图片描述
3.8 重启nginx
systemctl restart nginx
在这里插入图片描述
3.9 访问监听端口
在这里插入图片描述
配置成功!!!

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

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

相关文章

SpringBoot中Redis缓存的使用

目录 1 前言 2 实现方法 2.1 查询数据时 2.2 修改数据 1 前言 对于一些不常改变,但又经常查询的数据,我们可以使用Redis缓存,来缓解数据库的压力,其中的逻辑如下: 2 实现方法 2.1 查询数据时 一般在控制类查询方…

Python列表:灵活多变的数据结构

文章目录 一、列表1.创建列表2.访问列表元素3.修改列表元素4.添加元素5.删除元素 二、列表脚本操作符1.连接运算符 2.重复运算符 * 三、列表函数&方法1.函数1.1 len() 函数1.2 max() 函数1.3 min() 函数1.4 sum() 函数1.5 list() 函数 2.方法2.1 append() 方法2.2 extend()…

MacBook的nginx出现13: Permission denied 的问题分析和解决办法

同样的项目代码,电脑从Windows更换到了MacBook,发现网站的样式都没有了,直接访问CSS文件 http://crm.ms-test.cc/toolstatic/css/bootstrap.min.css 发现无法访问。查看Nginx错误日志: 说明是nginx没有权限访问这个CSS文件&#…

mysql 分表实战

本文主要介绍基于range分区的相关 1、业务需求,每日160w数据,每月2000w;解决大表数据读写性能问题。 2、数据库mysql 8.0.34,默认innerDB;mysql自带的逻辑分表 3、分表的目的:解决大表性能差,小表缩小查询单位的特点(其实优化的精…

鼠标右键助手专业版 MouseBoost PRO for Mac v3.3.6中文破解

MouseBoost Pro mac版是一款简单实用的鼠标右键助手专业版,MouseBoost Pro for Mac只要轻点你的鼠标右键,就可以激活你想要的各种功能,让你的工作效率大幅度提高,非常好用。 软件下载:MouseBoost PRO for Mac v3.3.6中…

Gemma模型论文详解(附源码)

原文链接:Gemma模型论文详解(附源码) 1. 背景介绍 Gemma模型是在2023.2.21号Google新发布的大语言模型, Gemma复用了Gemini相同的技术(Gemini也是Google发布的多模态模型),Gemma这次发布了了2B和7B两个版本的参数,不…

如何快速卸载windows电脑的一些软件?

本系列是一些电脑常规操作的普及,有需要借鉴即可 注:每个电脑都会有差异,参考即可。 其实大部分软件你删除桌面上的图标不等于删除,因为桌面上的那个图标就是一个简单的快捷方式而已。 在这里插入图片描述 那如何正确的卸载软件呢…

Android 广播的基本概念

一.广播简介 Broadcast是安卓四大组件之一。安卓为了方便进行系统级别的消息通知,引入了一套广播消息机制。打个比方,记得原来在上课的时候,每个班级的教室里都会装有一个喇叭,这些喇叭都是接入到学校的广播室的,一旦…

(done) 什么是特征值和特征向量?如何求特征值的特征向量 ?如何判断一个矩阵能否相似对角化?

什么是齐次方程? https://blog.csdn.net/shimly123456/article/details/136198159 行列式和是否有解的关系? https://blog.csdn.net/shimly123456/article/details/136198215 特征值和特征向量 参考视频:https://www.bilibili.com/video/BV…

《Solidity 简易速速上手小册》第4章:智能合约的设计与开发(2024 最新版)

文章目录 4.1 合约结构和布局4.1.1 基础知识解析深入合约布局原则理解组织结构高效布局的重要性4.1.2 重点案例:构建一个在线商店合约案例 Demo:编写在线商店智能合约案例代码:OnlineStore.sol测试和验证拓展功能4.1.3 拓展案例 1:可升级的合约案例 Demo:创建可升级的智能…

【主题广范|见刊快】2024年科技,绿色能源和可持续发展国际会议(ICTGESD 2024)

【主题广范|见刊快】2024年科技,绿色能源和可持续发展国际会议(ICTGESD 2024) 2024 International Conference on Technology, Green Energy, and Sustainable Development ⊙会议简介: 2024年科技,绿色能源和可持续发…

音视频技术-声反馈啸叫的产生与消除

目录 1.均衡调节: 2.移频法: 3.移相法: 4.比较法: 在扩音系统中,产生啸叫危害很大,一方面影响会议、演出等活动的正常进行,另一方面严重的啸叫会导致音响设备的损坏。 “啸叫”是“声反馈”的俗称,形成的机制复杂,消除的手段多样,专业调音师也对

Unity中URP实现水效果(水的深度)

文章目录 前言一、搭建预备场景1、新建一个面片,使其倾斜一个角度,来模拟水底和岸边的效果2、随便创建几个物体,作为与水面接触的物体3、再新建一个面片,作为水面 二、开始编写水体的Shader效果1、新建一个URP基础Shader2、把水体…

最优传输(Optimal Transport)

最优传输(Optimal Transport)是一种数学理论和计算方法,用于描述两个概率分布之间的距离或者对应关系。它的核心概念是如何以最佳方式将一组资源(如质量、能量等)从一个位置传输到另一个位置。 基本概念: …

Java编程实战:构建医疗信息管理新平台

✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 |…

sql注入 [极客大挑战 2019]FinalSQL1

打开题目 点击1到5号的结果 1号 2号 3号 4号 5号 这里直接令传入的id6 传入id1^1^1 逻辑符号|会被检测到,而&感觉成了注释符,&之后的内容都被替换掉了。 传入id1|1 直接盲注比较慢,还需要利用二分法来编写脚本 这里利用到大佬的脚…

英伟达推出免训练,可生成连贯图片的文生图模型

目前,多数文生图模型皆使用的是随机采样模式,使得每次生成的图像效果皆不同,在生成连贯的图像方面非常差。 例如,想通过AI生成一套图像连环画,即便使用同类的提示词也很难实现。虽然DALLE 3和Midjourney可以对图像实现…

linux0.11 源码阅读 head.s setup.s bootsect.s加载位置

从github上下载linux0.11源码 linux0.11源码 将0x10000处的代码往下复制到0开始的地址处。 移动后的内存布局如下 setup中存在gdt和idt的相关数据。此时需要用gdtr和idtr寄存器指向对应的数据。 实模式下,访问内存方式。最多访问1M内存。

有哪些适合程序员的副业?

如果你经常玩知乎、看公众号(软件、工具、互联网这几类的)你就会发现,好多资源连接都变成了夸克网盘、迅雷网盘的资源链接。 例如:天涯神贴,基本上全是夸克、UC、迅雷网盘的资源链接。 有资源的前提下,迅雷…

人工智能 — 图像滤波器

目录 一、图像噪声1、高斯噪声2、椒盐噪声3、泊松噪声4、乘性噪声5、瑞利噪声6、伽马噪声 二、图像滤波三、各种滤波器1、均值滤波2、中值滤波3、最大最小值滤波4、引导滤波 四、图像增强1、点处理1、线性变换2、分段线性变换3、对数变换4、幂律变换/伽马变换 2、领域处理3、图…