CentOS部署Django+Nginx+uWSGI完整指南
本文详细讲解在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
以上内容为本文的全部教程,希望能对各位的学习有所帮助,也欢迎大家继续支持本站。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













