关于Django + Nginx + uWSGI 配置总结

目录:

  1. 下载Django项目
  2. 配置uWSGI
  3. 配置Nginx
  4. SSH 端口转发

环境:

Red Hat 4.4.7-18(Linux version 2.6.32)
Django (1.11.5)
uWSGI (2.0.15)
python (2.7.13)

一. 下载Django项目

这个步骤非常简单,就是把你写好的Django项目放到服务器上。

二. 配置uWSGI

1,使用pip install uWSGI

如果慢的话,可以使用国内源安装
清华:http://mirrors.tuna.tsinghua.edu.cn/pypi/simple
豆瓣:https://pypi.doubanio.com/simple(推荐)
使用方法,例如:pip install -i https://pypi.doubanio.com/simple uWSGI

2,配置uWSGI
在项目目录下,生成wsgi.ini文件,并设置内容如下:

[uwsgi]
# 你的Django项目的根文件夹,要绝对路径
chdir=/your/django/project/root/dir
# 你的Django项目的虚拟环境的文件夹,要绝对路径
virtualenv=/your/django/project/virtual/dir
# uWSGI的 socket 端口
socket=:8084
# uWSGI的 http 端口
http=:8000
# 设置初始的 uwsgi 进程为主进程(主进程可以产生worker processes)
master=1
# 设置处理请求的进程数
processes=4
# 自定义的UID,随意
uid=youruid
# 自定义的GID,随意
gid=yourgid
# django wsgi 文件位置
file=/your/project/dir/wsgi.py
# 配置 uwsgi 启动后,PID保存到的文件
pidfile=wsgi.pid
# 通过管道配置 uwsgi 的文件。例如:echo R > wsgi.ff 就可以重启 uwsgi 服务器
master-fifo=wsgi.ff
# 配置log输出
daemonize=wsgi.log

3,启动uWSGI

uwsgi –ini wsgi.ini

4,测试 uWSGI

curl localhost:port

三,配置Nginx

1,安装Nginx

yum install nginx

2,配置Nginx
打开默认的配置文件/etc/nginx/conf.d/default.conf

server {
    listen       8001 default_server;
    #listen       [::]:80 default_server;
    server_name  _;
    root         /usr/share/nginx/html;

    # Load configuration files for the default server block.
    include /etc/nginx/default.d/*.conf;

    location /admin{
         include uwsgi_params;
         uwsgi_pass localhost:8084;
    }

    error_page 404 /404.html;
        location = /40x.html {
    }

    error_page 500 502 503 504 /50x.html;
        location = /50x.html {
    }

}

3,测试修改后的配置文件

sudo nginx -t

4,启动Nginx

sudo nginx

5,测试整个环境

curl localhost:8001

四,配置端口转发

当前的测试环境状态是:
1,从个人电脑上,无法直接到服务器上,中间需要一个跳板机。即:

client(我) –ssh–> 跳板机 –ssh–> 服务器
(跳板机:就是一个中间服务器,安全程度比较高,把服务器和外部环境隔离。想要对服务器进行操作的话,必须先登录跳板机)

2,而且服务器没有公网IP,即:从个人机器无法直接连接到服务器上。

在这种情况下,想要访问服务器的80等端口的话,需要进行ssh端口转发

ssh yourname@跳板机IP -L 本机端口:服务器IP:服务器端口
这个命令的意思是,当有请求要访问“本机端口”时,把请求通过“yourname@跳板机IP”,转发到“服务器IP:服务器端口”上。

这样的话,当你在本机通过localhost:8001端口进行访问时,就可以直接请求到服务器的8001端口了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Linux系统上部署Django + nginx + uWSGI的步骤如下: 1. 安装必要的软件 在Linux系统上安装必要的软件包,包括Python、pip、nginxuWSGI等。 2. 创建Django项目 使用Django创建一个新项目或使用现有的Django项目。 3. 配置uWSGIDjango项目的根目录下创建一个uwsgi.ini文件,用于配置uWSGI。示例配置如下: ``` [uwsgi] # 指定运行模式为WSGI http = :8000 # 指定Django应用的wsgi模块 wsgi-file = myproject.wsgi # 指定进程数 processes = 4 # 指定线程数 threads = 2 # 指定静态文件路径 static-map = /static=/path/to/static # 指定日志路径 logto = /path/to/logfile ``` 其中,http参数指定了监听的端口号,wsgi-file参数指定了Django应用的wsgi模块,processes参数指定了进程数,threads参数指定了线程数,static-map参数指定了静态文件的路径,logto参数指定了日志文件的路径。 4. 配置nginxnginx配置文件中添加以下内容: ``` server { listen 80; server_name example.com; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; location / { uwsgi_pass 127.0.0.1:8000; include uwsgi_params; } location /static { alias /path/to/static; } } ``` 其中,server_name指定了域名,access_log和error_log指定了日志文件的路径,uwsgi_pass指定了uWSGI的地址和端口号,include指定了uWSGI的参数。 5. 启动uWSGI服务 使用以下命令启动uWSGI服务: ``` uwsgi --ini uwsgi.ini ``` 6. 启动nginx服务 使用以下命令启动nginx服务: ``` sudo service nginx start ``` 这样就完成了Django + nginx + uWSGI的部署。可以通过访问该网站的域名来验证是否部署成功。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值