Author : zbzhen, Modified : Sun Jan 26 20:06:55 2025
以ollama为例子
要设置 Ollama 开机启动,你需要将 Ollama 添加到系统启动项中。以下是一个通用的方法,适用于大多数 Linux 发行版(如 Ubuntu)和 macOS:
创建一个 Systemd 服务文件:
打开终端并创建一个新的服务文件:
sudo nano /etc/systemd/system/ollama.service
添加服务配置:
在文件中添加以下内容:
[Unit] Description=Ollama Service After=network.target [Service] ExecStart=/path/to/ollama Restart=always User=your-username Group=your-groupname [Install] WantedBy=multi-user.target
将 /path/to/ollama
替换为 Ollama 可执行文件的实际路径,将 your-username
和 your-groupname
替换为你的用户名和组名。
重新加载 Systemd 配置:
sudo systemctl daemon-reload
启用并启动服务:
sudo systemctl enable ollama sudo systemctl start ollama
一行命令执行
echo -e "[Unit]\nDescription=ollama service\nAfter=network.target\n\n[Service]\nExecStart=/usr/local/bin/ollama\nRestart=always\nUser=$(whoami)\n\n[Install]\nWantedBy=multi-user.target" | sudo tee /etc/systemd/system/ollama.service && sudo systemctl enable ollama.service && sudo systemctl start ollama.service
保护机制
echo -e "[Unit]\nDescription=ollama service\nAfter=network.target\n\n[Service]\nExecStart=/usr/local/bin/ollama\nRestart=always\nRestartSec=10\nUser=$(whoami)\nLimitNOFILE=65536\n\n[Install]\nWantedBy=multi-user.target" | sudo tee /etc/systemd/system/ollama.service && sudo systemctl daemon-reload && sudo systemctl enable ollama.service && sudo systemctl start ollama.service
code server 可这样
echo -e "[Unit]\nDescription=codeserver service\nAfter=network.target\n\n[Service]\nExecStart=/home/zbz/ai/code-server-4.89.1-linux-amd64/bin/code-server\nRestart=always\nRestartSec=10\nUser=$(whoami)\nLimitNOFILE=65536\n\n[Install]\nWantedBy=multi-user.target" | sudo tee /etc/systemd/system/codeserver.service && sudo systemctl daemon-reload && sudo systemctl enable codeserver.service && sudo systemctl start codeserver.service
echo -e "[Unit]\nDescription=codeserver service\nAfter=network.target\n\n[Service]\nExecStart=/root/code-server-4.96.4-linux-amd64/bin/code-server\nRestart=always\nRestartSec=10\nUser=$(whoami)\nLimitNOFILE=65536\n\n[Install]\nWantedBy=multi-user.target" | sudo tee /etc/systemd/system/codeserver.service && sudo systemctl daemon-reload && sudo systemctl enable codeserver.service && sudo systemctl start codeserver.service
ollama似乎默认就有这个服务
查看ollam的服务配置文件
cat /etc/systemd/system/ollama.service
[Unit]
Description=Ollama Service
After=network-online.target
[Service]
ExecStart=/usr/local/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
Environment="PATH=/usr/local/texlive/2024/bin/x86_64-linux:/home/zbz/.pyenv/shims:/home/zbz/.pyenv/bin:/usr/local/cuda-12.4/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/sbin:/usr/sbin"
[Install]
WantedBy=default.target
sudo vim /etc/systemd/system/myssh.service
[Unit]
Description=myssh Service
After=network-online.target
[Service]
ExecStart=/usr/bin/nohup /usr/bin/ssh -CqTnNf -R 2222:localhost:22 zbzhen@47.106.123.156 &
User=zbz
Group=zbz
Restart=always
RestartSec=3
Environment="HOME=/home/zbz"
After=network.target sshd.service
[Install]
WantedBy=default.target
```bash sudo systemctl daemon-reload ```
sudo systemctl enable myssh sudo systemctl start myssh
# 停止服务
sudo systemctl stop myssh
# 禁用服务
sudo systemctl disable myssh
# 删除服务文件
sudo rm /etc/systemd/system/myssh.service
# 或者,如果服务文件位于 /lib/systemd/system/ 目录中
# sudo rm /lib/systemd/system/myssh.service
# 重新加载 systemd 守护进程
sudo systemctl daemon-reload
# 检查服务是否已删除
systemctl list-units --type=service --all | grep myssh