首页
仓库
文档
nginx手册
Docker手册
workerman
Flask
PHP
python
RabbitMQ
其他
Linux
占位1
占位2
目录
先用宝塔安装不同版本 或者手动安装多版本 查看版本 /www/server/pyporject_evn/versions/3.11.8/bin/python3 -V 新建项目目录 web3 cd /www/web3 ###新建虚拟环境 /www/server/pyporject_evn/versions/3.11.8/bin/python3 -m venv venv 激活虚拟环境 source venv/bin/activate 成功进入虚拟环境 (venv) [root@localhost web3] 安装 pip install flask pip install gunicorn pip list 查看是否安装成功 pip install -r requirements.txt 安装配置文件模块 pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ #指定安装源 ###gunicorn 新建gunicorn.py 配置参数 ``` # 项目目录 chdir = '/www/www/flask-demo' 程序目录 # 指定进程数 workers = 4 # 指定每个进程开启的线程数 threads = 2 #启动用户 user = 'www' # 启动模式 worker_class = 'sync' # 绑定的ip与端口 bind = '0.0.0.0:6666' # 设置进程文件目录(用于停止服务和重启服务,请勿删除) pidfile = '/www/web3/gunicorn.pid' # 设置访问日志和错误信息日志路径 accesslog = '/www/web3/gunicorn_acess.log' errorlog = '/www/web3/gunicorn_error.log' # 日志级别,这个日志级别指的是错误日志的级别,而访问日志的级别无法设置 # debug:调试级别,记录的信息最多; # info:普通级别; # warning:警告消息; # error:错误消息; # critical:严重错误消息; loglevel = 'info' # 自定义设置项请写到该处 # 最好以上面相同的格式 <注释 + 换行 + key = value> 进行书写, # PS: gunicorn 的配置文件是python扩展形式,即".py"文件,需要注意遵从python语法, # 如:loglevel的等级是字符串作为配置的,需要用引号包裹起来 ``` 启动 gunicorn -c gunicorn.py app:app app:app:第一个 app 是指文件名(app.py),第二个 app 是 Flask 实例名(运行,关闭就停止) nohup gunicorn -c gunicorn.py app:app - & (后台运行) 退出虚拟环境 deactivate ###nginx ``` server { listen 80; server_name flask.tolog.cn; index index.html index.htm default.htm default.html; root /www/www/flask-demo; #SSL-START SSL相关配置 #error_page 404/404.html; #SSL-END #ERROR-PAGE-START 错误页相关配置 #error_page 404 /404.html; #error_page 502 /502.html; #ERROR-PAGE-END #禁止访问的文件或目录 location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md|package.json|package-lock.json|\.env) { return 404; } # 静态文件目录配置 location /static/ { index index.html; root /www/pydemo/flask-demo/; } # 静态文件目录配置 location /upload/ { index index.html; root /www/pydemo/flask-demo/; } #反向代理 location / { proxy_pass http://127.0.0.1:6666; proxy_set_header Host $host:$server_port; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header REMOTE-HOST $remote_addr; add_header X-Cache $upstream_cache_status; proxy_set_header X-Host $host:$server_port; proxy_set_header X-Scheme $scheme; proxy_connect_timeout 30s; proxy_read_timeout 86400s; proxy_send_timeout 30s; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } # HTTP反向代理相关配置结束 <<< access_log /www/wwwlogs/flask-demo.log; error_log /www/wwwlogs/flask-demo.error.log; } ```