Nginx+Uwsgi 部署 Django 项目(阿里云ECS-CentOS 7.3)

本文详细介绍如何使用Nginx和Uwsgi部署Django项目,包括配置步骤、依赖安装、测试方法及服务启动命令。适用于希望了解Django项目生产环境部署流程的开发者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Nginx+Uwsgi 部署 Django 项目

一、Uwsgi配置

1.安装Uwsgi包

pip3 install uwsgi

2.创建并修改配置文件

在项目目录下(为了好找,其实任何地方都可以)

touch anyname.ini

编辑配置文件

# anyname.ini file
[uwsgi]

# Django-related settings

socket = :8080
#真实服务的端口

# Django项目根目录 (绝对路径)
# chdir           = /root/server

# wsgi.py文件在项目中的位置
# module          = project.wsgi

# process-related settings
# master
master          = true

# 运行的进程数
processes       = 2

# ... with appropriate permissions - may be needed
# chmod-socket    = 664
socket          = 127.0.0.1:9090
# clear environment on exit
vacuum          = true

为当前用户添加环境变量

编辑配置文件
vim ~/.bash_profile
PATH=$PATH:$HOME/bin:/usr/local/python3/bin
更新配置文件
source ~/.bash_profile

3.测试:在项目根目录下

uwsgi --http :8000 --module project.wsgi

浏览器访问127.0.0.1:8000

二、Nginx配置

1.安装依赖

yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel

2.安装 PCRE

安装 PCRE让 Nginx 支持 Rewrite 功能

# 下载并解压包

cd /usr/local/src/

wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz

tar zxvf pcre-8.35.tar.gz

# 编译安装

cd pcre-8.35

./configure

make && make install

3.测试:PCRE

查看pcre版本

pcre-config --version

4.安装Nginx

# 下载并解压包
cd /usr/local/src/

wget http://nginx.org/download/nginx-1.6.2.tar.gz

tar zxvf nginx-1.6.2.tar.gz

# 编译安装

cd nginx-1.6.2

./configure --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.35

make && make install

5.测试:Nginx

查看Nginx版本

/usr/local/webserver/nginx/sbin/nginx -v

6.配置nginx.conf

将/usr/local/webserver/nginx/conf/nginx.conf加入如下配置

server {
    		# the port your site will be served on
    		listen      8000;
    		# the domain name it will serve for
    		server_name 127.0.0.1; 		     # 这里是填你的域名或ip
    		charset     utf-8;
    		# max upload size
    		client_max_body_size 75M;        # adjust to taste
        
    		# Django media
    		location /media  {
        		alias /root/server/media;  
    			} 
          
        # Django static
    		location /static {
        		alias /root/server/static; 
    			}

    		# Finally, send all non-media requests to the Django server.
    		location / {
        		uwsgi_pass  127.0.0.1:9090;                 #跟uwsgi配置相同
        		include     uwsgi_params;                   #已经安装的uwsgi_params
    			  uwsgi_param UWSGI_CHDIR /root/server;     #你的项目的路径
        		uwsgi_param UWSGI_SCRIPT project.wsgi;      #指向wsgi.py
    			}

7.测试:

检查配置文件nginx.conf的正确性命令

/usr/local/webserver/nginx/sbin/nginx -t

三、启动服务

1.Nginx 启动命令

/usr/local/webserver/nginx/sbin/nginx

2.Uwsgi启动命令

uwsgi --ini /root/server/anyname.ini

3.Nginx 其他命令


/usr/local/webserver/nginx/sbin/nginx -s reload      # 重新载入配置文件

/usr/local/webserver/nginx/sbin/nginx -s reopen      # 重启 Nginx

/usr/local/webserver/nginx/sbin/nginx -s stop        # 停止 Nginx

4.测试:运行

访问127.0.0.1:8000

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值