当前位置:首页 > 技术文章 > 正文内容

Python3.8+Django+nginx+uwsgi环境(二)

arlanguage3个月前 (01-31)技术文章17

Django和uwsgi安装(非虚拟环境安装)

[root@localhost ~]# pip3 install Django==3.1.4
[root@localhost ~]# pip3 install uwsgi
# 创建相关软件链接
# 安装python时指定了路径
# 可以直接运行下面创建软链接的命令
# 未指定python安装路径的
# 需要查找文件路径然后创建软链接
[root@localhost ~]# ln -s /usr/local/python3/bin/django-admin /usr/bin/django-admin
[root@localhost ~]# ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi
[root@localhost ~]# mkdir /root/python3Project
[root@localhost ~]# cd /root/python3Project
[root@localhost python3Project]# django-admin startproject mysite
[root@localhost python3Project]# cd mysite
[root@localhost mysite]# python3 manage.py runserver
# 启动后如下(图1)django项目已经安装完成
# Ctrl+c结束即可


# 创建uwsgi的三个目录
# etc存放配置文件
# log存放日志文件
# run存放进程ID文件
[root@localhost mysite]# mkdir -p /data/uwsgi/{etc,log,run}
[root@localhost mysite]# cd /data/uwsgi
[root@localhost uwsgi]# ls
# 配置文件(下面会有详解,此外原样配置即可,非root用户需要修改相对应的uid和gid)
[root@localhost uwsgi]# vim etc/mysite.ini
[uwsgi]
chdir=/root/python3Project/mysite
wsgi-file=/root/python3Project/mysite/mysite/wsgi.py
master=True
pidfile=/data/uwsgi/run/mysite.pid
socket=127.0.0.1:9001
processes=2
uid=root
gid=root
harakiri=20
max-requests=5000
vacuum=True
daemonize=/data/uwsgi/log/mysite.log
# 启动uswgi
[root@localhost uwsgi]# uwsgi -d --ini /data/uwsgi/etc/mysite.ini
# 查看相关进程
[root@localhost uwsgi]# ps -ef | grep uwsgi

uwsgi参数详解设置

应用程序主目录

chdir=/root/python3Project/mysite

应用程序wsgi文件

wsgi-file=/root/python3Project/mysite/mysite/wsgi.py

启用主进程

master=True

主进程ID

pidfile=/data/uwsgi/run/mysite.pid

指定socket,这里要和后面nginx配置对应

socket=127.0.0.1:9001

进行个数

processes=2

uwsgit启动用户名和用户组

uid=root

gid=root

设置自动中断时间

harakiri=20

设置工作进程每处理N个进程就会被回收重启

max-requests=5000

自动移除socket和pid文件 当服务停止的时候

vacuum=True

日志文件

daemonize=/data/uwsgi/log/mysite.log

常用命令

#uwsgi --ini /data/uwsgi/etc/mysite.ini             		# 启动
#uwsgi --reload /data/uwsgi/run/mysite.pid         # 重启
#uwsgi --stop /data/uwsgi/run/mysite.pid            # 关闭

nginx安装和配置

[root@localhost ~]# wget http://nginx.org/download/nginx-1.9.8.tar.gz
[root@localhost ~]# tar -zxvf nginx-1.9.8.tar.gz
[root@localhost ~]# mkdir /usr/local/nginx
[root@localhost ~]# cd nginx-1.9.8/
[root@localhost nginx-1.9.8]# ./configure --prefix=/usr/local/nginx
[root@localhost nginx-1.9.8]# make && make install
[root@localhost nginx-1.9.8]# cd /usr/local/nginx/conf/
# 编辑添加如下代码(如下图2)
[root@localhost conf]# vim nginx.conf
    include server/*.conf;
[root@localhost conf]# mkdir server
[root@localhost conf]# cd server/
[root@localhost server]# vim 9001.mysite.conf
    server {
        listen       80;
        server_name  www.mysite.cn;
        charset utf-8;
        location / {
           include uwsgi_params;
           uwsgi_pass 127.0.0.1:9001;
           uwsgi_param UWSGI_SCRIPT mysite.wsgi;
           uwsgi_param UWSGI_CHDIR /root/python3Project/mysite;

        }
        location /static/ {
           alias data/wwwroot/mysite/static/;
        }
    }
 [root@localhost server]# cd ../../
 [root@localhost nginx]# ./sbin/nginx
 # 切记要查看防火墙和seLinux的状态
 # 1、把服务全关闭
 # 2、不想关闭要设置放行规则


以上操作完成,就可在客户端进行访问。

有如下访问方式:

1、基于端口的,9001.mysite.conf文件中listen非80的话,可以直接使用【http://ip:端口】进行访问

2、基于域名的,9001.mysite.conf文件使用80,server_name配置为www.mysite.cn,如域名为网络域名直接配置DNS解析即可。如非网络域名需在客户端(windows)配置host解析才可访问。


扫描二维码推送至手机访问。

版权声明:本文由AR编程网发布,如需转载请注明出处。

本文链接:http://www.arlanguage.com/post/1581.html

标签: nginx用户组
分享给朋友:

“Python3.8+Django+nginx+uwsgi环境(二)” 的相关文章

Nginx常用技巧

Nginx常用技巧:提高性能、安全性与稳定性Nginx作为高性能的Web服务器和反向代理服务器,广泛应用于各类生产环境中。通过一些常用的配置技巧,可以有效提高Nginx服务器的性能、安全性和可靠性。以下将介绍几项关键的配置技巧,帮助您最大化利用Nginx的优势。直达服务器选购网址:www.tsyvp...

蓝易云 - Nginx 设置禁用 OPTIONS 请求以及允许跨域教程!

在Nginx中禁用OPTIONS请求并允许跨域的教程在现代Web开发中,跨域资源共享(CORS)和处理HTTP请求方法(如OPTIONS)是常见需求。本文将详细介绍如何在Nginx中配置以禁用OPTIONS请求并允许跨域请求。云服务器,高防服务器就选蓝易云,头条搜索:蓝易云云服务器,高防服务器就选蓝...

2022年从零开始,用一篇博客掌握 nginx 的初级配置

当 nginx 安装之后,默认的配置如下所示(数据来源为宝塔自动生成),本篇博客重点介绍的是配置虚拟机相关内容,即 server 块配置项。 server 块的指令主要用于设置主机和端口, location 块用于匹配网页路径,一个 http 块可以包含多个 server 。基础配置server {...

K8S中Service使用nginx控制器实现Ingress负载均衡器的一个Demo

写在前面学习K8s中Service遇到,单独整理分享给小伙伴本文内容涉及:ingress-nginx-controller的创建基于ingress-nginx-controller的Ingress的创建基于Ingress的服务发布,SVC负载时间关系,关于Ingresshttp路由负载本文没有涉及部...

Linux 网络延迟排查方法 linux延迟10秒

在 Linux 服务器中,可以通过内核调优、DPDK 以及 XDP 等多种方式提高服务器的抗攻击能力,降低 DDoS 对正常服务的影响。在应用程序中,可以使用各级缓存、WAF、CDN 等来缓解 DDoS 对应用程序的影响。但是需要注意的是,如果 DDoS 流量已经到达 Linux 服务器,那么即使应...

php手把手教你做网站(二十四)jquery ajax上传大的附件

上传大的附件分为两种情况,可以改变服务器配置;不能改变配置;第2种使用分片上传优势:可以突破服务器上传大小的限制,可以web存储上传到哪一块了,在浏览器关闭或者刷新的情况下可以断点续传;劣势:上传速度慢,在我本地电脑测试,200M的文件,改变配置按照正常方式上传大约需要12到15秒,但是使用第2种分...