django+uwsgi+nginx+https部署

uwsgi

  在项目的根目录(如/opt/project,和app平级)下建uwsgi.ini这个文件。

1

2

3

4

5

6

7

8

9

10

[uwsgi]

socket = 127.0.0.1:8080 # django的启动端口

chdir = /opt/project/ #项目的app下的wsgi

wsgi-file = xxx/wsgi.py #这个就是项目下包含settings那个文件夹下的wsgi文件

master = true #启用主进程

processes = 4 #运行进程数

threads = 2 #线程数

enable-threads = True #启用线程

pidfile = uwsgi.pid # 这个可以用来停掉uwsgi

  然后在这里记得要把settings里面的ALLOWED_HOSTS改成['*'],在项目的根目录下输入命令:

1

2

uwsgi ---ini uwsgi.ini # 后台启动uwsgi,把-d去掉就不是后台启动了。

uwsgi --stop uwsgi.pid # 停掉这个uwsgi

  这里注意,http的端口号可以随便改,http、chdir、module是必须的。

HTTPS

  进入到nginx目录下,如果是使用系统自带软件包安装是/etc/nginx这个文件夹。

1

2

3

4

5

6

7

8

cd /etc/nginx/

mkdir ssl

cd ssl

openssl genrsa -des3 -out server.key 1024

openssl req -new -key server.key -out server.csr

cp server.key server.key.org

openssl rsa -in server.key.org -out server.key

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

  这一套是建立密钥,如果是HTTP的话这一套就不用搞了

NGINX

  修改 nginx.conf这个文件,在http里面加入如下配置:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

server {

   #listen       80;

    listen       443;

    server_name  localhost;

    charset utf-8;

 

   ssl on;

   ssl_certificate /etc/nginx/ssl/server.crt;

   ssl_certificate_key /etc/nginx/ssl/server.key;

 

    location / {

        include uwsgi_params;

        uwsgi_path:127.0.0.1:8080

        uwsgi_connect_timeout 30;

        client_max_body_size 75M;

    }<br>    }

  这里面的server_name是访问的域名(可以是ip),比如127.0.0.1 或者是 www.xxxxx.com

1

2

3

nginx # 启动nginx

nginx -reload # 平滑重启

nginx -# 检查配置文件是否ok

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值