Nginx代理Python项目

人码图技术分享873

创建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、测试


相关文章

开源--Ventoy

开源--Ventoy

简单来说,Ventoy是一个制作可启动U盘的开源工具。有了Ventoy你就无需反复地格式化U盘,你只需要把 ISO/WIM/IMG/VHD(x)/EFI 等类型的文件直接拷贝到U盘里面就可以启动了,无...

OpenStack架构

OpenStack架构

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

Docker 常用命令大全

Docker 常用命令大全

本文包括容器生命周期管理命令、容器操作命令、容器rootfs命令、镜像仓库命令、本地镜像管理命令和基础版本信息命令。容器生命周期管理命令run创建一个新的容器。# 使用docker镜像ngi...

「Kubernetes」k8s 的基本使用指令

结构模型k8s 是经典的一对多模型,有一个主要的管理节点master和许多的工作节点slaver。当然,k8s 也可以配置多个管理节点,拥有两个以上的管理节点被称为 高可用。k8s 包括了许多的组件,...

win版 postgresql配置简单说明

win版 postgresql配置简单说明

win版 postgresql配置简单说明官网下载最新win版本压缩包,本例中使用的是postgresql-11.5-1-windows-x64-binaries.zip解压缩到指定目录,比如D:\p...

 Nginx 部署 Python 项目

Nginx 部署 Python 项目

目标是完成一个 Python Web 项目的线上部署,我们使用最新的 Django 项目搭建一个简易的 Web 工程,然后基于 Nginx 服务部署该 Python Web 项目。1. 前期准备1.1...

发表评论    

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