CentOS7上创建自己的开机启动服务

    科技2025-08-16  19

    本人有一个自己写的代理用tcp代理服务器,需要随系统启动完成到 目标端口的代理操作

    命令为  tcp_proxy -l 20011 -r 182.61.145.146 -p 20011

     

    创建服务脚本文件

    vi   /usr/lib/systemd/system/wonrowl_proxy.service

    写入以下内容

    [Unit] Description=wonrowl proxy install as service test After=network.target

    [Service] Type=forking user=root ExecStart=/root/wonrowl_proxy/start.sh ExecStop=/root/wonrowl_proxy/stop.sh

    [Install] WantedBy=default.target  

     

     

    服务文件中用到的两个sh脚本内容分别是

    #!/bin/bash /root/wonrowl_proxy/tcp_proxy -l 20011 -r 182.61.145.146 -p 20011 >> /dev/null & 

     

     

    #!/bin/bash killall tcp_proxy

     

    文件权限我为了省事,全部777

     

    -rwxrwxrwx 1 root root  9038 Oct  7 22:47 main.c -rwxrwxrwx 1 root root    95 Oct  8 14:56 start.sh -rwxrwxrwx 1 root root    31 Oct  8 14:55 stop.sh -rwxrwxrwx 1 root root 14336 Oct  7 22:47 tcp_proxy

     

    万事具备后

     

    执行 systemctl start  wonrowl_proxy

    即可启动服务

    通过 systemctl status wonrowl_proxy

    查看结果

     

    ● wonrowl_proxy.service - wonrowl proxy install as service test    Loaded: loaded (/usr/lib/systemd/system/wonrowl_proxy.service; enabled; vendor preset: disabled)    Active: active (running) since Thu 2020-10-08 14:58:56 CST; 41s ago   Process: 577 ExecStart=/root/wonrowl_proxy/start.sh (code=exited, status=0/SUCCESS)  Main PID: 580 (tcp_proxy)    CGroup: /system.slice/wonrowl_proxy.service            └─580 /root/wonrowl_proxy/tcp_proxy -l 20011 -r 182.61.145.146 -p 20011

    Oct 08 14:58:56 hecs-x-medium-2-linux-20201005162808 systemd[1]: Starting wonrowl proxy install as service test... Oct 08 14:58:56 hecs-x-medium-2-linux-20201005162808 systemd[1]: Started wonrowl proxy install as service test.  

    执行 systemctl stop wonrowl_proxy

    即可关闭服务

    通过 systemctl status wonrowl_proxy

     

    [root@hecs-x-medium-2-linux-20201005162808 wonrowl_proxy]# systemctl status wonrowl_proxy ● wonrowl_proxy.service - wonrowl proxy install as service test    Loaded: loaded (/usr/lib/systemd/system/wonrowl_proxy.service; enabled; vendor preset: disabled)    Active: inactive (dead) since Thu 2020-10-08 15:07:39 CST; 2s ago   Process: 1566 ExecStop=/root/wonrowl_proxy/stop.sh (code=exited, status=0/SUCCESS)   Process: 577 ExecStart=/root/wonrowl_proxy/start.sh (code=exited, status=0/SUCCESS)  Main PID: 580 (code=killed, signal=TERM)

    Oct 08 14:58:56 hecs-x-medium-2-linux-20201005162808 systemd[1]: Starting wonrowl proxy install as service test... Oct 08 14:58:56 hecs-x-medium-2-linux-20201005162808 systemd[1]: Started wonrowl proxy install as service test. Oct 08 15:07:39 hecs-x-medium-2-linux-20201005162808 systemd[1]: Stopping wonrowl proxy install as service test... Oct 08 15:07:39 hecs-x-medium-2-linux-20201005162808 systemd[1]: Stopped wonrowl proxy install as service test.  

     

     

    此时虽然建立服务成功,但是并没有具备开机自动的功能,通过 systemctl enable wonrowl_proxy  添加开机自启动

    [root@hecs-x-medium-2-linux-20201005162808 wonrowl_proxy]# systemctl enable wonrowl_proxy Created symlink from /etc/systemd/system/default.target.wants/wonrowl_proxy.service to /usr/lib/systemd/system/wonrowl_proxy.service.

     

    直接reboot

     

    重启后  systemctl status wonrowl_proxy

     

    [root@hecs-x-medium-2-linux-20201005162808 wonrowl_proxy]# systemctl status wonrowl_proxy ● wonrowl_proxy.service - wonrowl proxy install as service test    Loaded: loaded (/usr/lib/systemd/system/wonrowl_proxy.service; enabled; vendor preset: disabled)    Active: active (running) since Thu 2020-10-08 15:09:40 CST; 4s ago   Process: 1650 ExecStop=/root/wonrowl_proxy/stop.sh (code=exited, status=0/SUCCESS)   Process: 1658 ExecStart=/root/wonrowl_proxy/start.sh (code=exited, status=0/SUCCESS)  Main PID: 1659 (tcp_proxy)    CGroup: /system.slice/wonrowl_proxy.service            └─1659 /root/wonrowl_proxy/tcp_proxy -l 20011 -r 182.61.145.146 -p 20011

    Oct 08 15:09:40 hecs-x-medium-2-linux-20201005162808 systemd[1]: Starting wonrowl proxy install as service test... Oct 08 15:09:40 hecs-x-medium-2-linux-20201005162808 systemd[1]: Started wonrowl proxy install as service test.

     

    可以看到已经自己运行,添加开机启动成功

     

    收工

    Processed: 0.016, SQL: 9