部署前保障python,nginx,数据库等已经安装完成。
我们这里的Django项目叫:django_demo
只需要上传:项目的配置目录以及各应用的目录即可,数据库建议从测试环境导入到线上环境(当然使用数据迁移也可以)
上传步骤:(略)
上传后的项目根目录为:/home/my_project/django_demo
上传后需要将项目的配置文件这几个地方修改一下:
DEBUG = False ALLOWED_HOSTS = ['*']安装uwsgi(我这里是在项目独属的virtualenv环境里面安装的,项目多的话,virtualenv环境分开好管理)
虚拟环境教程:https://blog.csdn.net/qq_34939371/article/details/102572006
进入项目独属的virtualenv环境 (我这里创建的项目环境为django_demo)然后安装uwsgi
进入项目目录,安装依赖模块
打开配置文件(根据自己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