Uvicorn是一个Python Web服务器和开发服务器,支持多种框架,如Flask、Django以及FastAPI,Uvicorn以其高性能和易用性收到开发者的欢迎
一、安装Uvicorn
为本机python安装venv
# apt install python-venv为了方便与root进行隔离,新创建一般用户mysiteuser
# useradd -m mysiteuser
# passwd mysite使用mysiteuser登陆ssh
ssh mysiteuser@123.123.123.123创建python虚拟环境
$ python -m venv ./venv在虚拟环境中安装uvicorn
$./venv/bin/pip install uvicornuvicorn配置,以下是个范例 mymodule.py,用于运行flask程序
#!/bin/python
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
        return 'Hello, World!'
if __name__ == '__main__':
        uvicorn.run(app,host='0.0.0.0',port=3000)使用以下命令启动服务器:
./venv/bin/uvicorn mymodule:app --reload其中mymodule是包含Flask应用的Python模块名称
二、安装Apache
Apache的配置文件位于/etc/apache2/sites-available/
创建文件mysite.conf
<VirtualHost *:80>
          
</VirtualHost>保存配置,并启用配置
a2ensite mysite.conf
重新启动Apache以应用更改
systemctl restart apache2三、集成
安装apache2的对wsgi的支持
apt-get install libapache2-mod-wsgi-py3配置Apache,编辑mysite.conf
<VirtualHost *:80>
          SSLEngine On
          SSLProxyEngine On
          SSLProxyVerify none
          SSLProxyCheckPeerCN off
          SSLProxyCheckPeerName off
          SSLCertificateFile "opt/ssl/server.crt"
          SSLCertificateKeyFile “opt/ssl/server.key”
          ProxyRequests Off
          ProxyPreserveHost On
          ProxyPass / http://127.0.0.1:3000/
          ProxyPassReverse / http://127.0.0.1:3000/
</VirtualHost>安装 CertBot
./venv/bin/pip install certbot申请证书
./venv/bin/certbot certonly -d mysite.conf --manual --preferred-challenges dns --server https://acme-v02.api.letsencrypt.org/directory --config-dir /opt/ssl --work-dir /opt/ssl --logs-dir /opt/ssl配置crontab
crontab -e0 0 0 * * * ./venv/bin/certbot certonly -d mysite.conf --manual --preferred-challenges dns --server https://acme-v02.api.letsencrypt.org/directory --config-dir /opt/ssl --work-dir /opt/ssl --logs-dir /opt/ssl











 Chinese
Chinese				 English
English