CentOS+Nginx+uWSGI部署Django项目上线的方法——让你的网站飞起来

2023-12-26 9阅读
作为开发者,我们经常需要将自己开发好的Django项目部署到服务器上线。而在Linux系统中,CentOS是一款非常流行的操作系统,Nginx则是一款优秀的Web服务器软件,uWSGI则是一个高效稳定、快速可靠的Python Web应用程序部署工具。本文将详细介绍如何使用这三个工具来完成Django项目的部署。1. 安装必要组件第一,……

作为开发者,我们经常需要将自己开发好的Django项目部署到服务器上线。而在Linux系统中,CentOS是一款非常流行的操作系统,Nginx则是一款优秀的Web服务器软件,uWSGI则是一个高效稳定、快速可靠的Python Web应用程序部署工具。本文将详细介绍如何使用这三样工具来完成Django项目的部署。

CentOS+Nginx+uWSGI部署Django项目上线的方法——让你的网站飞起来

1. 安装必要组件

第一,在CentOS系统中安装必要组件:Python、pip、virtualenv等。可以通过以下命令进行安装:

```

sudo yum install python36

sudo yum install epel-release

CentOS+Nginx+uWSGI部署Django项目上线的方法——让你的网站飞起来

sudo yum install python-pip

pip install virtualenv

2. 创建虚拟环境

接下来创建虚拟环境,并激活虚拟环境:

virtualenv venv --python=python3.6

source venv/bin/activate

在激活虚拟环境后,可以使用pip安装所需依赖包:

pip install Django==2.0 uwsgi==2.0 nginx==1.15.12

3. 配置uWSGI

配置uwsgi.ini文件,并保存在项目根目录下。

```ini

[uwsgi]

http-timeout = 600 # 设置超时时间为10分钟

http-socket = 127.0.0.1:8000 # 设置uwsgi监听的端口为8000

wsgi-file = /path/to/project/wsgi.py # 指定Django项目中的wsgi.py文件路径

processes = 4 # 进程数设置为4,根据服务器配置进行调整

threads = 2 # 线程数设置为2,根据服务器配置进行调整

master = true # 开启主进程模式

pidfile=/tmp/project-master.pid ## pid 文件存储位置

vacuum=true ## 自动清理unix socket 和pid文件

max-requests=500 ## 防止内存泄漏

然后运行以下命令启动uWSGI:

uwsgi --ini uwsgi.ini &

4. 配置Nginx

在CentOS系统中安装nginx,并创建nginx配置文件。

```bash

sudo yum install nginx -y

sudo systemctl start nginx.service // 启动nginx服务

sudo systemctl enable nginx.service // 开机自启

cd /etc/nginx/conf.d/

vim project.conf // 创建project.conf并写入以下内容:

```nginx

upstream django {

server 127.0.0.1:8000;

}

server {

listen 80;

server_name xxx.xxx.com; # 填写你要绑定的域名或IP地址

access_log off;

location /static/ {

alias /path/to/static/;

expires max;

location /media/ {

alias /path/to/media/;

expires max;

}

location ~ ^/(favicon\.ico|robots.txt)$ {

root /var/www/project;

location / {

uwsgi_pass django;

include uwsgi_params;

保存文件后,重新加载nginx配置:

sudo nginx -t // 检查配置是否正确

sudo systemctl reload nginx.service // 重载nginx服务

5. 测试

现在就可以通过浏览器访问你的Django项目了。如果一切正常,你会看到网站已经成功上线。

以上便是CentOS+Nginx+uWSGI部署Django项目上线的方法。这个过程可能需要花费一些时间和精力,但却可以使得你的网站更加稳定、高效、安全地运行起来。希望大家能够成功将自己的Django项目部署到服务器上,并且取得良好的用户体验和业绩表现!

文章版权声明:除非注明,否则均为游侠云资讯原创文章,转载或复制请以超链接形式并注明出处。

目录[+]