我需要能够在基于 CentOS 的 Web 服务器上支持多个(~100)不同的用户及其自己的网站。他们需要能够使用 Python(v2 和 v3)以及 Django。我知道 apache 需要 systemctl restart,这可以通过 cron 作业来安排。但是,我不知道管理员方面的其他提示和技巧以及要求。有没有网站可以帮助我设置服务器?我知道他们每个人都可以运行自己的 Web 服务器(simpleHTTPserver),但在我看来这很混乱。
如对这一问题有任何帮助我将非常感激。
答案1
我建议使用 VirtualHosts 并自动执行设置
您可以将其设置为/var/www/<sname>
自动加载任何<sname>.domain.com
例如:转到s1.domain.com
和s1.domain.com
将分别自动加载/var/www/s1
和/var/www/s2
。
Nginx
该server_name
指令仅用于匹配对站点的请求;您可以使用正则表达式:
server {
listen 80;
server_name ~^(www\.)?(?<sname>.+?).domain.com$;
root /var/www/$sname
...
}
$sname
您可以在其余配置中使用
阿帕奇
这有点复杂,但可以做到
LoadModule vhost_alias_module modules/mod_vhost_alias.so
UseCanonicalName Off
<VirtualHost *:80>
ServerName vhosts.fqdn
ServerAlias *.example.com
VirtualDocumentRoot /var/www/%1+
</VirtualHost>
如果你想使用 HTTPS,我相信有一个 API 可以生成 Letsencrypt 证书
答案2
您应该使用 Nginx 将他们的应用程序(Django、Flask 或任何 Pythonic)置于反向代理之下。
然后只在系统 Python 中安装 easy_install、setuptools 和 virtualenv 包。所有开发人员都应该使用自己的虚拟环境来安装包。