如何用nginx+uwsgi部署自己的django项目(nginx和uwsgi部署flask项目)

如何用nginx+uwsgi部署自己的django项目(nginx和uwsgi部署flask项目)

浏览次数:
信息来源: 用户投稿
更新日期: 2026-04-15
文章简介

第一步:换源输入命令换掉Ubuntu的下载源sudonano/etc/apt/sources.list将以下全部替换掉原文件,我这里用的是阿里的源,你也可以换其他的。debhttp://mirr

2025阿里云双十一服务器活动

第一步:换源

输入命令换掉Ubuntu的下载源

sudonano/etc/apt/sources.list

将以下全部替换掉原文件,我这里用的是阿里的源,你也可以换其他的。

debhttp://mirrors.aliyun.com/ubuntu/bionicmainrestricted

debhttp://mirrors.aliyun.com/ubuntu/bionic-updatesmainrestricted

debhttp://mirrors.aliyun.com/ubuntu/bionicuniverse

debhttp://mirrors.aliyun.com/ubuntu/bionic-updatesuniverse

debhttp://mirrors.aliyun.com/ubuntu/bionicmultiverse

debhttp://mirrors.aliyun.com/ubuntu/bionic-updatesmultiverse

debhttp://mirrors.aliyun.com/ubuntu/bionic-backportsmainrestricteduniversemultiverse

debhttp://mirrors.aliyun.com/ubuntu/bionic-securitymainrestricted

debhttp://mirrors.aliyun.com/ubuntu/bionic-securityuniverse

deb[arch=amd64]https://mirrors.aliyun.com/docker-ce/linux/ubuntubionicstable

分别输入以下命令,更新源

sudoaptupgrade

第二步:安装相关包

#查看python版本:建议使用3.6之后的版本,因为其他的笔者没试过,笔者用的是3.6.9版本

python

2.安装openssh-server和net-tools

sudoaptinstallopenssh-server

ifconfig

如下图所示,就是我们的虚拟机IP

virtualenv--python=/usr/bin/python3myblog

sourcebin/activate

安装django:

激活并且创建好项目之后就基本和下图所示差不多了

pip3installuwsgi

第三步:写入测试文件并测试运行

安装好之后我们再写一个测试文件,用来测试我们项目的运行方式,实际项目也是一样的。这里我用的是nano编辑写入方式,你也可以使用vim,方式不限,能创建写入即可写入命令为:

defapplication(env,start_response):

start_response('200ok',[('Content-Type','text/html')])

return[b"HelloWorld"]

第四步:引入nginx

为了避免在输入ip时,不输入端口号也能正常使用,我们引入轻量级的nginx,这里我们用命令行安装并且启动nginx

新建一个conf文件,并且写入以下内容,将里面涉及路径的地方全部改为你自己项目的路径:

这里的路径改为你自己项目路径

server127.0.0.1:8001;#forawebportsocket(we'llusethisfirst)

server_name192.168.217.133;#将这里的ip地址改为你自己的虚拟机或者服务器地址

client_max_body_size75M;#adjusttotaste

alias/home/python/myblog/blog/media;#yourDjangoproject'smediafiles-amendasrequired

alias/home/python/myblog/blog/static;#yourDjangoproject'sstaticfiles-amendasrequired

include/home/python/myblog/blog/uwsgi_params;#theuwsgi_paramsfileyouinstalled

}

创建好文件之后,我们需要对该文件创建一个软链接,需要输入以下命令:

如何用nginx+uwsgi部署自己的django项目,nginx和uwsgi部署flask项目

完成之后我们可以通过ll/etc/nginx/sites-enabled/这个命令来查看一下,是否设置正确,参考下图

3、创建uwsgi_params文件和静态文件夹配置

这里我们需要创建一个uwsgi_params文件,创建命令为:

并且将下面内容一字不差的写入到uwsgi_params文件中保存并退出

uwsgi_paramQUERY_STRING$query_string;

uwsgi_paramREQUEST_METHOD$request_method;

uwsgi_paramCONTENT_TYPE$content_type;

uwsgi_paramCONTENT_LENGTH$content_length;

uwsgi_paramREQUEST_URI$request_uri;

uwsgi_paramPATH_INFO$document_uri;

uwsgi_paramDOCUMENT_ROOT$document_root;

uwsgi_paramSERVER_PROTOCOL$server_protocol;

uwsgi_paramREQUEST_SCHEME$scheme;

uwsgi_paramHTTPS$httpsif_not_empty;

uwsgi_paramREMOTE_ADDR$remote_addr;

uwsgi_paramREMOTE_PORT$remote_port;

uwsgi_paramSERVER_PORT$server_port;

uwsgi_paramSERVER_NAME$server_name;

此时进入阻塞,在浏览器中输入IP地址:192.168.217.133:8000,发现可以打开,显示helloworld成功。说明uesgi和nginx通信正常

进入nginx配置文件中:sudonano/etc/nginx/sites-available/blog_nginx.conf

将文件中下面两行中的第二行注释掉,开启第一行,但是路径一定要正确,改使用管道通信

serverunix:///home/python/myblog/blog.sock;server127.0.0.1:8001;#forawebportsocket(we'llusethisfirst)

保存退出,重启nginx:sudoservicenginxrestart

将uwsgi参数套节字改为blog.sock

uwsgi--socketblog.sock--wsgi-filetest.py

回到浏览器输入:192.168.217.133:8000得到502:如图

我们查看一下错误日志,发现是因为权限问题,解决办法,在命令行后面加入--chmod=666

uwsgi--socketblog.sock--wsgi-filetest.py--chmod=666

运行之后发现没有问题,并且正常显示HelloWorld界面。

现在我们运行django项目,命令为:

刷新192.168.217.133:8000得到django的基础页面。

目前可以说明nginx和uwsgi管道通信正常。

第六步:将项目改为后台运行

创建一个uwsgi的配置文件:sudonanoblog_uwsgi.ini

写入一下内容,将其中的路径改为自己的项目路径

#thebasedirectory(fullpath)

chdir=/home/python/myblog/blog

#maximumnumberofworkerprocesses

#thesocket(usethefullpathtobesafe

socket=/home/python/myblog/blog/mysite.sock

#...withappropriatepermissions-maybeneeded

#daemonizeuwsgiandwritemessagesintogivenlog

daemonize=/home/python/myblog/blog/uwsgi.log

保存退出并且启动配置文件,命令为:

我们可以查看一下后台进程,是否正常启动,输入:

最后回到nginx配置文件中,将监听端口改为80,重启nginx即可。在浏览器中输192.168.217.133得到django页面结果,表示项目运行正常。

以上就是如何用nginx+uwsgi部署自己的django项目的详细内容,更多请关注主机测评网其它相关文章!

标签:
比特币矿工托管是什么意思(为您选择最佳矿工托管的分步指南)
« 上一篇
返回列表
下一篇 »

如本文对您有帮助,就请抽根烟吧!