Nginx代理Python项目

人码图技术分享1076

创建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盘里面就可以启动了,无...

Docker 常用命令大全

Docker 常用命令大全

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

Hadoop简介

Hadoop简介

Hadoop(Hdfs\MR\Yarn\ZK)一、Hadoop简介1.1 hadoop简介作用:海量数据的存储,海量数据的分析组件:hdfs--------数据的存储  MapReduce-...

Linux查看所有用户命令/查看系统命令

Linux查看所有用户命令/查看系统命令

1、用户查看命令序号命令作用01id 用户名查看用户 UID 和 GID 信息02cat -n /etc/passwd查看用户详细信息,参数 - n 显示行号03cat -n /etc/group查看...

网络安全扫描工具

网络安全扫描工具

网络安全扫描工具是用于检测计算机系统、网络和应用程序中存在的安全漏洞和弱点的软件工具。在一般环境中,我们主要针对sql和html进行安全扫描,帮助开发人员优化提升系统环境的安全。以下是15个常用的网络...

Python虚拟环境(pipenv、venv、conda)

Python虚拟环境(pipenv、venv、conda)

Python虚拟环境详解一、什么是虚拟环境1. 什么是Python环境2. 什么是虚拟环境3. 常用工具二、pipenv1)创建虚拟环境2)激活虚拟环境3)虚拟环境包的管理4)退出虚拟环境5)删除虚拟...

发表评论    

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