部署守护进程的过程和位置

我是Linux新手。 我最近将我的C ++窗口服务移植到了linux守护进程。

Windows中,我有下面的文件夹结构。 我发现结构很容易让其他同事跟着升级到新版本。

C:\services\my_app\version_1_0\my_app.exe C:\services\my_app\version_1_0\my_app.config.xml C:\services\my_app\version_1_0\dependencies1.dll C:\services\my_app\version_1_0\log\my_app_20121110.log C:\services\my_app\version_1_0\data\my_app_data_20121110.txt C:\services\my_app\start_my_app.bat 

我已经研究了一下在Linux的部署位置,发现相当混乱:

  1. 有人说二进制文件应该部署在/ usr / bin / my_app中
  2. 日志文件夹应该是/ var / log / my_app
  3. 我应该在哪里放置数据文件?
  4. 启动脚本应放置在/etc/init.d/my_app中

感谢您的帮助提前。

您可能会发现这篇维基百科文章很有帮助,它解释了典型的linux文件系统中各种文件夹的用途。

要点1,2和4是正确的:你的守护进程应该在/usr/bin ,将日志写入/var/log ,启动脚本应该在/etc/init.d

至于“数据”文件,则取决于它实际包含的内容。 如果它是你的应用程序用于配置的东西,它应该去/etc/yourapp 。 否则它属于/usr/share/yourapp