CentOS部署Django+Nginx+uWSGI完整指南

巷口听风
巷口听风
发布时间:2026-10-13 | 5人浏览过
原创

本文详细讲解在CentOS系统中部署Django项目的完整流程。从Python3源码编译安装开始,逐步介绍Nginx的安装与验证、Django代码上传及依赖处理。重点阐述uWSGI的配置方法、Nginx反向代理设置,以及如何通过脚本实现uWSGI的开机自启,帮助开发者完成从开发环境到生产环境的平滑过渡。

1. 安装Python3

yum -y install wget gcc make zlib-devel readline-devel bzip2-devel ncurses-devel sqlite-devel gdbm-devel xz-devel tk-devel openssl-devel
wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tar.xz
xz -d Python-3.6.1.tar.xz
tar -xvf Python-3.6.1.tar
cd Python-3.6.1
./configure --prefix=/usr/local/python3.6 --enable-optimizations
make
make install
ln -s /usr/local/python3.6/bin/python3 /usr/bin/python3
 ln -s /usr/local/python3.6/bin/pip3 /usr/bin/pip3

本步骤采用源码编译方式安装Python3。

安装完成后,执行 python3 –version 和 pip3 –version 命令以验证安装是否成功。

2. 安装Nginx

sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
sudo yum install -y nginx
sudo systemctl start nginx.service

通过浏览器访问服务器域名或IP地址,检查Nginx默认页面是否正常显示,以此确认Nginx服务运行状态。

3. 下载项目代码并上传至服务器 /var/www 目录。

4. 安装项目所需的Python依赖包。

pip3 install django
pip3 install uwsgi
ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi3

5. 使用Django内置服务器进行独立运行测试。

cd /var/www/dexundjango
python3 manage.py runserver 0.0.0.0:8014

确认测试无误后,按 Ctrl + C 停止服务进程。

6. 配置uWSGI

sudo mkdir -p /etc/uwsgi/sites
sudo mkdir -p /var/log/uwsgi
cd /etc/uwsgi/sites
sudo vi /etc/uwsgi/sites/mysite.ini
[uwsgi]
socket = 127.0.0.1:10000
chdir=/var/www/dexundjango
module=mysite.wsgi:application
master=True
pidfile=/tmp/project-master.pid
vacuum=True
max-requests=5000
daemonize=/var/log/uwsgi/mysite.log

7. 配置Nginx

vi /usr/local/nginx/conf/nginx.conf (根据本地的配置路径)
find / -name uwsgi_params 来替换下面的uwsgi_params路径
server {
  listen 8014; #暴露给外部访问的端口
  server_name localhost;
    charset utf-8;
  location / {
    include /usr/local/nginx/conf/uwsgi_params;
    uwsgi_pass 127.0.0.1:10000; # 必须和uwsgi.ini配置的端口一致
  }
  location /static/ {
    alias /home/www/dexundjango/trade/static/; #项目静态路径设置
  }

8. 启动uWSGI服务

uwsgi3 --ini /etc/uwsgi/sites/mysite.ini

9. 配置uWSGI开机自启动

vi /etc/init.d/uwsgi
#!/bin/bash
# chkconfig: - 85 15
uwsgi=/usr/bin/uwsgi3
api_conf=/etc/uwsgi/sites/mysite.ini

case $1 in
  start)
    echo -n "Starting uWsgi"
    nohup $uwsgi -i $api_conf >/var/log/uwsgi/project-api.log 2>&1 &
    echo " done"
  ;;

  stop)
    echo -n "Stopping uWsgi"
    killall -9 uwsgi
    echo " done"
  ;;

  restart)
    $0 stop
    $0 start
  ;;

  show)
    ps -ef|grep uwsgi
  ;;

  *)
    echo -n "Usage: $0 {start|restart|stop|show}"
  ;;

esac
chmod +x /etc/init.d/uwsgi
chkconfig --add uwsgi
chkconfig uwsgi on

以上内容为本文的全部教程,希望能对各位的学习有所帮助,也欢迎大家继续支持本站。

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表