mirror of
https://github.com/postyizhan/NitWikit.git
synced 2025-03-01 16:46:59 +08:00
parent
040c788f30
commit
da27b9ec52
@ -3,6 +3,9 @@ title: 如何保持服务器在 Linux 服务器中后台运行
|
||||
sidebar_position: 3
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# 如何保持服务器在 Linux 服务器中后台运行
|
||||
|
||||
由于Linux的会话机制,手动启动的服务端会在ssh断开连接之后停止运行,所以我们需要服务端保持后台运行。
|
||||
@ -11,9 +14,25 @@ sidebar_position: 3
|
||||
|
||||
使用screen创建一个虚拟的窗口运行服务端,首先安装screen,在终端输入:
|
||||
|
||||
```
|
||||
sudo apt install screen -y
|
||||
```
|
||||
确保你的系统上有`screen`包,没有的话安装它们:
|
||||
|
||||
<Tabs>
|
||||
<TabItem value="debian" label="Debian/Ubuntu Linux" default>
|
||||
```bash
|
||||
apt-get install screen
|
||||
```
|
||||
</TabItem>
|
||||
<TabItem value="redhat" label="CentOS/Redhat Linux">
|
||||
```bash
|
||||
yum install screen
|
||||
```
|
||||
</TabItem>
|
||||
<TabItem value="arch" label="Arch Linux">
|
||||
```bash
|
||||
pacman -Sy screen
|
||||
```
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
screen 的基础指令:
|
||||
|
||||
@ -25,7 +44,11 @@ screen -D xxx # 踢出正在使用 xxx 窗口的用户
|
||||
screen -S xxx -X quit # 删除 xxx 窗口(在 screen 中输入 exit 也可以删除)
|
||||
```
|
||||
|
||||
在 screen 中启动服务端,在 screen 中时,按键盘上的 Ctrl + A + D 即可返回原窗口。
|
||||
:::info
|
||||
重新连接到screen时可以使用 `screen -Dr xxx`指令,意为踢出正在使用 xxx 窗口的用户并回到 xxx 窗口
|
||||
:::
|
||||
|
||||
在 screen 中启动服务端,在 screen 中时,按快捷键 `Ctrl + A + D` 即可返回原窗口。
|
||||
|
||||
推荐原因:后台运行的同时还可以在服务端控制台中查看日志,打指令
|
||||
|
||||
@ -33,15 +56,15 @@ screen -S xxx -X quit # 删除 xxx 窗口(在 screen 中输入 exit 也可以
|
||||
|
||||
例如mcsm,简单无脑可视化
|
||||
|
||||
## 方法三 Systemctl
|
||||
## 方法三 Systemd
|
||||
|
||||
使用vim 创建 mc.service
|
||||
使用 vim 命令创建 mc.service 单元文件
|
||||
|
||||
```
|
||||
vim /etc/systemd/system/mc.service
|
||||
```bash
|
||||
vim ~/.config/systemd/user/mc.service
|
||||
```
|
||||
|
||||
vim中的内容按以下配置
|
||||
文件中的内容按以下配置
|
||||
|
||||
```
|
||||
[Unit]
|
||||
@ -49,14 +72,6 @@ Description=Minecraft Server
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
User=root
|
||||
Nice=5
|
||||
KillMode=none
|
||||
SuccessExitStatus=0 1
|
||||
ProtectHome=true
|
||||
ProtectSystem=full
|
||||
PrivateDevices=true
|
||||
NoNewPrivileges=true
|
||||
WorkingDirectory=这里填工作目录路径
|
||||
ExecStart=这里填启动命令
|
||||
ExecStop=/bin/kill -SIGINT $MAINPID
|
||||
@ -68,19 +83,23 @@ WantedBy=multi-user.target
|
||||
|
||||
配置完成后输入以重新加载:
|
||||
|
||||
```
|
||||
```bash
|
||||
systemctl daemon-reload
|
||||
```
|
||||
|
||||
然后启动服务器并设置开机启动,先后输入:
|
||||
|
||||
```
|
||||
systemctl start mc.service
|
||||
systemctl enable mc.service
|
||||
```bash
|
||||
systemctl --user start mc.service
|
||||
systemctl --user enable mc.service
|
||||
```
|
||||
|
||||
_可以通过`systemctl --user status mc.service`查看服务运行状态。_
|
||||
|
||||
[详细设置说明](https://blog.csdn.net/WHQ78164/article/details/132956725)
|
||||
|
||||
[Arch wiki 上的教程](https://wiki.archlinuxcn.org/wiki/Systemd#%E7%BC%96%E5%86%99%E5%8D%95%E5%85%83%E6%96%87%E4%BB%B6)
|
||||
|
||||
优点:可以实现自动重启,开机自启等操作
|
||||
|
||||
缺点:无法进入控制台打指令
|
||||
|
Loading…
Reference in New Issue
Block a user