• 二进制编译安装nginx并加入systemctl管理服务


    一、安装nginx所需环境

    # yum install gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel -y

    二、安装nginx

    ① 下载nginx

    # wget -c https://nginx.org/download/nginx-1.12.1.tar.gz

    ② 解压

    # tar -zxvf nginx-1.17.0.tar.gz
    # cd nginx-1.17.0

     ③ 使用默认配置

    # ./configure

    ④ 编译、安装

    # make
    # make install

    ⑤ 启动nginx

    # cd /usr/local/nginx/sbin/
    # ./nginx 
    
    其它命令
    # ./nginx -s stop
    # ./nginx -s quit
    # ./nginx -s reload

    三、加入systemctl管理服务

    1、 进入到  /usr/lib/systemd/system 目录下,编辑文件 nginx.service

    # cd /usr/lib/systemd/system
    # vi nginx.service

    2、在nginx.service文件中加入以下代码

    [Unit]
    Description=nginx
    After=network.target
      
    [Service]
    Type=forking
    ExecStart=/usr/local/nginx/sbin/nginx
    ExecReload=/usr/local/nginx/sbin/nginx -s reload
    ExecStop=/usr/local/nginx/sbin/nginx -s quit
    PrivateTmp=true
      
    [Install]
    WantedBy=multi-user.target

    参数说明:

    注意:[Service]的启动、重启、停止命令全部要求使用绝对路径

    [Unit]:服务的说明
    Description:描述服务
    After:描述服务类别
    [Service]服务运行参数的设置
    Type=forking是后台运行的形式
    ExecStart为服务的具体运行命令
    ExecReload为重启命令
    ExecStop为停止命令
    PrivateTmp=True表示给服务分配独立的临时空间
    [Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3

    3、设置开机启动

    # systemctl enable nginx.service

    4、取消开机自启动

    # systemctl disable nginx.service

    5、其他命令

    启动nginx服务

    # systemctl start nginx.service 

    查看服务当前状态

    # systemctl status nginx

    [root@localhost system]# systemctl status nginx
    ● nginx.service - The nginx HTTP and reverse proxy server
       Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
       Active: active (running) since Sat 2019-03-23 07:08:49 CST; 7s ago
      Process: 18942 ExecStart=/usr/local/nginx/sbin/nginx (code=exited, status=0/SUCCESS)
     Main PID: 18943 (nginx)
       CGroup: /system.slice/nginx.service
               ├─18943 nginx: master process /usr/local/nginx/sbin/nginx
               └─18944 nginx: worker process
    
    Mar 23 07:08:49 localhost.localdomain systemd[1]: Starting The nginx HTTP and reverse proxy server...
    Mar 23 07:08:49 localhost.localdomain systemd[1]: Started The nginx HTTP and reverse proxy server.

    停止nginx服务

    # systemctl stop nginx

    重新启动服务

    # systemctl restart nginx

    查看所有已启动的服务

    # systemctl list-units --type=service

    [root@localhost ~]# systemctl list-units --type=service
    UNIT                               LOAD   ACTIVE SUB     DESCRIPTION
    auditd.service                     loaded active running Security Auditing Service
    crond.service                      loaded active running Command Scheduler
    dbus.service                       loaded active running D-Bus System Message Bus
    getty@tty1.service                 loaded active running Getty on tty1
    kdump.service                      loaded active exited  Crash recovery kernel arming
    kmod-static-nodes.service          loaded active exited  Create list of required static device nodes for the current kernel
    lvm2-lvmetad.service               loaded active running LVM2 metadata daemon
    lvm2-monitor.service               loaded active exited  Monitoring of LVM2 mirrors, snapshots etc. using dmeventd or progress polling
    lvm2-pvscan@8:2.service            loaded active exited  LVM2 PV scan on device 8:2
    mariadb.service                    loaded active running MariaDB database server
    network.service                    loaded active exited  LSB: Bring up/down networking
    NetworkManager.service             loaded active running Network Manager
    nginx.service                      loaded active running The nginx HTTP and reverse proxy server
    polkit.service                     loaded active running Authorization Manager
    postfix.service                    loaded active running Postfix Mail Transport Agent
    rhel-dmesg.service                 loaded active exited  Dump dmesg to /var/log/dmesg
    rhel-import-state.service          loaded active exited  Import network configuration from initramfs
    rhel-readonly.service              loaded active exited  Configure read-only root support
    rsyslog.service                    loaded active running System Logging Service
    sshd.service                       loaded active running OpenSSH server daemon
    systemd-journal-flush.service      loaded active exited  Flush Journal to Persistent Storage
    systemd-journald.service           loaded active running Journal Service
    systemd-logind.service             loaded active running Login Service
    systemd-random-seed.service        loaded active exited  Load/Save Random Seed
    systemd-remount-fs.service         loaded active exited  Remount Root and Kernel File Systems
    systemd-sysctl.service             loaded active exited  Apply Kernel Variables
    systemd-tmpfiles-setup-dev.service loaded active exited  Create Static Device Nodes in /dev
    systemd-tmpfiles-setup.service     loaded active exited  Create Volatile Files and Directories
    systemd-udev-trigger.service       loaded active exited  udev Coldplug all Devices
    systemd-udevd.service              loaded active running udev Kernel Device Manager
    systemd-update-utmp.service        loaded active exited  Update UTMP about System Boot/Shutdown
    systemd-user-sessions.service      loaded active exited  Permit User Sessions
    systemd-vconsole-setup.service     loaded active exited  Setup Virtual Console
    tuned.service                      loaded active running Dynamic System Tuning Daemon
    wpa_supplicant.service             loaded active running WPA Supplicant daemon
    
    LOAD   = Reflects whether the unit definition was properly loaded.
    ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
    SUB    = The low-level unit activation state, values depend on unit type.
    
    35 loaded units listed. Pass --all to see loaded but inactive units, too.
    To show all installed unit files use 'systemctl list-unit-files'.
    [root@localhost ~]#

    参考博客:https://blog.csdn.net/qq_36441027/article/details/80636526

  • 相关阅读:
    【Android】给Android Studio设置代理
    Android studio如何使用SVN进行版本控制?
    Android studio
    nohup java -jar 启动java项目
    Linux命令发送Http GET/POST请求
    Java 读取配置文件的几种方式
    java -jar 报错 Error: A JNI error has occurred, please check your installation and try again
    java.net 发送http请求
    textarea高度自适应
    webrtc切换媒体设备
  • 原文地址:https://www.cnblogs.com/djlsunshine/p/11255709.html
Copyright © 2020-2023  润新知