利用 CentOS 7 部署一个 Flask 项目,网上主流为 Nginx + uwsgi 和 Apache + mod_wsgi 两种部署方式,试过 Nginx 但是没成,后来改用的 Apache。
部署主要步骤如下:
- 安装Apache、Python、mod_wsig
- 配置mod_wsgi
- 上传项目,配置 .wsgi
- 配置Apache
- 重启Apache,运行项目
然,如果仅仅运行,这样也是没问题的,一般实际项目还有更多问题。
比如:日志分日记录、项目访问权限、错误页面提示等,主要也是 Apache 配置问题。
在Apache部署的项目中,一般的访问者是默认以 daemon 用户访问的,所以对于上传文件等操作需要慎重对待。一般是新建一个网络用户,然后在加到项目创建的用户的组内,一般该项目(非root创建)的目录文件权限是创建者和组内成员一致的,这样也就不用担心其他用户误操作了。项目目录一般是 /var/www/ 。
遇到访问问题一般显示查看日志信息,然后百度,切记一定要看该次运行的全部错误日志,全部!!!Apache每日错误日志信息比较多,有时详细日志在上面,甚至给了原因猜测,最后的error提示可能是更深层次的问题,特别是flask部署的依赖包的各种问题。百度也非常少见的问题,那么可以考虑下是检查依赖包、配置等是否正确。
数据库方面主要就是编码问题,一定要协调一致,数据库和库中的所有表都是。
祝,顺利部署运行。