linux nginx django,如何在Linux下使用Nginx部署Django项目

Django项目使用nginx + uwsgi进行部署,是比较常见的方式。

系统环境

这里列出自己的,就算不一样也不用太担心。

Liunx系统版本:CentOS Linux release 7.8.2003 (Core)

Python版本:3.7.7

Django版本:3.1.2

uWSGI版本:2.0.19.1

Nginx版本:1.18.0

一、准备工作

1.安装uwsgi

$ pip install uwsgi

2.下载nginx

下载nginx的Stable version稳定版本就可以。

01d7cb2d7fd8

二、配置环境

1.配置uwsgi.ini

新建一个名为uwsgi.ini的文件,写入以下内容,之后放入django项目文件夹的根目录里。

[uwsgi]

socket = :8888

chdir = /home/test_web

module = test_web.wsgi

master = true

processes = 4

vacuum = true

test_web:是测试用的django项目文件夹。

socket:是端口号,尽量避开默认的80,8080等端口。

chdir:指定django项目文件夹。

module:相当于指定django项目文件夹下,test_web文件夹里的wsgi.py文件。

master: 允许主进程存在。

processes: 开启的进程数量。

vacuum: 当服务器退出的时候自动清理环境,删除 unix socket 文件和 pid 文件。

uwsgi.ini文件放置路径示例,看最下面一行。

test_web/

├── db.sqlite3

├── manage.py

├── test_web

│ ├── asgi.py

│ ├── __init__.py

│ ├── __pycache__

│ ├── settings.py

│ ├── urls.py

│ └── wsgi.py

└── uwsgi.ini

2.安装配置nginx

2.1.安装nginx所需的依赖

$ yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

2.2.安装nginx

下面的5条命令依次执行就可以了。

$ tar -zxvf nginx-1.18.0.tar.gz

$ cd nginx-1.18.0

$ ./configure --prefix=/usr/local/nginx

$ make

$ make install

2.3.修改nginx配置

打开nginx.conf配置文件,照着下方的图片,修改或添加配置。

$ vi /usr/local/nginx/conf/nginx.conf

01d7cb2d7fd8

listen:指定端口,可以自由指定。

server_name:服务器的地址,可以是ip或者域名

location /:

include uwsgi_params:是固定用法。

uwsgi_pass 127.0.0.1:8888:127.0.0.1是固定用法,8888是必须和uwsgi.ini文件里的端口保持一致。

location /static:

需要注意的是alias,指的是静态文件的存放地址。django项目使用nginx部署后,admin后台管理界面会出现样式丢失的问题,不用担心,接下来会在django settings.py里进行配置,现在指定好nginx要用的静态文件目录就行。

这样nginx就配置好了,过一会再进行启动,现在先完成接下来的配置。

3.修改django settings.py

DEBUG = False

ALLOWED_HOSTS = ['*']

# 最下面添加一行,和nginx的location /static配置里的是同一个地址。

STATIC_ROOT = '/home/test_web/static/'

接下来依次运行下面3条命令就可以了,其目的是把django admin后台管理界面的css样式和js文件,导入到我们刚才创建的静态文件夹里面。

$ cd test_web

$ mkdir static

$ python manage.py collectstatic

三、启动项目

1.启动nginx

$ /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

2.启动uwsgi

$ cd test_web

$ uwsgi --ini uwsgi.ini

3.浏览器访问ip或者域名就可以了。

看下面这张图的网址,就是我们在nginx里配置的地址。

01d7cb2d7fd8

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值