一.新建Django项目
1输入django-admin startproject 你的项目名称
2输入python startapp 你的app名称
(我的项目名称是zmd,app名称是ourzmd)
结构大概如下图:
这样我们就成功的创建了Django项目,Django项目可以直接移植到Linux上面(有环境)
二.uwsgi的安装与配置
//安装编译工具
yum install -y gcc* pcre-devel openssl-devel
//安装python依赖,看你的python是什么版本的
yum install -y python36-devel
//安装uwsgi,pip或者pip3
pip install uwsgi
//或者这样直接粘贴版
yum install -y gcc* pcre-devel openssl-devel python36-devel && pip install uwsgi
配置
# uwsig使用配置文件启动
[uwsgi]
# 项目所在的根目录
chdir=/root/zmd/zmd
wsgi-file = zmd/wsgi.py
module=zmd.wsgi:application
# 指定sock的文件路径,这个sock文件会在nginx的uwsgi_pass配置,用来nginx与uwsgi
socket=127.0.0.1:9001
# 进程个数
processes = 4
# 每个进程worker数
workers=5
procname-prefix-spaced=mywebapp # uwsgi的进程名称前缀
py-autoreload=1 # py文件修改,自动加载
# 指定IP端口,web访问入口,设置了
http=0.0.0.0:8300
#https=0.0.0.0:8400
#https启动可能在django里面需要ssl证书则需要加上
#certificate=/XXX/XXX.crt
#key=/XXX/XXX.key
# uwsgi有自己的配置语法,详细可参考官网,无需写绝对路径,可以用循环、判断等高级配置语法
# 启动uwsgi的用户名和用户组
uid=root
gid=root
# 启用主进程
master=true
# 自动移除unix Socket和pid文件当服务停止的时候
vacuum=true
# 序列化接受的内容,如果可能的话
thunder-lock=true
# 启用线程
enable-threads=true
# 设置一个超时,用于中断那些超过服务器请求上限的额外请求
harakiri=30
# 设置缓冲
post-buffering=4096
# 设置日志目录
daemonize=%(chdir)/uwsgi_conf/uwsgi.log
# uWSGI进程号存放
pidfile=%(chdir)/uwsgi_conf/uwsgi.pid
stats = 127.0.0.1:9001
写完之后保存为ini类型
ini文件跟manage.py文件同级
nginx的配置
1(省去了安装等步骤)打开nginx.conf.我的是vim /usr/local/nginx/cong/nginx.conf
server {
listen 80 ;#监听80端口
server_name www.XXX.cn;
location / {
include uwsgi_params;
uwsgi_connect_timeout 20;#超时时间
uwsgi_pass 127.0.0.1:9001;#和uwsgi通信
uwsgi_param UWSGI_SCRIPT zmd.wsgi::applicationon;#跟uwsgi的module一样
uwsgi_param UWSGI_CHDIR /root/zmd/zmd;#跟uwsgi的chdir一样
}
}
2.保存 esc + : + wq! ( 先按esc再按shift+;再按w+q+shift+1)
3.cd /usr/local/nginx/sbin 进入目录
3. ./nginx -t 检查是否有错误
4. ./nginx -s reload 重启nginx
5. cd到uwsgi的目录 我的是cd /root/zmd/zmd
6. 执行uwsgi --ini uwsgi.ini 现在可以去访问你的域名了