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

被折叠的 条评论
为什么被折叠?



