精华内容
下载资源
问答
  • Linux Systemd 简介

    千次阅读 2017-06-13 15:45:26
    systemdlinux下的一款系统和服务管理器,为什么要使用systemd ? 在rpm包二进制方式安装linux软件中,使用init守护进程进行服务状态的管理或者 使用service命令 例如启动Mysql数据库可以是 /etc/init.d/mysql ...

      systemd是linux下的一款系统和服务管理器,为什么要使用systemd ? 在rpm包二进制方式安装的linux软件中,使用init守护进程进行服务状态的管理或者 使用service命令 例如启动Mysql数据库可以是 /etc/init.d/mysql start 或者service mysql start.

    使用linux init进程进行管理服务的时候有两个缺点:

      1.init系统进程是串行执行的,也就是同步的 ,只有前一个进程启动完成,才会启动下一进程。

      2.启动脚步复杂,init进程是只执行启动脚步,不管其他的任务

    使用Systemd优点:

      1.Systemd支持并行化任务,

       2.同时采用socket于D-Bus总线式激活服务,按需启动守护进程(daemon)

    在新版的Linux系统中都在使用sytemd 进行管理 例如(Ubuntu 16、Debian 8、CentOS 7)

    具体的操作sytemd命令使用参考 阮一峰 http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-commands.html

    Systemd介绍https://wiki.archlinux.org/index.php/systemd_(简体中文)

    https://www.freedesktop.org/wiki/Software/systemd/

    展开全文
  • 文章目录Linux 使用systemd创建tomcat自启动服务一、 为什么使用systemd而不是chkconfig1.1 `init`1.2 `systemd` `systemctl`二、 使用systemd配置tomcat2.1 定义启动脚本2.2 启用服务2.3 查看服务2.4 查看服务运行...

    Linux 使用systemd创建tomcat自启动服务

    操作环境:

    ubuntu: 20.04 LTS
    tomcat: 9.0.43 使用压缩包解压方式安装
    tomcat 安装目录: /usr/local/apache-tomcat-9.0.34

    一、 为什么使用systemd而不是chkconfig

    • chkconfig 管理的是系统服务, 默认是对init进程的服务的管理工具。在本文的操作环境并没有找到chkconfig 指令。
    • init 是相对较早的系统启动时的守护进程启动方式。

    1.1 init

    init的启动列表定义在/etc/init.d 文件中, 而文件中所链接的具体启动文件在 /etc/init.d/ 文件夹中。
    如tomcat 如果使用init方式定义启动服务,启动文件则在/etc/init.d/tomcat文件中, 具体查看 https://blog.csdn.net/qq_27843945/article/details/83059436

    1.2 systemd systemctl

    • systemd 是一种init的进化产品,大部分Linux发行版本都支持。 与 init的对比可以点击Systemd 入门教程:命令篇
    • systemd 配置自启动时配置文件在usr/lib/systemd/system/ 文件夹下。
    • systemctl 为管理 systemd的工具。

    二、 使用systemd配置tomcat

    2.1 定义启动脚本

    $ vi usr/lib/systemd/system/tomcat.service
    
    [Unit]
    Description=tomcat
    After=network.target
    
    [Service]
    Type=forking
    ExecStart=/usr/local/apache-tomcat-9.0.34/bin/startup.sh
    ExecReload=
    ExecStop=/usr/local/apache-tomcat-9.0.34/bin/shutdown.sh
    PrivateTmp=true
    
    [Install]
    WantedBy=multi-user.target
    

    2.2 启用服务

    $ systemctl enable tomcat
    

    2.3 查看服务

    $ systemctl list-unit-files --type=service | grep tomcat
    tomcat.service                         disabled         enabled
    

    2.4 查看服务运行状态

    $ systemctl status tomcat
    tomcat.service - tomcat
         Loaded: loaded (/lib/systemd/system/tomcat.service; enabled; vendor preset: enabled)
         Active: active (running) since Thu 2021-03-04 14:36:14 CST; 1h 4min ago
        Process: 898 ExecStart=/usr/local/tomcat/apache-tomcat-9.0.43/bin/startup.sh (code=exited, status=0/SUCCESS)
       Main PID: 957 (java)
    
    

    其中 Activeactive (running) 表示正在运行。表示服务添加成功。

    2.5 重启电脑试试看

    $ reboot
    

    引用

    [1] Linux chkconfig命令 https://www.runoob.com/linux/linux-comm-chkconfig.html
    [2] Linux init、service、systemctl 三者区别 https://segmentfault.com/a/1190000038458363
    [3] systemctl 命令完全指南 https://linux.cn/article-5926-1.html
    [4] Systemd 添加自定义服务(开机自启动) 注释进行说明 https://www.cnblogs.com/jhxxb/p/10654554.html
    [5] Linux添加systemd服务,使用systemctl start xxx启动服务
    https://blog.csdn.net/masteryee/article/details/83689990

    展开全文
  • 针对Linux 运维来说,养成必要的、良好的习惯来说至关重要,目前科技技术的更新层次不齐,更新的速度都大不相同,所以在Linux 的世界里,我们在安装任何服务,任何应用的之前,都应该查询当前系统版本、系统内核情况...

     

    针对Linux 运维来说,养成必要的、良好的习惯来说至关重要,目前科技技术的更新层次不齐,更新的速度都大不相同,所以在Linux 的世界里,我们在安装任何服务,任何应用的之前,都应该查询当前系统版本、系统内核情况,防止因差异化导致服务无法正常使用。

    • # cat /etc/redhat-release
      • CentOS Linux release 7.7.1908 (Core)
    • #uname -a
      • Linux test 3.10.0-957.21.3.el7.x86_64 #1 SMP Tue Jun 18 16:35:19 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

     

    接下来,我们进入今天的主题,编译安装Httpd 和添加 systemd服务。

     

    1、准备依赖环境

    • # yum -y install pcre-devel
    • # yum -y install openssl-devel
    • # yum -y groupinstall "Development Tools"

    2、arp-util安装的依赖包

    • # yum install expat-devel

    3、编译安装apr-1.7.0

    • # wget http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-1.7.0.tar.gz
    • # tar xf apr-1.7.0.tar.gz
    • # cd apr-1.7.0
    • # ./configure -prefix=/usr/local/apr(执行时,可能会报rm: cannot remove `libtoolT': No such file or directory )
    • # make && make install

    4、编译安装apr-util-1.6.1

    • # wget http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-util-1.6.1.tar.gz
    • # tar xf apr-util-1.6.1.tar.gz
    • # cd apr-util-1.6.1
    • # ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/
    • # make && make install

    5、编译安装httpd-2.4.41

    • # wget http://mirror.bit.edu.cn/apache//httpd/httpd-2.4.41.tar.gz
    • # tar xf httpd-2.4.41.tar.gz
    • # cd httpd-2.4.41
    • # ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modeles=most --enable-mpms-shared=all
    • # make && make install

     

    注意事项:apache 2.4版本之后,MPM(Multipath Processing Moules)使用多路处理模块,一共有三种工作模型,默认prefork,通过--with-mpm来指定configure编译模型,比如worke模型:--with-mpm=worker

    • prefork模型:是两级进程模型,由父进程负责生成和管理多个子进程,每个子进程负责响应一个用户的请求。
    • worker模型:是三级进程模型,由父进程生成和管理多个子进程,每个子进程又生成多个线程,由每一个线程来响应一个用户的请求。
    • event模型:是二级进程模型,由父进程生成和管理多个子进程,每个子进程又通过事务(event-driven)机制直接响应多个用户请求。

     

     

    6、启动httpd

    启动之前,关于httpd服务如何加入systemctl并设置开机启动的话题,我们先来准备相关内容;

    1)编写启动脚本:vim httpd

    #!/bin/bash

    # chkconfig: 12345 80 90 function start_http(){ /usr/local/apache/bin/apachectl start } function stop_http(){ /usr/local/apache/bin/apachectl stop } case "$1" in start) start_http ;; stop) stop_http ;; restart) stop_http start_http ;; *) echo "Usage : start | stop | restart" ;; esac

     

    PS: 经实践检验,该httpd的shell脚本,的restart启动指令还在一定不足,会导致服务重启失败,直接active(exit)状态;处理方式分别执行systemctl stop httpd和systemctl start httpd 命令,先停后启的原则!后续有时间在优化该脚本!!!

    2)加入系统服务

    • # chmod a+x httpd
    • # cp -arf httpd /etc/init.d/

    3)启动编写的httpd服务

    • # systemctl daemon-reload
    • # systemctl start httpd

    4)设置开机启动

    • # chkconfig --add httpd

    7、httpd的安装目录结构说明

    • /etc/httpd/ : 配置文件的主目录,在编译安装./configure时候指定的--sysconfdir可以根据需要更换
      • extra : 子配置文件
      • httpd.conf : 主配置文件
      • magic
      • mime.type
      • original
    • /usr/local/apache/ : Apache 的安装服务的主目录
      • bin : apache 的 命令文件
      • build
      • cgi-bin
      • error
      • htdocs
      • icons
      • include
      • logs
      • man
      • manual
      • modules : apache的LoadModule的so文件

     

     

     

     

     

     

     

    展开全文
  • Centos7安装tomcat-859并配置systemd服务安装JDK 二安装tomcat-859和jsvc 三建立tomcat用户并分配目录 四编辑systemd服务单元 五添加tomcat为自启动服务Centos7安装tomcat-8.5.9并配置systemd服务一.安装JDK.到...


    Centos7安装tomcat-8.5.9+jsvc并配置systemd服务

    一.安装JDK.

    重要:tomcat-8.5.9依赖jre7以及以上版本,jdk包含了jre.

    到oracle网站下载jdk8,linux的64位rpm版.
    [root#]rpm -ivh jdk-8u111-linux-x64.rpm

    提示:jdk安装后位于/usr/java/目录内,default和latest都是软链接到实际目录。

    二.安装tomcat-8.5.9和jsvc.

    2.1.到tomcat网站下载tomcat-8.5.9,Core里面的tar.gz版.
    [root#]mkdir /opt/apache/
    [root#]tar xvf apache-tomcat-8.5.9.tar.gz -C /opt/apache/

    2.2.编译安装jsvc.

    编译前需要先安装好gcc,autoconf和jdk。
    [root#]yum install gcc autoconf

    进入${CATALINA_BASE}/bin目录下,
    [root#] cd /opt/apache/apache-tomcat-8.5.9/bin/

    解压文件,
    [root#] tar xf commons-daemon-native.tar.gz

    编译安装jsvc

    -with-java=/usr/java/latest 指定了jdk的路径.

    [root#] cd commons-daemon-1.0.15-native-src/unix/
    [root#] ./configure –with-java=/usr/java/latest
    [root#] make
    [root#] cp jsvc ../..

    三.添加tomcat用户,并分配目录.

    tomcat的daemon.sh默认以tomcat用户启动,所以需要先添加tomcat.

    [root#]useradd tomcat -s /sbin/nologin -M
    [root#]chown -R tomcat /opt/apache/apache-tomcat-8.5.9

    四.添加systemd服务单元.添加tomcat为自启动服务.

    [root#]vi /etc/systemd/system/tomcat.service

    加入如下内容:

    [Unit]
    Description=Apache Tomcat Web Application Container
    After=network.target remote-fs.target nss-lookup.target
    
    [Service]
    Type=forking
    Environment=JAVA_HOME=/usr/java/latest
    Environment=CATALINA_HOME=/opt/apache/apache-tomcat-8.5.9
    Environment=CATALINA_BASE=/opt/apache/apache-tomcat-8.5.9
    
    ExecStart=/opt/apache/apache-tomcat-8.5.9/bin/daemon.sh start
    ExecStop=/opt/apache/apache-tomcat-8.5.9/bin/daemon.sh stop
    
    [Install]
    WantedBy=multi-user.target

    输入:wq保存。

    下面,设置tomcat为自启动,然后启动tomcat服务。

    [root#]systemctl daemon-reload
    [root#]systemctl enable tomcat
    [root#]systemctl start tomcat
    [root#]systemctl status tomcat

    使用本机浏览器打开http://localhost:8080/测试。


    五.重要说明:

    1).tomcat正常运行需要设置以下环境变量:

    • JAVA_HOME(必须),
    • JRE_HOME(可选)
    • CATALINA_HOME(必须)
    • CATALINA_BASE(可选)

    本文tomcat.service内已经将环境变量设置好。如果不想在service单元内设置,可以在
    daemon.sh里面设置JAVA_HOME和CATALINA_HOME,添加在# OS specific support (must be 'true' or 'false').这一行前面。

    也可以在daemon.sh的命令行参数里面设置,如下:

    ExecStart=/opt/apache/apache-tomcat-8.5.9/bin/daemon.sh  --java-home  /usr/java/latest  --catalina-home  /opt/apache/apache-tomcat-8.5.9 start

    2).关于setenv.sh
    ${CATALINA_HOME}/bin/setenv.sh里面不可以设置CATALINA_HOME和CATALINA_BASE,因为setenv.sh是需要在这两个环境变量存在的情况下,定位路径。

    3).systemd运行shell脚本的环境变量不是从/etc/profile里面读取。详情可参考systemd文档,以及bash文档。


    参考资料:
    1.http://blog.csdn.net/xiaobaoxiaodun/article/details/53539680
    2.https://www.digitalocean.com/community/tutorials/how-to-install-apache-tomcat-8-on-centos-7
    3.http://tomcat.apache.org/tomcat-8.5-doc/setup.html

    展开全文
  • 拿一个 USB 摄像头,然后只需插入它即可自动启动监视系统。如果这个电脑棒重启后发现连接了摄像头也启动监视系统就更加...它很小且安静,由于它是基于 x86 架构的,因此我为我的打印机安装驱动没有任何问题,而且这...
  • 系统服务管理工具systemd是为了便于linux用户操作系统服务的管理,systemd提供了systemctl命令工具进行systemd的各项操作。 Systemd的版本 systemd --version systemd和systemctl的二进制文件和库的安装位置 where...
  • 1、简述systemd的新特性及unit常见类型分析,能够实现编译安装的如nginx\apache实现通过systemd来管理Systemd的新特性: 系统引导时实现服务并行启动; 按需激活进程; 系统状态快照; 基于依赖关系定义服务控制...
  • 1、 简述systemd的新特性及unit常见类型分析,能够实现编译安装的如nginx\apache实现通过systemd来管理 Systemd的新特性: 系统引导时实现服务并行启动; 按需激活进程; 系统状态快照; 基于依赖关系定义服务...
  • Linux 安装zookeeper linux 安装配置zookeeper 当然,还有本篇的试错篇 【rpc配置】zookeeper在linux下的单机配置【草稿版】 因为本篇是正式归纳篇。 配置 从官网下载: sudo wget http://mirror.bit.e...
  • Linux中使用systemd挂载文件系统

    千次阅读 2014-12-28 20:40:08
    在RHEL7和其他Linux 版本中引进的Linux systemd,不仅可以关闭与开启服务,在安装好RHEL7服务器之后,你也许会对/etc/fstab这个目录感兴趣,这个文件用于管理整个文件系统挂载,刚安装时它几乎是空的,在文件中
  • Systemd是一种新的linux系统服务管理器。 它替换了init系统,能够管理系统的启动过程和一些系统服务,一旦启动起来,就将监管整个系统。在本文中,我们用的是安装systemd 216 版本的centos 7.0,其最新版本...
  • 假如你用的不是很老版本的unix系统,那么你一定对systemd不甚陌生。 查看服务:systemctl status servicename 停止服务:systemctl stop servicename ...需要安装么?为什么在开篇要提到版本差异? system...
  • OS:CentOS Linux release 7.6.1810 (Core) nginx:1.16.0 安装 下载源码包 $ wget http://nginx.org/download/nginx-1.16.0.tar.gz 安装依赖包 $ yum -y install gcc make pcre pcre-devel openssl openssl-...
  • 1、简述systemd的新特性及unit常见类型分析,能够实现编译安装的如nginx\apache实现通过systemd来管理 针对CentOS7系列的systemd是一种init软件,用于管理服务与程序;CentOS5有SysV,而6有Upstart;其7和5、6的...
  • 使用systemd管理MySQL服务器

    千次阅读 2020-01-08 16:28:03
    文章目录系统概述1. 为Mysql配置systemd2. 使用systemd配置多个MySQL实例3....如果在以下Linux平台上使用RPM或Debian软件包安装MySQL,则服务器的启动和关闭由systemd管理: RPM 包平台: 企业版Linux 7变体...
  • Systemd是一种新的linux系统服务管理器。它替换了init系统,能够管理系统的启动过程和一些系统服务,一旦启动起来,就将监管整个系统。在本文中,我们用的是安装systemd 216 版本的centos 7.0,其最新版本可以从 ...
  • 【转贴】sparkdev大神的博客, 关于 systemd的配置文件的 介绍, 自己之前二进制安装 k8s 时 超过一个 service文件 但是当时不明不白的。 现在再学习一下大神的文章 的确牛B 。 systemd 编写服务管理脚本 ...
  • 进入/ets/systemd/system新建一个文件 cd /ets/systemd/system vi serviceName.service 写入下面的命令 [Unit] Description=程序描述 After=syslog.target network.target [Service] Type=simple ExecStart=/...
  • 例如:/usr/local/dmstomcattomcat做成系统服务把tomcat做成系统服务,就可以使用service systemctl 快速管理tomcat服务,自启动等。操作步骤/usr/lib/systemd/system/目录下新建文件dmstomcat.servicev...
  • 最近测试环境服务器,重启后发现有一些没有通过Docker安装的中间件,在启动后没有起起来,于是乎就自己写了一个linux系统服务,好了,废话不多说,直接上内容,这里我们以sharding-proxy为例: 创建Linux服务文件 ...
  • 例如:/usr/local/dmstomcattomcat做成系统服务把tomcat做成系统服务,就可以使用service systemctl 快速管理tomcat服务,自启动等。操作步骤/usr/lib/systemd/system/目录下新建文件dmstomcat.servicev...
  • Systemd是一种新的linux系统服务管理器。 它替换了init系统,能够管理系统的启动过程和一些系统服务,一旦启动起来,就将监管整个系统。在本文中,我们用的是安装systemd 216 版本的centos 7.0,其最新版本可以从...
  • centos7使用systemd管理supervisor...背景 : 已安装supervisor 正常用命令行启动和关闭supervisor服务 效果为 用命令$ systemctl start 自定义服务名.service 启动supervisor服务 ; 且可实现supervisor服务开启自...
  • 八周一次课(5月11日)10.23 linux任务计划cron10.24 chkconfig工具10.25 systemd管理服务10.26 unit介绍10.27 target介绍扩展1. anacronhttp://blog.csdn.net/strikers1982/article/details/47872262. xinetd服...

空空如也

空空如也

1 2 3 4 5 ... 17
收藏数 331
精华内容 132
关键字:

linuxsystemd服务安装

linux 订阅