服务器配置
内存: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
创建软连接
在切换到sites-available
目录下创建nginx配置vim test
在sites-enabled
创建软链接:使用命令ln -s test ../sites-enabled
配置supervisor
在supervisor的conf.d目录,创建配置文件
重启nginx
sudo service nginx restart
启动supervisor
supervisord -c supervisor.conf
配置restful https 访问
安装 pip install pyOpenSSL
创建CA证书
首先要有CA证书,由于这篇是示例教程,所以使用自签证书即可。生成自签证书可以参考这里:《在局域网里创建个人CA证书》。
程序开启SSL
上面代码是使用本机的证书,如果自定义证书路径,可以改成下面的代码。
修改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;
}
}