美文网首页
百度云服务器部署nginx + gunicorn + super

百度云服务器部署nginx + gunicorn + super

作者: maimingliang | 来源:发表于2019-03-06 17:40 被阅读0次

    服务器配置

    内存:1G
    CPU:1核
    系统:ubuntu

    工具

    Mac系统,连接云服务器使用的工具 finalshell

    下载nginx

    使用 sudo apt-get install nginx命令安装,安装完成在浏览器输入公网Ip地址是否安装成功和公网IP是否能够访问。

    安装成功访问界面

    下载supervisor

    使用 sudo apt-get install nginx命令安装

    下载virtualenv

    使用 sudo pip install virtualenv命令安装

    配置开发环境

    创建虚拟环境

    切换到项目到目录,创建项目的虚拟环境,使用命令 virtualenv venv
    ps:venv 为虚拟环境的名字,可随意命名

    激活虚拟环境:使用命令source venv/bin/activate

    激活成功路径的变化

    安装依赖包(逐一安装)

    pip install flask
    pip install gunicorn
    也可以创建描述文件统一安装: vim requirements.txt 文件内容为:

    文件内容

    使用命令统一安装:pip install -r requirements.txt

    创建测试项目test.py

    
    from flask import Flask
    
    app = Flask(__name__)
    
    @app.route('/')
    def index():
        return 'hello world'
    
    if __name__ == '__main__':
        app.run()
    
    

    使用gunicorn运行项目:gunicorn -b 0.0.0.0:8000 test:app
    新建一个SSH远程窗口 使用命令 curl http:localhost:8000 测试项目是否运行成功

    配置nginx

    切换到nginx目录下,注意到两个目录
    sites-enabled 生效 的nginx的配置
    sites-available 可用的nginx 的配置,该文件目录下的文件要生效必须在 sites-enabled 创建软连接

    image.png

    在切换到sites-available 目录下创建nginx配置vim test

    test内容

    sites-enabled 创建软链接:使用命令ln -s test ../sites-enabled

    配置supervisor

    在supervisor的conf.d目录,创建配置文件

    image.png test配置

    重启nginx

    sudo service nginx restart

    启动supervisor

    supervisord -c supervisor.conf

    配置restful https 访问

    安装 pip install pyOpenSSL

    创建CA证书

    首先要有CA证书,由于这篇是示例教程,所以使用自签证书即可。生成自签证书可以参考这里:《在局域网里创建个人CA证书》。

    程序开启SSL

    上面代码是使用本机的证书,如果自定义证书路径,可以改成下面的代码。

    image.png

    修改supervisor 的text配置文件

    为:

    [program:test]
    command = /home/workspaces/wheat/test/venv/bin/gunicorn -b localhost:8099 test:app --keyfile server/server-key.pem --certfile server/server-cert.pem
    
    directory = /home/workspaces/wheat/test
    
    

    修改 nginx 配置开启SSL验证

    为:
    ps : ### 表示所在的目录

    server{
       listen 8081;
       server_name 0.0.0.0;
     ssl on;
     ssl_certificate /###/server-cert.pem;
     ssl_certificate_key  /###/server-key.pem;
    
       location /{
           proxy_pass http://localhost:8099;
           proxy_redirect off;
       }
    
    }
    
    

    相关文章

      网友评论

          本文标题:百度云服务器部署nginx + gunicorn + super

          本文链接:https://www.haomeiwen.com/subject/xsizsqtx.html