使用 systemd 如何使用单独的端口、conf 和 tmp 文件创建引擎 X 的多个服务
据我所知,我需要创建副本 /etc/nginx/nginx.conf nginx2.conf 和 nginx3.conf - 在那里我指定不同的日志路径,更改端口
然后我跑
sudo systemctl edit nginx
然后粘贴原始设置以覆盖?
我需要编辑 Enviroment 或 ExecStart 部分吗?
[Unit] Description=nginx HTTP 和反向代理服务器 After=network-online.target remote-fs.target nss-lookup.target Wants=network-online.target
[服务] Type=forking PIDFile=/run/nginx.pid ExecStartPre=/usr/bin/rm -f /run/nginx.pid ExecStartPre=/usr/sbin/nginx -t ExecStart=/usr/sbin/nginx ExecReload= /usr/sbin/nginx -s reload KillSignal=SIGQUIT TimeoutStopSec=5 KillMode=进程 PrivateTmp=true
[安装] WantedBy=多用户.target
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN 1906/dnsmasq
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1219/sshd
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1213/cupsd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1510/master
tcp 0 0 127.0.0.1:6010 0.0.0.0:* LISTEN 2359/sshd: grant@pt
tcp 0 0 0.0.0.0:2080 0.0.0.0:* LISTEN 3028/nginx: master
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 701/rpcbind
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1344/nginx: master
udp 0 0 0.0.0.0:865 0.0.0.0:* 701/rpcbind
udp 0 0 192.168.122.1:53 0.0.0.0:* 1906/dnsmasq
udp 0 0 0.0.0.0:67 0.0.0.0:* 1906/dnsmasq
udp 0 0 0.0.0.0:68 0.0.0.0:* 1025/dhclient
udp 0 0 0.0.0.0:111 0.0.0.0:* 701/rpcbind
udp 0 0 0.0.0.0:5353 0.0.0.0:* 697/avahi-daemon: r
udp 0 0 0.0.0.0:43438 0.0.0.0:* 697/avahi-daemon: r
答案1
使用 systemd 如何使用单独的端口、conf 和 tmp 文件创建引擎 X 的多个服务
您可以而且应该在一个 nginx 实例中完成这一切。
[Unit]
Description=The nginx HTTP and reverse proxy server
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/run/nginx2.pid
ExecStartPre=/usr/bin/rm -f /run/nginx2.pid
ExecStartPre=/usr/sbin/nginx -t -c /etc/nginx/nginx2.conf
ExecStart=/bin/bash -c 'exec -a nginx2 /usr/sbin/nginx -c /etc/nginx/nginx2.conf'
ExecReload=/usr/sbin/nginx -c /etc/nginx/nginx2.conf -s reload
KillSignal=SIGQUIT
TimeoutStopSec=5
KillMode=process
PrivateTmp=true
[Install]
WantedBy=multi-user.target
我想你已经知道了。
https://www.mankier.com/8/nginx
将其放在原始目录中,nginx.service
名称为 nginx2.service
.然后systemctl daemon-reload
和systemctl start nginx2.service