安装基础依赖
如果你遵循了我的建议并配置了 Ubuntu 16.04 发行版的服务器,那么你的系统完全支持 Python 3.5,因此这是我将用于部署的 Python 版本。
基础的 Python 解释器可能已经预先安装在你的服务器上,但有一些额外的软件包可能却没有,而且 Python 之外还有一些其他软件包可用于创建健壮的生产环境部署。 对于数据库服务器,我将从 SQLite 切换到 MySQL。 Postfix 包是一个邮件传输代理,我将用它来发送电子邮件。 Supervisor 工具将监视 Flask 服务器进程,并在其崩溃时自动重启,并当 Supervisor 服务重启后自动启动其监视的服务。 Nginx 服务器将接受来自外部世界的所有请求,并将它们转发给应用程序。 最后,我将使用 git 来从 git 仓库下载应用程序。
$ sudo apt-get -y update
$ sudo apt-get -y install python3 python3-venv python3-dev
$ sudo apt-get -y install mysql-server postfix supervisor nginx git
这些安装大部分是无人值守的,但是在运行第三条安装语句到一定进度时,系统会提示你为 MySQL 服务选择一个 root 密码,并且还会询问关于安装 postfix 软件包的一些问题,你可以接受他们的默认答案。
请注意,对于此部署,我选择不安装 Elasticsearch。 这项服务需要大量的 RAM,所以只有拥有超过 2GB 内存的大型服务器时才可以考虑。 为了避免服务器内存不足的问题,我将停用搜索功能。 如果你有高配的服务器,可以从 Elasticsearch 站点 下载官方的.deb 软件包,并按照其安装说明将其添加到你的服务器。 请注意,Ubuntu 16.04 软件包存储库中提供的 Elasticsearch 软件包太旧,无法运行,你需要 6.x 或更高版本。
我还注意到,默认安装的 postfix 可能不足以在生产环境中发送电子邮件。 为了避免垃圾邮件和恶意邮件,很多服务器都要求发件人服务器通过安全扩展标识自己,这意味着至少你必须拥有与你的服务器相关联的域名。 如果你想了解如何完全配置电子邮件服务器以使其通过标准安全测试,请参阅以下 Digital Ocean 的指南:
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论