【Django】Django web项目部署(Nginx+uwsgi)
一、安装uwsgi
通过pip安装uwsgi。
pip install uwsgi
|
测试uwsgi,创建test.py文件:
def application( env , start_response):
start_response( '200 OK' , [( 'Content-Type' , 'text/html' )])
return [b "Hello World" ]
|
通过uwsgi运行该文件。
uwsgi --http :8001 --wsgi- file test .py
|
常用选项:
http : 协议类型和端口号
processes : 开启的进程数量
workers : 开启的进程数量,等同于processes(官网的说法是spawn the specified number ofworkers / processes)
chdir : 指定运行目录(chdir to specified directory before apps loading)
wsgi-file : 载入wsgi-file(load .wsgi file)
stats : 在指定的地址上,开启状态服务(enable the stats server on the specified address)
threads : 运行线程。由于GIL的存在,我觉得这个真心没啥用。(run each worker in prethreaded mode with the specified number of threads)
master : 允许主进程存在(enable master process)
daemonize : 使进程在后台运行,并将日志打到指定的日志文件或者udp服务器(daemonize uWSGI)。实际上最常用的,还是把运行记录输出到一个本地文件上。
pidfile : 指定pid文件的位置,记录主进程的pid号。
vacuum : 当服务器退出的时候自动清理环境,删除unix socket文件和pid文件(try to remove all of the generated file/sockets)
二、安装nginx
sudo apt-get install nginx #安装
|
启动Nginx:
/etc/init .d /nginx start #启动
/etc/init .d /nginx stop #关闭
/etc/init .d /nginx restart #重启
|
三、Django部署
在我们用python manager.py startproject myproject创建项目时,会自动为我们生成wsgi文件,所以,我们现在之需要在项目目录下创建uwsgi的配置文件即可,我们采用ini格式:
# myweb_uwsgi.ini file
[uwsgi]
# Django-related settings
socket = :8000
# the base directory (full path)
chdir = /mnt/myproject
# Django s wsgi file
module = myproject.wsgi
# process-related settings
# master
master = true
# maximum number of worker processes
processes = 4
# ... with appropriate permissions - may be needed
# chmod-socket = 664
# clear environment on exit
vacuum = true
daemonize = /mnt/myproject/uwsgi_log .log
pidfile = /mnt/myproject/uwsgi_pid .log
|
再接下来要做的就是修改nginx.conf配置文件。打开/etc/nginx/nginx.conf文件,http中添加如下内容。
server {
listen 8099;
server_name 127.0.0.1
charset UTF-8;
access_log /var/log/nginx/myweb_access .log;
error_log /var/log/nginx/myweb_error .log;
client_max_body_size 75M;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8000;
uwsgi_read_timeout 2;
}
location /static {
expires 30d;
autoindex on;
add_header Cache-Control private;
alias /mnt/myproject/static/ ;
}
}
|
listen 指定的是nginx 对外的端口号。
server_name 设置为域名或指定的到本机ip。
nginx通过下面两行配置uwsgi产生关联:
include uwsgi_params;
uwsgi_pass 127.0.0.1:8000; // 必须与uwsgi中配置的端口一致
|
最后我们在项目目录下执行下面的命令来启动关闭我们的项目:
1 #启动 2 uwsgi --ini uwsgi.ini 3 /etc/init.d/nginx start 4 5 #停止 6 uwsgi --stop uwsgi_pid.log 7 /etc/init.d/nginx stop
好了 ,现在我们可以访问127.0.0.1:8099即可看到我们自己的项目了
转载于:https://www.cnblogs.com/perfe/p/6196854.html
【Django】Django web项目部署(Nginx+uwsgi)相关推荐
- Django的web项目部署至Centos7服务器并配置域名访问
配置服务器 本教程使用的本地环境为 Windows 10,服务器环境为 CentOS 7(64 位).(如果你还不知道服务器是什么的话,我简单解释一下服务器其实就是一台在其他地方运行的主机.这台主机可 ...
- Centos 6.5部署nginx+uwsgi+django
Centos 6.5部署nginx+uwsgi+django 一.安装python3,系统默认是python2.6 1.安装依赖软件 yum -y install sqlite-devel yum - ...
- 将Web项目部署到华为云服务器的Linux的Tomcat中
将Web项目部署到阿里云服务器的Linux的Tomcat中 01_用SSH Secure Shell Client或Xshell 6这个Windows客户端工具,将在Windows中已经开发完毕的Ja ...
- 如何将web项目部署到远程桌面,通过远程地址访问web项目
如何将web项目部署到远程桌面,通过远程地址访问web项目 进入公司会经常让你把某个项目或者一些展示数据的html文件放到远程服务器上,可供大家一起访问查看,看了网上的一些办法大部分都是nginx,t ...
- Web项目部署到云服务器中—保姆级教程
文章目录 1.1工具准备 1.2安装JDK 1.3安装Tomcat 1.4安装MySql 1.5配置防火墙 1.6配置云服务器安全组 1.7Tomcat配置与启动 1.8补充知识 8.8.1如何将项目 ...
- 把本地web项目部署在腾讯云服务器上
把本地web项目部署在腾讯云服务器上 怎样把本地web项目部署在腾讯云服务器上? 1.准备本地项目 2.配置云计算机 3.配置云服务器 4.部署项目 5.运行项目 怎样把本地web项目部署在腾讯云服务 ...
- java web项目部署到tomcat服务器(一般步骤和自己所犯错误的总结)————高手忽略
最近由于项目需求,需要将java web项目部署到本地tomcat上(版本为8.0)进行测试.作为一个非计算机专业的菜鸟,之前的工作都是写后台逻辑代码,没接触过web项目部署.部署的时候不知道如何下手 ...
- 网站部署到其他服务器但无权修改,web项目部署到服务器遇到的问题
web项目部署到Linux服务器遇到的问题 (内含war包部署产生的问题) 部署项目为:旅游网(可下载源码) 一 Linux部署环境问题 二 war包错误修改 Linux部署环境问题 整个Linux服 ...
- 阿里云部署Django项目(nginx+uWSGI)-2018.11
前言:部署的前提是你的项目已经在本地完成可以运行了,我的本地环境是ubuntu16.04+python3.5+Django2.1.2+Mysql,在python虚拟环境(virtualenv)下建的项 ...
- Django之部署NGINX+uWSGI
参考地址:http://www.cnblogs.com/CongZhang/p/6548529.html http://www.cnblogs.com/alex3714/p/6538374.html ...
最新文章
- 【已解决】mysql连接出错:ERROR 1040 (HY000): Too many connections
- curl get post 示例
- python新手入门教程-终于知晓python新手练习教程
- Spring快速入门及深入
- JavaScript indexOf() 方法 和 lastIndexOf() 方法
- 电脑重启bootmgr_电脑系统启动:显示0xc0000428怎么办
- RabbitMQ从初学到精通一
- ElasticSearch docker安装
- Arduino入门笔记(5):1602液晶实验(实现时钟)
- 绿色版DNF(地下城勇士)全键盘连发工具,支持DNF双开
- C++ OpenCV人脸图像提取
- vs2010下配置HPSocket教程,详细截图附入门demo源码
- 水逆期自我救赎:MacBook pro进水
- 通过Frp内网穿透和Nginx反向代理实现不带端口号访问家里内网服务器网站
- 表达矩阵melt之后 画图 reshape gaochao ards 1: Unknown or uninitialised column: `p`. 2: Computation failed i
- 用优盘装系统看不到计算机本身的硬盘,给电脑装系统!的时候找不到硬盘只能看到u盘数据我怀疑硬盘坏了主机? 爱问知识人...
- 理解进程、通过调用 fork 函数创建进程
- 爸妈语录(笑的嘴抽筋了~~~~~) 转
- 9.13 用C语言实现LED1/LED2/LED3灯点亮
- 傅里叶级数的理解与简单推导