Centos6.8 + Nginx + Uwsgi部署Django项目

部署前保障python,nginx,数据库等已经安装完成。

上传源码

我们这里的Django项目叫:django_demo

只需要上传:项目的配置目录以及各应用的目录即可,数据库建议从测试环境导入到线上环境(当然使用数据迁移也可以)

上传步骤:(略)

上传后的项目根目录为:/home/my_project/django_demo

上传后需要将项目的配置文件这几个地方修改一下:

DEBUG = False
 
ALLOWED_HOSTS = ['*']

导出本地依赖模块信息并在服务端安装

# 查看测试环境安装的模块信息
pip freeze > requirements.txt

# 线上环境:从文件中读取要安装的模块并执行安装
pip install -r requirements.txt

安装配置uwsgi,并配置nginx

安装uwsgi(我这里是在项目独属的virtualenv环境里面安装的,项目多的话,virtualenv环境分开好管理)

虚拟环境教程:https://blog.csdn.net/qq_34939371/article/details/102572006

进入项目独属的virtualenv环境 (我这里创建的项目环境为django_demo)然后安装uwsgi

进入项目目录,安装依赖模块

配置nginx虚拟机

打开配置文件(根据自己nginx安装情况,我这是多站点,每个项目都单独一个配置)

配置虚拟机

server {
    listen 80;

    server_name 域名;

    location / {
        include  uwsgi_params;
        uwsgi_pass 127.0.0.1:8000;
    }
	
	location /static {

        # 配置静态文件的路径(这个静态文件的路径根据各个项目可能有所不同)
        alias /home/my_project/django_demo/static;
    }

}

然后重启nginx:service nginx restart

在项目的根目录(/home/my_project/django_demo)创建配置文件:uwsgi.ini,然后在里面添加如下内容:

[uwsgi]
#项目的根目录
chdir = /home/my_project/django_demo

#项目的对接wsgi.pi文件
module = django_demo.wsgi:application

#项目执行的端口号,和nginx配置的要一致
socket = 127.0.0.1:8000

#是否以主进程模式允许
master = true

#开启的工作进程数量
processes=4   

#日志文件路径,前提是该文件要存在,且可写
daemonize = /home/my_project/django_demo/run.log

#表示不记录正常信息,只记录错误信息,否则你的日志可能很快就爆满
disable-logging = true

#当服务器退出的时候自动清理环境
vacuum = true

#进程信息文件路径(这里指项目的根目录)
pidfile=%(chdir)/uwsgi.pid

配完就可以运行起uwsgi了:

uwsgi --ini uwsgi.ini

# 关闭uwsgi
uwsgi --stop ./uwsgi.pid
# 重启
uwsgi --reload ./uwsgi.pid

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值