程序员文章、书籍推荐和程序员创业信息与资源分享平台

网站首页 > 技术文章 正文

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

hfteth 2024-12-18 13:25:32 技术文章 43 ℃

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结束即可


图1

# 创建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、不想关闭要设置放行规则


图2

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

有如下访问方式:

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

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


Tags:

最近发表
标签列表