nginx 在Django服务器上安装包的最佳实践

pftdvrlh  于 2023-05-16  发布在  Nginx
关注(0)|答案(2)|浏览(118)

所以我自己建了一个服务器。现在我遇到了很多不同的方法来安装软件包。我想到的是核心包,如nginx,gunicorn,python3,PostgreSQL等。
我了解到设置VENV(虚拟环境)是一件好事,这样我就可以在包上运行几个不同版本的项目。
但有些令人困惑的是,哪些不会在VENV内部。
有些人在VENV外部安装PostgreSQL,但在内部安装psycopg2。VENV内部的一些独角兽。等等。

是否有更安全的最佳实践或规则?

我正在用Nginx,gunicorn设置一个Ubuntu服务器16.04。PostgreSQL、psycopg2、python3

qjp7pelc

qjp7pelc1#

这就是我在我的应用程序中使用的,它工作正常,但也许有更好的选择。

  • Nginx、PostgreSQL、python3、supervisor作为系统包安装
  • 我在一台服务器上运行并安装的每个应用程序都使用virtualenv:gunicorn、psycopg 2和Django项目的所有其他要求(大多数情况下,它列在requirements.txt文件中)
  • 使用管理员运行独角兽和celery (需要时)

如果你想让一些服务器安装自动化,你可以使用Ansible,它并不复杂,并且可以很好地与Python/Django接口,并有大量的代码示例。但最好是你一开始就自己做事情,知道并理解你在做什么。
祝你好运

mbskvtky

mbskvtky2#

@Mounir的答案非常可靠-但我想加上另一条建议-使用Ansible Galaxy的剧本也是另一种选择。现有的剧本已经存在于许多用例中(包括Django),它们考虑了许多这些最佳实践。我并不是说Galaxy上的所有剧本都是好的--但有些是好的,而且由于是开源的,它们经常被修补和更新。

相关问题