systemdを使用して別々のポート、conf、およびtmpファイルを使用してEngine X用の複数のサービスを作成する方法
私が知っている限り、/etc/nginx/nginx.conf nginx2.confとnginx3.confのコピーを作成する必要があります。そこから別のログパスを指定し、ポートを変更します。
だから私は走る
sudo systemctl edit nginx
その後、元の設定を貼り付けて上書きしますか?
EnvironmentまたはExecStartセクションを編集する必要がありますか?
[単位]説明=nginx HTTPおよびリバースプロキシserverAfter=network-online.target remote-fs.target nss-lookup.target Wants=network-online.target
[サービス]タイプ=フォーキング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=ProcessPrivateTmp=true
[インストール] WantedBy=multi-user.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ファイルを使用してEngine X用の複数のサービスを作成する方法
1つの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