zoukankan      html  css  js  c++  java
  • centos7 nginx配置httpsCenos(6.6/7.1)下从源码安装Python+Django+uwsgi+nginx环境部署(二)

     1.yum安装nginx

    1. 下载对应当前系统版本的nginx包(package)

      # wget  http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

    2. 建立nginx的yum仓库

      # rpm -ivh nginx-release-centos-7-0.el7.ngx.noarch.rpm

    3. 下载并安装nginx

      # yum install nginx

    4.  

      启动nginx服务

      systemctl start nginx

    5.  

      配置

      默认的配置文件在 /etc/nginx 路径下,使用该配置已经可以正确地运行nginx;如需要自定义,修改其下的 nginx.conf或者conf.d/下的conf文件

    6.  

     2.安装uwsgi

    yum install python-devel
    pip install uwsgi

    3.nginx 配置https

    一、生成私钥和证书

    创建带密钥口令的私钥
    root@mysqlmaster:/tmp# openssl genrsa -des3 -out ng.key 1024
    Generating RSA private key, 1024 bit long modulus
    ........++++++
    ...........................................++++++
    e is 65537 (0x10001)
    Enter pass phrase for ng.key: 输入口令
    Verifying - Enter pass phrase for ng.key: 确认口令
    二、创建csr文件
    root@mysqlmaster:/tmp# openssl req -new -key ng.key -out ng.csr
    Enter pass phrase for ng.key:
    You are about to be asked to enter information that will be incorporated
    into your certificate request.
    What you are about to enter is what is called a Distinguished Name or a DN.
    There are quite a few fields but you can leave some blank
    For some fields there will be a default value,
    If you enter '.', the field will be left blank.
    -----
    Country Name (2 letter code) [AU]:国家 如cn,hk
    State or Province Name (full name) [Some-State]:州或省的名称 如Beijing
    Locality Name (eg, city) []:什么地方级别,是城市还是乡镇
    Organization Name (eg, company) [Internet Widgits Pty Ltd]:什么组织,如公司,政府
    Organizational Unit Name (eg, section) []:组织单位名称
    Common Name (eg, YOUR name) []:名字
    Email Address []:邮件地址

    Please enter the following 'extra' attributes 额外信息
    to be sent with your certificate request
    A challenge password []: 复杂密码
    An optional company name []:

    1,创建私钥(去除密钥口令)
    openssl rsa -in ng.key -out server.key
    输入口令

    2,创建CA证书
    openssl req -new -x509 -days 3650 -key server.key -out server.crt
    You are about to be asked to enter information that will be incorporated
    into your certificate request.
    What you are about to enter is what is called a Distinguished Name or a DN.
    There are quite a few fields but you can leave some blank
    For some fields there will be a default value,
    If you enter '.', the field will be left blank.
    -----
    Country Name (2 letter code) [AU]:
    State or Province Name (full name) [Some-State]:
    Locality Name (eg, city) []:
    Organization Name (eg, company) [Internet Widgits Pty Ltd]:
    Organizational Unit Name (eg, section) []:
    Common Name (eg, YOUR name) []:
    Email Address []:
    和上面的步骤差不多,根据提示输入证书的信息,国家,管理人邮件,姓名,城市等

    将生成的证书放到/etc/nginx/conf.d/目录下,

    root@mysqlmaster:/tmp# cp server.crt server.key /etc/nginx/conf.d

    三、修改nginx配置文件

    vi /etc/nginx/nginx/conf.d/default.conf


    #let http to https
    server{
    listen 80;
    server_name localhost;
    return 301 https://$server_addr$request_uri;

    }

    #https server
    server {
    listen 443 ssl;
    server_name localhost;

    ssl_certificate /etc/nginx/conf.d/server.crt;
    ssl_certificate_key /etc/nginx/conf.d/server.key;

    ssl_session_cache shared:SSL:1m;
    ssl_session_timeout 5m;

    ssl_ciphers HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers on;

    location / {
    root /xspeeder/xweb/xapp/templates/login;
    index login.html;
    uwsgi_pass 127.0.0.1:9000;
    include uwsgi_params;

    }
    location ~ .*.(gif|jpg|jpeg|png|bmp|swf|js|css|ico|woff|ttf)$ {
    root /xspeeder/xweb;
    }

    }

    注意以上为nginx的配置文件,分为三部分,每一个server函数为一个部分,第一部分为http的配置,第二部分为https的部分,第三个部分是将http重写到https,也就是所有的走80端口的都强制他都443端口去。

    sed -i "/listen 80;/{n;s/.*/        server_name 172.17.1.129;/g}" /etc/nginx/conf.d/default.conf

    重写匹配

    重启nginx 即可访问。

    uwsgi --socket 127.0.0.1:9000 --chdir /xspeeder/xweb/ --wsgi-file xweb/wsgi.py --master --processes 2 --threads 2

  • 相关阅读:
    LeetCode 12. 整数转罗马数字
    [Python] for in range()使用以及列表字符串反转方法
    组合数问题
    「BJOI2020」封印
    数据结构优化建图
    小Q与找茬
    无旋Treap学习
    jzoj5679
    数星星
    凸性
  • 原文地址:https://www.cnblogs.com/sysk/p/5098817.html
Copyright © 2011-2022 走看看