我想在 Ubuntu VPS 的两个不同端口上运行两个不同的服务。为此,我创建了两个不同的服务文件 /etc/systemd/system/myfirst-server.service 和 /etc/systemd/system/mysecond-server.service
这些文件
[Unit]
Description=Chat Server
[Service]
ExecStart=/usr/bin/php /var/www/vhosts/domain.com/path1/bin/myfirst-server.php
StandardOutput=null
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
和
[Unit]
Description=Chat Server
[Service]
ExecStart=/usr/bin/php /var/www/vhosts/domain.com/path2/bin/mysecond-server.php
StandardOutput=null
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
现在我运行它们
sudo systemctl enable myfirst-server.service
sudo systemctl enable mysecond-server.service
sudo systemctl daemon-reload
sudo systemctl start myfirst-server.service
sudo systemctl start mysecond-server.service
现在的问题是,如果我运行其中一个,它会运行得很好,但运行两个时,它们的行为就开始变得不可预测——有时它们运行良好,有时一个不运行。奇怪的是,它们两个都对 WSS 连接做出了很好的响应。
关于如何运行两项服务的任何帮助
ExecStart=/usr/bin/php /var/www/vhosts/domain.com/path1/bin/myfirst-server.php
ExecStart=/usr/bin/php /var/www/vhosts/domain.com/path2/bin/mysecond-server.php
同时受到高度赞赏
答案1
事实证明这是解决问题的方法 :) 问题出在其他地方,实际上是 MySQL 在 8 小时不活动后超时。因此,设置一个 cron 作业,例如 0 0,8.16 * * * systemctl restart myfirst-server.service,目前运行良好。