我在 VPS 服务器中托管了大约 5 个网站,出于某种原因,我最近购买了另一台 VPS 服务器,只是为了托管这 5 个网站的电子邮件。我想知道将单独的电子邮件服务器与其 Web 主机隔离的利弊。
我最初这样做是为了避免在一台服务器上运行多个软件。所以,像 PostFix、Dovecot 之类的……不会共享资源并减慢 mysqld、php-fpm 的速度……但由于我是一个菜鸟,我不知道支持这个假设。
我有一个从这个 repo克隆的 LEMP 堆栈的 docker 设置。
在运行窗口 10 的开发机器上一切正常,但是当我将图像推送到 docker hub 并将其拉到我的 VPS 上时,无论我做什么,我总是收到此错误:
[emerg] 1#1: host not found in upstream "php-fpm:9000" in /etc/nginx/conf.d/upstream.conf:1
Run Code Online (Sandbox Code Playgroud)
此错误来自两个文件。
这是代码:
RUN echo "upstream php-upstream { server ${PHP_UPSTREAM_CONTAINER}:${PHP_UPSTREAM_PORT}; }" > /etc/nginx/conf.d/upstream.conf \
&& rm /etc/nginx/conf.d/default.conf
Run Code Online (Sandbox Code Playgroud)
第二个 来自这个 Nginx default.conf 文件
这是代码:
location ~ \.php$ {
...
fastcgi_pass php-upstream;
...
}
Run Code Online (Sandbox Code Playgroud)
我说这两个文件是 b/c 其他地方没有引用 php-upstream 的原因。
我已经尝试了添加/删除主机、添加depends_on、更改 nginx、php 版本、禁用 selinux 的所有可能组合,但它不起作用。我总是在生产中遇到相同的错误,但在本地服务器上一切正常。
我目前有 5 个域名指向我的电子邮件服务器,该服务器运行 CentOS 6.5 并安装了 Postfix、Dovecot。虽然我现在只能接收电子邮件但不能发送(出于我无法理解的原因)我在配置这部分时遇到了麻烦,main.cf因为似乎只有一个域名和主机可以指定。
# The default_privs parameter specifies the default rights used by
# the local delivery agent for delivery to external file or command.
# These rights are used in the absence of a recipient user context.
# DO NOT SPECIFY A PRIVILEGED USER OR THE POSTFIX OWNER.
#
#default_privs = nobody
# INTERNET HOST AND DOMAIN NAMES
#
# The myhostname parameter specifies the internet hostname of this
# mail system. The …Run Code Online (Sandbox Code Playgroud)