部署Python+Django+UWSGI+Nginx


  1. 上传项目

    1. 导出本地所需的包:pip freeze > plist.txt

    2. 通过sftp将项目文件上传到用户家目录

    3. 导出本地的sql文件

    4. 服务器新增数据库和导入sql文件

  2. 搭建环境:

    1. 虚拟环境

    2. 安装所需的包:pip install -r plist.txt

  3. 修改配置

    1. 配置uWSGI,在项目目录下创建uwsgi.ini文件


      1. [uwsgi]
        #使用nginx连接时使用
        socket=127.0.0.1:8080
        #直接做web服务器使用
        #http=127.0.0.1:8080
        #项目目录
        chdir=/home/python/Desktop/pytest/test6
        #项目中wsgi.py文件的目录,相对于项目目录
        wsgi-file=test6/wsgi.py
        processes=4
        threads=2
        master=True
        pidfile=uwsgi.pid
        daemonize=uwsgi.log
    1. nginx转发指向uwsgi项目

      1. 静态文件由nginx处理

        1. 修改项目的/settings.py文件image.png

        2. 收集所有静态文件到static_root指定目录:python manage.py collectstatic

      2. 打开conf/nginx.conf文件。

      3. 在server节点下添加新的location项,指向uwsgi的ip与端口。image.png

      4. 重启nginx

  4. 启动项目

  5. 出现的问题:、

    以前使用虚拟环境,会出现未导入Django模块,而虚拟环境还存在模块




上一篇: 没有了