【Lv:4】
很早以前这个服务端就有一个一直都没解决的问题,后台运行比较麻烦,那种screen/tmux的歪门邪道就不说了,用&和nohup也是非常不靠谱的。。。其实实话说我是不打算自己解决了,因为一开始我就是设计成用systemd来启动的。。。
systemd大家应该都非常熟悉,它是目前主流的init实现,通过以配置文件代替脚本,来更好的描述linux服务的特性,不过由于缺少直观,大多数人其实是不会写service文件的
说起这个service文件,其实真的写起来并不复杂,我这里准备了一个基本通用的模板,可以适用于这个服务端
大体就是这样,记得把中文部分替换成符合你自己情况的值,然后将文件放在/lib/systemd/system/或者/usr/lib/systemd/system/里
另外一定要确保对应路径的拥有者和运行服务端的用户相同
当然运行方法就是systemctl start 你的service名字
要开机自动运行则将start改成enable再执行一遍
用了这个service要如何操作服务端呢,一个简单的方法就是切换到对应用户和对应目录后执行./mcpeserver attach即可(当然过往的日志是不能显示的,你可以做个脚本显示日志中的最后几行)
systemd大家应该都非常熟悉,它是目前主流的init实现,通过以配置文件代替脚本,来更好的描述linux服务的特性,不过由于缺少直观,大多数人其实是不会写service文件的
说起这个service文件,其实真的写起来并不复杂,我这里准备了一个基本通用的模板,可以适用于这个服务端
代码:
[Unit]
Description=Minecraft Naïve Server
After=network.target
[Service]
Type=simple
User=目标用户名
WorkingDirectory=安装路径
ExecStart=安装路径/mcpeserver daemon
[Install]
WantedBy=multi-user.target
另外一定要确保对应路径的拥有者和运行服务端的用户相同
当然运行方法就是systemctl start 你的service名字
要开机自动运行则将start改成enable再执行一遍
用了这个service要如何操作服务端呢,一个简单的方法就是切换到对应用户和对应目录后执行./mcpeserver attach即可(当然过往的日志是不能显示的,你可以做个脚本显示日志中的最后几行)
最后编辑: