Nginx代理Python

Nginx代理Python
        
        知识储备:
            
            使用django框架
      
      
            1、安装python3
            
                [root@web02 ~]# yum install python3 -y
            
            2、安装django框架
            
                [root@web02 ~]# pip3 install django==2.2.2
                
            3、创建django项目
                [root@web02 opt]# cd /opt/
                [root@web02 opt]# django-admin startproject linux
            
            4、在项目中创建应用
            
                [root@web02 opt]# cd linux/
                [root@web02 linux]# pwd
                /opt/linux
                [root@web02 linux]# django-admin startapp application
 
            
            5、修改配置文件
            
                [root@web02 linux]# vim /opt/linux/linux/settings.py
                ALLOWED_HOSTS = ['*']
                DATABASES = {}
 
            
            6、启动,浏览器访问
            [root@web02 linux]# pwd
            /opt/linux
            [root@web02 linux]# python3 manage.py runserver 0.0.0.0:8000
 
        
        1、讲解Nginx代理Python
            
            1、创建用户
            
                [root@web02 linux]# groupadd django -g 888
                [root@web02 linux]# 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和django
            
                pip3 install uwsgi
                pip3 install django==2.2.2
            
            4、创建Python项目代码
            
                参考上述:使用django框架
            
            5、编辑项目启动配置文件
                [root@web02 linux]# cat myuwsgi.ini
                [uwsgi]
                # 端口号
                socket          = :8000
                # 指定项目的目录
                chdir           = /opt/linux
                # wsgi文件路径
                wsgi-file       = linux/wsgi.py
                # 模块wsgi路径
                module          = linux.wsgi
                # 是否开启master进程
                master          = true
                # 工作进程的最大数目
                processes       = 4
                # 结束后是否清理文件
                vacuum          = true
 
            6、启动uwsgi
            
                uwsgi
                
                参数:
                
                    -d : 以守护进程方式运行
                    --ini : 指定配置文件的路径
 
                [root@web02 linux]# cd /opt/linux
                [root@web02 linux]# uwsgi -d --ini myuwsgi.ini
                [uWSGI] getting INI configuration from myuwsgi.ini
                
                # 查看进程列表
                [root@web02 linux]# ps -ef | grep uwsgi
                root      26395      1  3 12:17 ?        00:00:00 uwsgi -d --ini myuwsgi.ini
                root      26397  26395  0 12:17 ?        00:00:00 uwsgi -d --ini myuwsgi.ini
                root      26398  26395  0 12:17 ?        00:00:00 uwsgi -d --ini myuwsgi.ini
                root      26399  26395  0 12:17 ?        00:00:00 uwsgi -d --ini myuwsgi.ini
                root      26400  26395  0 12:17 ?        00:00:00 uwsgi -d --ini myuwsgi.ini
 
            7、配置Nginx连接uwsgi
            
                # 配置一个网站
                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 linux.wsgi;
                        # 指定python项目的路径
                        uwsgi_param UWSGI_CHDIR /opt/linux;
                        # 索引文件
                        index  index.html index.htm;
                        # 客户端上传文件的最大值
                        client_max_body_size 35m;
                    }
                }
            
            8、重启Nginx
            
                [root@web02 conf.d]# systemctl restart nginx
posted @ 2021-10-27 21:40  念长卿  阅读(400)  评论(0)    收藏  举报