Nginx代理Python项目

人码图技术分享1130

创建django项目:

服务器准备:

主机ip
web02192.168.15.8

1、安装python3

yum install python3 -y

查看是否安装成功

python3

查看pip3版本

pip3 -V

2、安装django框架

pip3 install django==2.2.2

3、创建django项目

cd /opt/
django-admin startproject dzg

4、在项目中创建应用

cd dzg/
django-admin startapp application

5、修改配置文件

vim /opt/dzg/dzg/settings.py

ALLOWED_HOSTS = ['*']
DATABASES = {}

6、启动测试

python3 manage.py runserver 0.0.0.0:8000

Nginx代理Python项目:

1、创建用户

groupadd django -g 888
useradd django -u 888 -g 888 -r -M -s /bin/sh

2、安装依赖包

yum install python3 libxml* python-devel gcc* pcre-devel openssl-devel python3-devel -y

3、为什么要用uWsgi

因为nginx不支持wsgi协议,无法直接调用py开发的webApp。
在nginx+uWsgi+Django的框架里,nginx代理+webServer,uWsgi是wsgiServer,Django是webApp。
nginx接收用户请求,并判定哪些转发到uWsgi,uWsgi再去调用pyWebApp。

4、安装uwsgi

pip3 install uwsgi

5、编辑项目启动配置文件

cd  /opt/dzg
vim my_uwsgi.ini

写入下面内容

[uwsgi]
# 端口号
socket            = :8000
# 指定项目的目录
chdir           = /opt/dzg
# wsgi文件路径
wsgi-file       = dzg/wsgi.py
# 模块wsgi路径
module          = dzg.wsgi
# 是否开启master进程
master          = true
# 工作进程的最大数目
processes       = 4
# 结束后是否清理文件
vacuum          = true

6、启动uwsgi

uwsgi 参数:

-d : 以守护进程方式运行
--ini : 指定配置文件的路径
cd  /opt/dzg
uwsgi -d --ini my_uwsgi.ini
ps -ef | grep uwsgi

7、配置Nginx连接uwsgi

/etc/nginx/conf.d
vim python.conf

输入以下内容:

# 配置一个网站
server {
    # 监听端口
    listen 80;
    # 域名
    server_name py.test.com;
    # 配置路径
    location / { 
        # 加载nginx带来uwsgi的配置项
        include uwsgi_params;
        # 指定uwsgi的访问路径
        uwsgi_pass 127.0.0.1:8000;
        # 连接uwsgi的超时时间
        uwsgi_read_timeout 2;
        # 自定义uwsgi代理项目的路径及配置项
        uwsgi_param UWSGI_SCRIPT dzg.wsgi;
        # 指定python项目的路径
        uwsgi_param UWSGI_CHDIR /opt/dzg;
        # 索引文件
        index  index.html index.htm;
        # 客户端上传文件的最大值
        client_max_body_size 35m;
    }
}

8、重启Nginx

systemctl restart nginx

9、修改Windows的hosts文件

C:\Windows\System32\drivers\etc

192.168.15.8 py.test.com

10、测试


相关文章

Docker常用命令详解

Docker常用命令详解

docker daemon命令-docker运行可指定项详解docker attach命令-登录一个已经在执行的容器docker build 命令-建立一个新的imagedocker commit命令...

Ubuntu 14.04+Django 1.7.1+Nginx+uwsgi部署教程

Ubuntu 14.04+Django 1.7.1+Nginx+uwsgi部署教程

具体环境:Ubuntu 14.04 Python 2.7.6 Django 1.7.1 Virtualenv name:test Nginx uwsgi假设 项目文件夹位于 /data/www/ts...

linux中用conda创建虚拟环境

linux中用conda创建虚拟环境

首先安装anaconda,使用wegt命令,下载sh文件官网链接:https://www.anaconda.com/products/individual下载命令:wget https://repo....

OpenStack架构

OpenStack架构

OpenStack架构OpenStack作为开源、可扩展、富有弹性的云操作系统,其设计基本原则①按照不同的功能和通用性划分不同项目,拆分子系统按照不同的功能划分不同服务,并且服务之间相互隔离,只通过A...

服务器  应用框架。

服务器 应用框架。

nginx是服务器,web.py是web应用框架。简言之,前者封装对网络io的处理,后者负责具体应用的逻辑,解决的问题是不一样的。形象点呢,一个请求来了,nginx先把请求拦下来,发现要的是现成的东西...

在Linux系统上通过uWSGI配置Nginx+Python环境的教程

在Linux系统上通过uWSGI配置Nginx+Python环境的教程

1.安装ubuntu有uwsgi的ppa:123add-apt-repository ppa:stevecrozz/ppaapt-get update apt-get install uwsgi 2....

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。