centos+nginx+uwsgi部署django项目

本文主要介绍centos+nginx+uwsgi环境使用宝塔面板如何部署django项目。

1. 新装干净的centos7系统

云服务器重置系统,各服务商大同小异。本文选择centos7.9。
查看centos版本

cat /etc/redhat-release
2. 升级sqlite3

centos7.9默认 sqlite3版本较低,运行django3会报错。
参考:https://hityne.com/83.html

3. 安装宝塔面板
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
4. 宝塔面板安装必要的环境

nginx, mysql, ftp, php。nginx必选,其他根据需要。

5. 把django项目(假设项目名称为pytest)上传至/www/wwwroot/目录

打包项目前,本地运行以下代码,生成项目的依赖包的列表文件。

pip freeze > requirements.txt

上传好后:
django项目的根目录:/www/wwwroot/pytest
wsgi文件目录:/www/wwwroot/pytest/pytest

6. 新建python项目

宝塔面板,应用商店,搜索python,安装python项目管理器。
由python项目管理器,添加项目。注意端口号,需要在宝塔面板放行。

管理器会自动安装环境,可以在终端窗口激活环境,在开发模式下运行项目,看是否可以正常访问。

7. 生成网站

由python项目,映射生成对应网站,需要填写域名。这时候可以宝塔网站项目里看到。也可以单独添加一个网站然后设置反向代理,效果一样。

8. 修改配置

(1)修改网站配置文件
修改反向代理的配置文件为以下内容:

    location / {
       include uwsgi_params;
       uwsgi_pass 127.0.0.1:1022;  #端口要和uwsgi里配置的一样
       uwsgi_param UWSGI_SCRIPT pytest.wsgi;  #wsgi.py所在的目录名+.wsgi
       uwsgi_param UWSGI_CHDIR /www/wwwroot/pytest/; #项目路径
    }

    location /static/ {
      alias /www/wwwroot/pytest/static/; #静态资源路径
      }

(2)修改uwsgi文件
可以再python项目管理器里修改,修改前要暂停运行,修改完再重启。
添加项目时,会自动生成配置文件。只需要修改其中的:
http = 0.0.0.0:1022,改为
socket = 127.0.0.1:1022

其他可以参考:
(1)

#添加配置
[uwsgi]
#配置和nginx接的socket接
socket=127.0.0.1:1022
#配置项目所在目录
chdir=/www/wwwroot/pytest/
#配置wsgi.py接口文件路径
wsgi-file=pytest/wsgi.py
#配置进程数
processes=4
#配置每个进程的线程数
threads=2
#配置管理主程
master=True
#配置存放主程的文件
pidfile=uwsgi.pid
#配置dump日志
daemonize=uwsgi.log

(2)

[uwsgi]
master = true
processes = 1
threads = 2
chdir = /www/wwwroot/pytest
wsgi-file= /www/wwwroot/pytest/pytest/
socket = 127.0.0.1:1022
logto = /www/wwwroot/pytest/logs/error.log
chmod-socket = 660
vacuum = true
master = true
max-requests = 1000
9. 静态文件配置

settings中加入一行:

STATIC_ROOT = os.path.join(BASE_DIR, 'static')

STATIC_ROOT 文件夹 是用来将所有STATICFILES_DIRS中所有文件夹中的文件,以及各app中static中的文件都复制过来
网站目录下运行下面命令

python manage.py collectstatic

上面命令收集全部静态文件到网站根目录的static文件夹中。

10. 访问测试

到这里访问域名就可以正常访问django项目了,大功告成!如果还有异常,多看日志文件。

赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权,转载请注明出处。
文章名称:《centos+nginx+uwsgi部署django项目》
文章来自:泰恩数据
文章链接:https://tyne.cc/23.html
本站资源仅供个人学习使用,请勿用于商业用途。

评论 1

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址