flask+nginx+uwsgi、http转https

flask+nginx+uwsgi、http转https

        • 申请SSL证书
        • nginx配置文件
        • uwsgi配置运行文件
      • 说明

申请SSL证书

  1. 向阿里云申请免费的SSL证书,解压后会有两个文件 xxx.pem、xxx.key

nginx配置文件

  • 找到nginx安装目录,一般在命令行下执行cd ../etc/nginx即可,在nginx目录下:
    • 新建一个目录(mkdir cert)存放SSL证书
    • 找到conf.d目录 nano default.conf,将原文本注释,替换成以下文本,location部分保留原来的就可以直接看到nginx的欢迎界面了
    server {
        listen 443 ssl;
        server_name xxxx; #域名 
        ssl_certificate   /etc/nginx/cert/xxx.pem; 
        ssl_certificate_key /etc/nginx/cert/xxx.key;
        ssl_session_timeout 5m;
    
        location / {
            include uwsgi_params;
            uwsgi_pass 127.0.0.1:5555;
        }
    }
    
    
    server {
        listen 80;
        server_name xxxx;域名
        rewrite ^(.*) https://$server_name$1 permanent; #变更http
    }
    

配置完成后,可执行nginx -t检查,如果没有问题就可以执行 service nginx start

uwsgi配置运行文件

在flask项目文件目录下,新建一个uwsgi.ini文件(nano uwsgi.ini),将以下文本写入

[uwsgi]
 socket = 127.0.0.1:5555
 chdir = /root/myapp/ 
 wsgi-file = myapp.py 
 callable = app 
 processes = 2
 vacuum = true
 master = true 

配置完成后,执行uwsgi -d --ini uwsgi.ini就可以了

说明

  1. 服务器需要开放相关端口号
  2. nginx配置文件修改后,需重启,执行service nginx reload,也可以先执行service nginx stop,再执行service nginx start
  3. uwsgi配置文件修改后,再执行一遍uwsgi -d --ini uwsgi.ini就可以(-d参数表示切换至后台守护运行,在调试的时候最好不带-d执行)
  4. uwsgi的配置文件中不可加注释!!!!!!!

感谢能百度到的各位前辈的参考资料

你可能感兴趣的:(flask+nginx+uwsgi、http转https)