Rails Thin服务器未找到PID

3
我正在使用Nginx Web服务器和5个Thin应用服务器在Ubuntu上运行Rails。
每天系统会变得非常缓慢,有时会挂起。
我不确定是Thin服务器出了问题,但是当它挂起时,停止服务器会收到以下错误提示:
Can't stop process, no PID found in tmp/pids/thin.3000.pid

这里是显示Thin启动和停止的日志:

bitnami@linux:/opt/bitnami$ thin -C projects/myapp/current/config/thin.yml start
Starting server on 127.0.0.1:3000 ...
Starting server on 127.0.0.1:3001 ...
Starting server on 127.0.0.1:3002 ...
Starting server on 127.0.0.1:3003 ...
Starting server on 127.0.0.1:3004 ...


bitnami@linux:/opt/bitnami$ thin -C projects/myapp/current/config/thin.yml stop
Stopping server on 127.0.0.1:3000 ...
Sending QUIT signal to process 21921 ...
>> Exiting!
Timeout!
Can't stop process, no PID found in tmp/pids/thin.3000.pid
Stopping server on 127.0.0.1:3001 ...
Sending QUIT signal to process 21945 ...
>> Exiting!
Timeout!
Can't stop process, no PID found in tmp/pids/thin.3001.pid
Stopping server on 127.0.0.1:3002 ...
Sending QUIT signal to process 21969 ...
>> Exiting!
Timeout!
Can't stop process, no PID found in tmp/pids/thin.3002.pid
Stopping server on 127.0.0.1:3003 ...
Sending QUIT signal to process 21993 ...
Timeout!
Sending KILL signal to process 21993 ...
Stopping server on 127.0.0.1:3004 ...
Sending QUIT signal to process 22017 ...
>> Exiting!
bitnami@linux:/opt/bitnami$

有时候它会找到PIDS,有时候又找不到。这是什么意思呢?
谢谢!

启动服务器后,您是否查看了 tmp/pids 目录以查看文件是否正在被创建?如果是,它们是否包含正确的进程 ID? - ipd
是的,它们在启动时被创建。 - Reddirt
1个回答

1
我有完全相同的烦人问题。
我发现如果服务器在启动时崩溃,pid文件会被创建,但文件中没有pid。尝试查看服务器./logs/thin.3001.log的日志文件并查找错误。您也可以尝试通过手动启动服务器来解决问题。
rails s -p 3000

并查看是否有任何错误被抛出。

祝好运

Chris


你的指导非常有帮助。我在启动thin时tail了thin.log,很快就找到了问题。谢谢! - William Notowidagdo
@WilliamNotowidagdo 很高兴能帮忙! - Chris McCauley

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接