介绍
目前大约有 100 个 Puppet 代理连接到 Puppetmaster。有时,代理需要一段时间才能发现 Puppetmaster 上实施的更改。一些信息已经发现,Passenger 与 Web 服务器(例如 Apache2 或 Nginx)结合可以加速这个过程。最重要的是,根据本文档,强烈建议在生产环境中使用此类功能。
目的
目的是在 CentOS7 上安装 Nginx 并实现 Phusion 乘客支持,passenger-install-nginx-module以加速识别 Puppet-agents在 Puppetmaster 上实现的更改。
尝试
尝试 1
sudo /usr/local/share/gems/gems/passenger-4.0.56/bin/passenger-install-nginx-module --auto --auto-download 已执行并遵循安装步骤。
尝试 2
由于在尝试 1 期间未安装 Nginx 服务,因此使用yum -y install nginx.
尝试 3
谷歌搜索:"[emerg] unknown directive passenger_enabled" 表示 nginx 是在没有 Phusion Passenger 支持的情况下编译的。在这种情况下,这应该是错误的,因为passenger-install-nginx-module已经运行,并且在尝试 1 期间的安装输出表明应该已经安装了 Nginx。
尝试 4
/etc/nginx/nginx.conf
passenger_root /usr/local/share/gems/gems/passenger-4.0.56;
passenger_ruby /usr/bin/ruby;
Run Code Online (Sandbox Code Playgroud)
/etc/nginx/conf.d/puppet.conf
passenger_enabled on;
Run Code Online (Sandbox Code Playgroud)
尝试 …
我已经在新安装的 CentOS7(最小)上从 EPEL 安装了 tor。
配置隐藏服务后,我通过浏览hostnameTor 浏览器中文件中生成的 URL 来检查并验证该服务是否已启动并正在运行。
此时服务配置为自动启动使用 systemctl enable tor
一切正常,直到我重新启动服务sudo systemctl restart tor。之后,tor 服务不再启动,记录以下错误:
Directory /var/lib/tor/hidden_service_01/ cannot be read: Permission denied
hidden_service_01 文件夹是由 Tor 服务在第一次运行时自动创建的。
如果我删除hidden_service_01文件夹并再次启动服务。它启动(生成一个新的 .onion url)。但是一旦它停止并再次启动,权限错误就会再次发生。
为什么我会收到权限错误以及如何使其工作?
PS我创建了一个用于我的配置的指南片段:https : //gist.github.com/Dzoge/f059d30da77a21df1a0f29a0b5c528a2
更新 1: 我检查了文件夹权限,它们是:
rwx------. 2 toranon toranonrw-------. 1 toranon toranon我设置chmod为770现在文件夹和文件都有rwxrwx---. 1 toranon toranon
我尝试启动 Tor 服务systemctl start tor,但仍然收到相同的权限警告。
更新 2: 我尝试在 Ubuntu 服务器上做同样的事情,效果很好。我也更新了要点并添加了 ubuntu 指南。
CentOS …
在从 Fedora Core 16 升级到 Fedora Core 21 的过程中,挑战之一是让 postfix 与 postgrey 一起工作。在长时间专注于它之后,我仍然没有让它工作。
在旧策略中,官方指示指示您编写自己的脚本以放入/etc/init.d. 而且,确实,回到 FC16,我做到了!但是今天,我们有systemctl。您可以postgrey使用 yum安装,存储库知道它。它安装得很好。然后您使用 启用systemctl enable postgrey.service,这也很顺利。
到现在为止还挺好。只剩下几件事要做……
接下来,移过您的白名单文件 - 似乎具有相同的格式。
在旧方案中,您的 postfix main.cf 文件中有这样一行:
...
smtpd_recipient_restrictions = permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_pipelining,
reject_non_fqdn_recipient,
reject_unknown_recipient_domain,
reject_unauth_destination,
check_policy_service inet:127.0.0.1:10023,
permit_mynetworks
...
Run Code Online (Sandbox Code Playgroud)
在我的 /etc/init.d 中,我编写了一个脚本,其中以下摘录显示了有趣的部分,并且运行良好:
...
exec="/usr/sbin/postgrey"
prog="postgrey"
options="--unix=/var/spool/postfix/postgrey/socket --inet=10023"
[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
lockfile=/var/lock/subsys/$prog
start() {
[ -x $exec ] || exit 5
echo -n $"Starting $prog: "
daemon …Run Code Online (Sandbox Code Playgroud) 在 Red Hat 7 中,我试图强制 IP 表服务在重新启动后自动启动。目前,每次重新启动后,我都需要运行以下命令:
sudo systemctl start iptables
我试过设置
sudo chkconfig iptables on
但它没有运行。
在我的文件中/etc/sysconfig/iptables-config我已经设置
IPTABLES_SAVE_ON_STOP="yes"
IPTABLES_SAVE_ON_RESTART="yes"
有人可以让我知道如何将其设置为在重新启动时启动吗?
我正在使用 Ubuntu Server 16.04。
这是.service文件:
[Unit]
Description=NoDescpt
[Service]
ExecStart=/home/git/cmd/daphnei
Restart=always
KillSignal=SIGQUIT
Type=notify
NotifyAccess=all
[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)
以及相关的脚本/home/git/cmd/daphnei:
#!/bin/bash
cd /home/git/hsfzmun/server
/home/git/virtualenvs/hsfzmun/bin/daphne -b 0.0.0.0 -p 8001 -v2 config.asgi:channel_layer
Run Code Online (Sandbox Code Playgroud)
让我感到困惑的是该服务将每 90 秒重新启动一次,但我找不到原因。
我发现该服务的状态始终为activating,这意味着systemd不知道该服务已启动。但是脚本确实启动了,因为我可以访问我的网站。那么它有什么问题呢?
我想让nginx服务依赖于我编写的服务,比如abc.service. 通过依赖,我的意思是:
nginx 当我停止时服务应该停止 abcnginx 服务应该在我启动时启动 abc一种典型的方法是修改/lib/systemd/system/nginx.service和添加Wants abc指令。但是,我不想修改nginx.service文件 - 因为它是随 nginx 包一起提供的。
还有其他方法可以做到这一点吗?