nginx+uwsgi介绍

一、nginx+uwsgi介绍

pip list  # 查看安装过的模块
rpm -q nginx  # 查看是否安装某款服务

pip install django == 1.11.11  # 安装django并指定版本
yum install -y nginx  # 安装nginx

"""单独在一台被控机上测试"""
mkdir /data
cd /data/

# 命令行创建django项目
django-admin startproject mysite
cd mysite/
python manage.py startapp app01

# 修改配置文件
ALLOWED_HOSTS = ["*"]
DEBUG = False
注册app01

# 启动访问
python manage.py runserver 0.0.0.0:8080  # 需要关闭防火墙 iptables -F

# django默认使用的wsgiref并发量太小 换成uwsgi
pip install uwsgi  # 可保持django运行 重新开设xshell窗口安装即可
# 报错 需要下载python-devel(开发必备的包) 秉持原则:缺什么装什么不用的别装  然后重新安装即可
yum install -y python-devel

# 启动uwsgi 需要切换到项目目录下
uwsgi --http :8090 --module mysite.wsgi
# 将uwsgi服务写入配置文件中
vi /etc/uwsgi.ini
"""
[uwsgi]
http = 0.0.0.0:8000
# the local unix socket file than commnuincate to Nginx
# socket = /data/mysite/mysit.socket
# the base directory (full path)
chdir = /data/mysite
# Django‘s wsgi file
wsgi-file = mysite/wsgi.py
# maximum number of worker processes
processes = 4
#thread numbers startched in each worker process
threads = 2
# clear environment on exit
vacuum          = true  # uwsgi关闭之后 将临时生成的文件删除掉
daemonize = /data/mysite/uwsgi.log  # 后台启动 守护进程
py-autoreload=1  # py文件改动 自动重新加载
"""

# 配置文件启动
uwsgi --ini /etc/uwsgi.ini
# nginx做代理  修改配置文件(可以直接修改nginx自带的 也可自定义配置)
vi /etc/nginx/nginx.conf
"""
location / {
    include /etc/nginx/uwsgi_params;
    uwsgi_pass 127.0.0.1:8000;
}
"""
# 重启服务
systemctl restart nginx
# 访问10.0.0.101:80端口报错  针对nginx访问报错  有三种配置方式

# 第一种
# uwsgi的配置   vi /etc/uwsgi.ini
http = 0.0.0.0:8000
# nginx的配置   vi /etc/nginx/nginx.conf
location / {
    proxy_pass http://127.0.0.1:8000;
}
# 重启服务
systemctl restart nginx
# 仍然无法访问  查看系统日志  访问成功日志(access.log)和报错日志(error.log)
tail -f /var/log/nginx/error.log  # 报权限错误
setenforce 0  # selinux安全控件(非常牛逼的认证方式 但实际工作不用)
vi /etc/selinux/config
"""
修改配置
SELINUX=disabled
"""
pkill -9 uwsgi  # 杀掉uwsgi的进程

# 第二种
# uwsgi的配置  vi /etc/uwsgi.ini
socket = 0.0.0.0:8000
# nginx的配置  vi /etc/nginx/nginx.conf
include /etc/nginx/uwsgi_params;
uwsgi_pass 127.0.0.1:8000;
# 重启服务
systemctl restart nginx

# 第三种
# uwsgi的配置  vi /etc/uwsgi.ini
socket = /data/mysite/mysite.socket
# nginx的配置  vi /etc/nginx/nginx.conf
include /etc/nginx/uwsgi_params;
uwsgi_pass unix:/data/mysite/mysite.socket;
# 重启服务
systemctl restart nginx

原文地址:https://www.cnblogs.com/yangmeichong/p/11909872.html

时间: 2024-10-25 12:10:46

nginx+uwsgi介绍的相关文章

nginx+uwsgi部署django的简单介绍

1.安装django  环境ubuntu:sudo pip install django 2.新建一个django项目 命令:django-admin.py startproject  wlwebsite1 启动项目:python manage.py runserver 0.0.0.0:8000 浏览器查看,如下显示即正常 3.django项目有了,现在安装uwsgi 环境ubuntu:sudo pip install uwsgi 安装成功后看uwsgi版本:uwsgi --version ws

Nginx的介绍和部署

1.nginx的介绍 1.1 nginx的优势 1) 作为Web服务器,Nginx处理静态文件.索引文件,自动索引的效率非常高. 2) 作为代理服务器,Nginx可以实现无缓存的反向代理加速,提高网站运行速度. 3)作为负载均衡服务器,Nginx既可以在内部直接支持Rails和PHP,也可以支持HTTP代理服务器对外进行服务,同时还支持简单的容错和利用算法进行负载均衡. 4) 在性能方面,Nginx是专门为性能优化而开发的,在实现上非常注重效率.它采用内核Poll模型,可以支持更多的并发连接,最

转载nginx+uwsgi+django

Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式. 在这种方式中,我们的通常做法是,将nginx作为服务器最前端,它将接收WEB的所有请求,统一管理请求.nginx把所有静态请求自己来处理(这是NGINX的强项).然后,NGINX将所有非静态请求通过uwsgi传递给Django,由Django来进行处理,从而完成一次WEB请求. 可见,uwsgi的作用就类似一个桥接器.起到桥梁的作用. Linux的强项是用来做服务器,所以,下面的整个部署过程我们选择在U

Centos+nginx+uwsgi+Python多站点环境搭建

前言 新公司的第一个项目,服务器端打算用python作为restful api.所以需要在Centos上搭建nginx+fastcgi+python的开发环境,但后面网上很多言论都说uwsgi比fastcgi在很多方面存在优势,推荐用uwsgi而不是fastcgi,详见:http://sunxiunan.com/?p=1778.因此,改为搭建nginx+uwsgi+python这样的技术组合. 正题 步入正题,开始搭建环境.http://www.cnblogs.com/xiongpq/p/338

nginx服务器介绍,负载均衡,文件配置,内核优化

一.nginx服务器的介绍 nginx服务器是一个web服务器,有高性能,内存消耗比较低,具有反向代理功能,可以代理web和mail,还有负载均衡的功能,将用户的请求进行转发的real server服务器中 二.nginx安装 1.关闭防火墙和SELINUX service iptables stop chkconfig iptables off chkconfig iptables --list getenforce 2.在官网下载相关安装包 wget http://nginx.org/dow

Nginx+uWSGI+Django原理

Python的Web开发中,如果使用Django框架,那么较为成熟稳定的服务器架构一般是Nginx+uWSGI+Django.而为什么一定要三个结合在一起呢?直接使用Django的runserver来启动服务器进程,或者uWSGI+Django可不可以呢?为什么? 概念说明: APP(应用程序),就是开发者写的应用程序,例如django,bottle这些.记录怎么处理客户端发来的请求的逻辑部分. WSGI,是一个协议,Python用于Web开发的协议 uWSGI,是一个程序,充当Web服务器或中

Nginx+uWSGI+Django原理(转发)

Python的Web开发中,如果使用Django框架,那么较为成熟稳定的服务器架构一般是Nginx+uWSGI+Django.而为什么一定要三个结合在一起呢?直接使用Django的runserver来启动服务器进程,或者uWSGI+Django可不可以呢?为什么? 概念说明: APP(应用程序),就是开发者写的应用程序,例如django,bottle这些.记录怎么处理客户端发来的请求的逻辑部分. WSGI,是一个协议,Python用于Web开发的协议 uWSGI,是一个程序,充当Web服务器或中

debian完整部署 Nginx + uWSGI + Django

debian完整部署 Nginx + uWSGI + Django 手工部署一个Django服务器真心不容易,需要安装很多东西.从头开始搭建服务器,主要是为了梳理一下后续开发中一般为碰到的平台部署.对后续问题的解决有一定帮助. 通常部署有2中方式: 一种是使用现成提供的服务器包用apt-get这种方式安装的.这种方式比较简单,但没有新版本. 另外就是使用源代码自己编译安装,这种比较繁琐,但能选择适合的版本安装. 这里介绍的是第二种,使用源代码编译的版本进行安装部署. 部署测试环境: - wind

使用Nginx+uWSGI+Django方法部署Django程序(下)

在上一篇文章<五步教你实现使用Nginx+uWSGI+Django方法部署Django程序(上)>中,阐述了如何只使用uWSGI来部署Django程序. 当然,单单只有uWSGI是不够的,在实际的部署环境中,Nginx是必不可少的工具. 在本篇文章中,我将一直延用“N步法”的风格来阐述如何将uWSGI与Nginx做连接来部署Django程序.并在最后,会较为完整的阐述本社区的部署方法. 本文大纲: 环境介绍 配置uWSGI 配置Nginx Nginx+uWSGI+Django的实现方式 一些建