制作Linux服务并开机自启

创建 Systemd 服务文件

/etc/systemd/system/ 目录下创建一个新的服务文件,例如 my_service.service。使用文本编辑器打开并编辑该文件:

sudo nano /etc/systemd/system/my_service.service

在文件中添加以下内容:

[Unit]
Description=My Custom Service
After=network.target

[Service]
Type=simple
ExecStart=/path/to/your/executable
Restart=always
User=your_username
WorkingDirectory=/path/to/working/directory

[Install]
WantedBy=multi-user.target

解释服务文件内容

  • Description:服务的描述信息。
  • After:指定服务在哪些目标之后启动,通常设置为 network.target 以等待网络就绪。
  • Type:服务类型,simple 表示直接运行程序。
  • ExecStart:程序的完整路径。
  • Restart:设置为 always 表示程序崩溃后自动重启。
  • User:运行该服务的用户。
  • WorkingDirectory:程序的工作目录。

重新加载 Systemd 配置

保存文件后,运行以下命令重新加载 Systemd 配置:

sudo systemctl daemon-reload

启动服务

使用以下命令启动服务:

sudo systemctl start my_service

检查服务状态

验证服务是否正常运行:

sudo systemctl status my_service

设置开机自启

启用服务以在系统启动时自动运行:

sudo systemctl enable my_service

验证开机自启

重启系统后,检查服务是否自动启动:

sudo systemctl status my_service

停止或禁用服务

如果需要停止服务:

sudo systemctl stop my_service

禁用开机自启:

sudo systemctl disable my_service

日志查看

服务日志可通过 journalctl 查看:

sudo journalctl -u my_service -f

注意事项

  • 确保程序路径和权限正确。
  • 使用绝对路径避免依赖环境变量问题。
  • 测试服务确保无依赖缺失或配置错误。
### MySQL 8 的安装与 glibc 配置 #### 准备工作 在 Linux 上安装 MySQL 8 配置 glibc 版本以及实现开机动,需要完成以下几个主要部分的工作。以下是详细的说明。 #### 创建用户和组 为了安全性和权限管理,通常会先创建 `mysql` 用户组和用户账户。这可以通过以下命令完成: ```bash groupadd mysql useradd -r -g mysql mysql ``` 上述命令分别用于新增一个名为 `mysql` 的用户组[^2] 和一个属于该组的系统用户 `mysql`[^1]。 #### 下载解压 MySQL 源码包 下载官方发布的 MySQL 8 源码压缩包,将其解压到指定目录下。假设已经下载好文件至 `/tmp/mysql-8.0.xx.tar.gz`,可以执行以下操作: ```bash tar zxvf /tmp/mysql-8.0.xx.tar.gz -C /usr/local/ cd /usr/local/mysql-8.0.xx ``` #### 编译安装前准备 确保已安装必要的依赖库,特别是对于 CentOS 或其他 RedHat 系列操作系统来说,可能需要升级或重新编译适合当前系统的 GLIBC 库版本。如果运行的是较旧的操作系统版本(如引用提到的 CentOS 6.8),则需要注意其默认自带的 glibc 可能不满足新版本 MySQL 所需最低要求[^3]。 针对 Ubuntu 类型发行版,则可通过简单更新工具链获取最新支持状态: ```bash sudo apt update && sudo apt upgrade -y sudo apt install build-essential cmake libssl-dev zlib1g-dev libncurses5-dev \ libreadline-dev git-core checkinstall libaio-dev wget curl python-pip locales-all ``` 此处列举了一些常见必备组件列表[^4],具体可根据实际需求调整补充更多项目。 #### 实际编译过程 进入源代码根路径后调用 CMake 工具定制构建选项再正式开始制作流程: ```bash cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_UNIX_ADDR=/var/run/mysqld/mysqld.sock \ -DDEFAULT_CHARSET=utf8mb4 \ -DDEFAULT_COLLATION=utf8mb4_general_ci \ -DEXTRA_CHARSETS=all \ -DSYSCONFDIR=/etc/mysql/ \ -DDOWNLOAD_BOOST=1 \ -DWITH_BOOST=/path/to/downloaded/boost/source/tree make && make install ``` 注意替换其中涉及绝对位置参数值为自己机器实际情况适应修改。 #### 设置服务脚本与初始化数据库实例 复制随附样例 systemd unit 文件或者自行编写对应控制逻辑存放到合适地方比如 `/etc/systemd/system/mariadb.service` 中去定义如何加载停止恢复等行为模式;接着利用刚刚建立好的二进制程序生成初始数据集结构体以便正常使用之前还需赋予相应读写访问权利给定目标存储空间地址。 ```bash chown -R mysql:mysql /usr/local/mysql /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/var/lib/mysql ``` #### 开机设定 最后一步便是激活此单元使之能够在每次重之后自动生效而无需手动干预即可正常运作起来达到预期效果目的为止结束整个部署环节全部内容事项完毕无误才行哦! ```bash cp support-files/mysql.server /etc/init.d/mysql chmod +x /etc/init.d/mysql update-rc.d mysql defaults systemctl enable mariadb.service ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

时尚IT男

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值