美文网首页
源码安装 系统服务

源码安装 系统服务

作者: _str_ | 来源:发表于2019-08-03 13:57 被阅读0次

    ln -s 创建一个软链接
    ln 加文件名 创建一个硬链接 inode节点一样

    源码安装

    获取源码包途径

    官方网站,可以获取最新的软件包

    可在虚拟机里面直接下载
    可以在yum源里下载
    [root@localhost ~]# yum install gcc 编译需要
    [root@localhost ~]# yum install wgest
    [root@localhost ~]# wget http://nginx.org/download/nginx-1.16.0.tar.gz
    这是下载nginx压缩包到本地目录下
    可能会需要几个依赖包
    [root@localhost ~]# yum -y install pcre pcre-devel zlib-devel openssl-devel
    [root@localhost ~]# tar -xf nginx-1.16.0.tar.gz -C /usr/loacl/src
    将压缩包解压到/usr/local/src下面
    [root@localhost ~]# ls
    [root@localhost ~]# nginx-1.16.0
    [root@localhost ~]# cd nginx-1.16.0
    [root@localhost ~]# ./configure
    --user=www
    --group=www
    --prefix=/usr/local/nginx
    --with-http_stub_status_module
    --with-http_sub_module
    --with-http_ssl_module
    --with-pcre
    这一步是进行配置文件 后面一定要指定好路径
    [root@localhost ~]# make && make install
    这步就是编译安装了
    ** make -j cpu核心数 **

    系统服务

    后台服务

    工作任务

    首先建立一个.sh文件

    [root@localhost ~]vim a.sh
    while true
    do
       echo "$(date +%s) I love her" >> /root/bin/love.txt
       sleep 3
    done
    #相当于编写了一个脚本文件
    

    运行的命令是

    sh .a.sh   # 文件里面会有软链接到什么的文件 执行成功后会产生相应的文件
    

    此时的时候这个程序是卡在当前终端的,在前台运行的 如果不终止这个程序的话就无法执行别的命令了
    ctrl + z 把这个程序放到后台

    jobs 命令能查看当前后台的工作任务

    执行这个jobs命令后会出来一个 工作号
    fg%工作号可以让后台的工作任务调到前台继续进行
    bg%工作号会让后天处于停止状态的任务继续运行于后台
    使用下面命令可以让程序一开始就在后台运行

    sh  a.sh &
    

    杀死进程

    通过查找这个a.sh的进程号
    ps aux |grep a.sh
    kill -15 进程号
    

    系统服务的时候可以通过写个love.service写到/etc/systemd/system下面通过systemctl start 来启动这个服务

    daemon 守护进程

    在 CentOS7 中是 systemd, CentOS5/6 是 init。
    服务的启动、关闭与观察等方式:
    启动:/etc/init.d/daemon start
    关闭:/etc/init.d/daemon stop
    重新启动:/etc/init.d/daemon restart
    查看状态:/etc/init.d/daemon status
    Linux中的七个等级
    0 关机
    1 单用户模式(root)
    3 带网络服务的多用户纯文本模式
    5 图形界面
    6 重启
    指定默认启动的服务

    chkconfig  --list   // 查看所有的服务运行级级别的状态 
    chkconfig   --level  3  mysqld  off  // 设置 mysqld 服务在运行级别 3 默认不启动
    chkconfig  --level   3 5  mysqld  on   // 设置 mysqld  服务在运行级别 3 和 5 中默认启动
    

    centos7 中的 systemd

    systemd的配置文件放置目录

    配置文件都放在下面的路径中

    /usr/lib/systemd/system/
    每个服务最主要的启动脚本设置,有点类似以前的 /etc/init.d 下面的文件;

    /run/systemd/system/
    系统执行过程中所产生的服务脚本,这些脚本的优先序要比 /usr/lib/systemd/system/ 高!

    /etc/systemd/system/
    管理员依据主机系统的需求所创建的执行脚本,其实这个目录有点像以前 /etc/rc.d/rc5.d/Sxx 之类的功能!执行优先序又比 /run/systemd/system/ 高!

    systemctl管理服务

    命令语法

    command 主要有:
    status    :查看这个 unit 的状态!
    start     :立刻启动
    stop      :立刻停止
    restart   :先执行 stop 再执行 start 的意思
    enable    :设置下次开机时,启动后面接的 unit 
    disable   :设置下次开机时,不启动后面接的 unit
    reload    :不关闭后面接的 unit 的情况下,重新载入配置文件,让设置生效
    

    查看服务的状态

    systemctl status x.service
    

    通过查看active的状态来看这个服务的状态

    有三个状态:active(running) 正在运行
    active(exited) 执行一次就正常结束的服务
    active(waiting) 正在执行当中,不过还在等待其他的事件才能继续处理

    关于dameon的默认状态

    enabled:这个 daemon 将在开机时被执行
    disabled:这个 daemon 在开机时不会被执行
    mask:这个 daemon 无论如何都无法被启动!因为已经被强制注销 (非删除)。可通过 systemctl unmask 方式改回原本状态
    static:这个 daemon 不可以自己启动 (enable 不可),不过可能会被其他的 enabled 的服务来唤醒 (相依属性的服务)

    查看系统服务和端口

    head  -50   /etc/services
    

    systemctl 配置文件

    配置文件中大概能够将整个设置分为三个部份,就是:

    [Unit]
    unit 本身的说明,以及与其他相依 daemon 的设置,包括在什么服务之后才启动此 unit 之类的设置值;

    [Service], [Socket], [Timer], [Mount], [Path]..
    不同的 unit type 就得要使用相对应的设置项目。
    我们拿的是 sshd.service 来当范本,所以这边就使用 [Service] 来设置。 这个项目内主要在规范服务启动的脚本、环境配置文件文件名、重新启动的方式等等。

    [Install]
    这个项目就是将此 unit 安装到哪个 target 里面去的意思!

    相关文章

      网友评论

          本文标题:源码安装 系统服务

          本文链接:https://www.haomeiwen.com/subject/eqgarctx.html