Articles of systemd

nginx需要访问哪些目录?

我正在为nginx编写一个systemd服务文件,而以root身份运行的面向Internet的服务是一个坏主意,但是我需要nginx来访问每个用户主目录中的某个目录。 例如 / home / user1 / static / home / user2 / static 但是,我不希望其他任何人,但Nginx(和根)能够访问用户目录。 还有两难。 / home / user1和subdirs需要属于user1:user1,以防一个用户受到攻击。 这意味着,除非我错过了一些东西,那么nginx需要以root身份运行。 GOTO 10。 正因为如此,它需要访问一些目录。 在这种情况下,它的configuration目录是/ etc / nginx。 但也包括其他目录。 而我的问题是哪些目录是那些?

从neo4j日志中删除时间戳

我在CoreOS单元中运行neo4j作为docker容器。 来自neo4j的日志包含时间戳,但CoreOS中的日志系统也有自己的时间戳。 我想从neo4j日志中删除时间戳,只是让日志系统为我照顾。 (奖金:neo4j日志有点不一致,有没有办法让他们把类别和级别的指标放在同一个地方?) 这里是我现在得到的一个例子: Feb 01 17:15:26 core-brix docker[4726]: 2015-02-01 17:15:26.167+0000 INFO [API] Mounting static content at [/webadmin] from [webadmin-html] Feb 01 17:15:26 core-brix docker[4726]: 2015-02-01 17:15:26.203+0000 INFO [API] Mounting static content at [/browser] from [browser] Feb 01 17:15:26 core-brix docker[4726]: 17:15:26.205 [main] WARN oejserver.handler.ContextHandler – oejsServletContextHandler@51dd475f{/,null,null} contextPath ends with / Feb 01 17:15:26 […]

在systemd中依赖项curl时,获取无法parsing主机

我正在使用CoreOS与云初始化,我试图curl法兰绒。 我有一个单位档案: [Unit] Description=Run flannel Documentation=https://github.com/coreos/flannel Requires=etcd2.service After=etcd2.service [Service] ExecStartPre=/usr/bin/curl -L -o /opt/bin/flannel-0.5.1-linux-amd64.tar.gz -z /opt/bin/flannel-0.5.1-linux-amd64.tar.gz https://github.com/coreos/flannel/releases/download/v0.5.1/flannel-0.5.1-linux-amd64.tar.gz ExecStartPre=/usr/bin/tar -C /opt/bin -xzvf /opt/bin/flannel-0.5.1-linux-amd64.tar.gz ExecStartPre=/usr/bin/mv /opt/bin/flannel-0.5.1/flanneld /opt/bin/flanneld ExecStartPre=/usr/bin/rm -rf /opt/bin/flannel-0.5.1 ExecStartPre=/usr/bin/rm -rf /opt/bin/flannel-0.5.1-linux-amd64.tar.gz ExecStart=/opt/bin/flanneld 当它去curl的法兰绒,我得到cannot resolve host 'github.com'和curl退出与1的代码。是否有一些问题,我不能在系统d启动这个时候使用dns?

HAProxy不开始启动

我已经在CentOS 7中安装并configuration了HAProxy,保持正常运行,除了HAProxy没有在启动时启动,我必须手动启动。 如果我运行该命令 systemctl is-enabled haproxy 它说这是启用。 我错过了什么吗? 提前致谢。

如何从默认路由表中删除使用systemd的网关

我的机器上有两个物理接口,都使用DHCP,因此我的默认路由表如下所示: Destination Gateway Genmask Flags Metric Ref Use Iface default 10.10.26.129 0.0.0.0 UG 0 0 0 enp8s0 default 10.10.24.1 0.0.0.0 UG 1024 0 0 eno1 10.10.24.0 * 255.255.255.0 U 0 0 0 eno1 10.10.24.1 * 255.255.255.255 UH 1024 0 0 eno1 为了删除10.10.24.1网关,我运行这个: route del default gw 10.10.24.1 我希望它在启动后被删除, systemd将是合适的方式,但我应该如何删除网关从默认路由表使用systemd? 以下是我所尝试的,但不起作用。 [Unit] Description=delete gateways from the […]

systemd:启用,启动(等待)状态

如果我在脚本中这样做,状态调用显示“OK” systemctl enable foo systemctl启动foo systemctl status foo 但是仅仅几毫秒之后,状态是“失败的”。 如何检测启动是否成功? 这里对我来说意味着什么“成功”:服务器开始运行。 系统接缝启动过程,不会等待服务器是否能够正确启动。 示例:服务器的configuration包含语法错误。 服务器将运行几毫秒但终止。 最简单的解决scheme是在我调用“systemctl status foo”之前执行“sleep 1”。 但是这感觉很脏。 也许有一个更好的解决scheme来获得服务器启动后的真实状态。 我只在乎开始。 如果服务器在两个小时后失败,这不是这个问题的一部分。

systemd列表单元削减服务名称

我想获得所有匹配模式的服务名称。 这不起作用: systemctl list-units -t service –no-pager –no-legend| cut -d' ' -f1| grep mypattern 长服务名称被削减。 例: fooo123@…abc-new.service 我如何列出整个单元名称?

存在多个tmpfs,总的组合空间超过总内存

我有一个运行CentOS 7的7.5G内存的VPS,而且我没有做太多的优化工作,因为它的服务非常好。 今天我要为mysql临时表创build一个ramdisk,所以我想我应该先检查是否有任何ramdisk或tmpfs已经存在,我发现这个。 Filesystem Size Used Avail Use% Mounted on /dev/vda1 XXXG XXXG XXXG XX% / devtmpfs 3.9G 0 3.9G 0% /dev tmpfs 3.9G 0 3.9G 0% /dev/shm tmpfs 3.9G 324K 3.9G 1% /run tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup tmpfs 783M 0 783M 0% /run/user/0 我是一个普通的* nix用户,所以在我看来,已经有多个tmpfs,并且他们的组合最大限制实际上超过了我拥有的总内存。 所以我应该担心有多个tmpfs存在可以把所有可用的内存和机器的膝盖? 或者这些tmpfs是由操作系统本身创build的,不会产生任何问题。 更新1 @迈克尔。 看来我正在走向麻烦。 通过增加1G文件/run可用空闲内存减less1G,caching/caching增加1G。 所以这意味着如果有任何用户/包/脚本等设法在这些tmpfs中写入一些东西,系统可能会closures。 […]

在CoreOS上,etcd2不会通过systemctl启动

真的希望有人能帮助我。 我有一个CoreOS的etcd2成员的磁盘填满。 重启后etcd2的方式不好。 最后,我删除了/ var / lib / etcd2 /成员数据目录,并按照说明去除并重新将计算机添加到我的群集中: https : //coreos.com/etcd/docs/latest/runtime- configuration.html#删除-A-构件 但是,虽然我可以手动运行etcd2,但尝试使用systemctl启动它不起作用。 这是etcd2.service: [Unit] Description=etcd2 Conflicts=etcd.service [Service] User=etcd Type=notify Environment=ETCD_DATA_DIR=/var/lib/etcd2 Environment=ETCD_NAME=%m ExecStart=/usr/bin/etcd2 Restart=always RestartSec=10s LimitNOFILE=40000 TimeoutStartSec=0 [Install] WantedBy=multi-user.target # /run/systemd/system/etcd2.service.d/10-oem.conf [Service] Environment=ETCD_ELECTION_TIMEOUT=1200 # /run/systemd/system/etcd2.service.d/20-cloudinit.conf [Service] Environment="ETCD_ADVERTISE_CLIENT_URLS=http://172.31.9.22:2379,http://172.31.9.22:4001" Environment="ETCD_DISCOVERY=https://discovery.etcd.io/567d080563e28e62cf886e48425f632b" Environment="ETCD_INITIAL_ADVERTISE_PEER_URLS=http://172.31.9.22:2380" Environment="ETCD_LISTEN_CLIENT_URLS=http://0.0.0.0:2379" Environment="ETCD_LISTEN_PEER_URLS=http://172.31.9.22:2380" Environment="ETCD_DEBUG=true" 我添加了ETCD_DEBUG = true来尝试改进日志输出。 说到: Feb 26 07:23:36 geo-coreos-database-02 systemd[1]: Starting etcd2… […]

如何为phpbrew创buildsystemd单元文件?

我想为systemd创build一个单元文件,它将在服务器重启后自动启动PHP FPM。 这里是文件内容: [Unit] Description=PHP 5.5.32 FPM [Service] User=deploy Group=deploy WorkingDirectory=/home/deploy ExecStartPre=/usr/local/bin/phpbrew use 5.5.32 ExecStart=/usr/local/bin/phpbrew fpm start [Install] WantedBy=multi-user.target 但是,当我试图启动服务通过runnint sudo systemctl start php55-fpm.service莫名其妙地不起作用。 这里是sudo systemctl status php55-fpm.service的输出 ● php55-fpm.service – PHP 5.5.32 FPM Loaded: loaded (/usr/lib/systemd/system/php55-fpm.service; enabled; vendor preset: disabled) Active: inactive (dead) since Wed 2016-03-30 05:13:52 CDT; 3min 50s ago Process: 20444 ExecStart=/usr/local/bin/phpbrew […]