zoukankan      html  css  js  c++  java
  • centos8自定义目录安装nginx

    1.安装工具和库

    # PCRE是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式
    
    # zlib库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip
    
    yum -y install gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
    
    

    2.目录结构

    源码目录:/home/werben/pkgsrc/nginx
    安装目录:/home/werben/application/nginx
    

    3.下载解压源码

    # 官网地址: https://nginx.org/en/download.html
    wget -c https://nginx.org/download/nginx-1.17.5.tar.gz
    
    

    4.创建用户组和用户

    groupadd www
    useradd -g www www
    

    5.编译源码

    ./configure --user=www --group=www --prefix=/home/werben/application/nginx --with-http_v2_module --with-http_ssl_module --with-http_sub_module --with-http_stub_status_module --with-http_gzip_static_module --with-http_flv_module --with-http_mp4_module --with-pcre
    
    make && make install
    

    6.映射全局命令

    ln -s /home/werben/application/nginx/sbin/nginx /usr/local/bin/nginx
    

    7.启动,停止,重启

    nginx -s stop
    nginx -s quit
    ngins -s reload
    

    8.检测配置文件nginx.conf正确性

    nginx  -t
    

    9.开机自启动

    vim /lib/systemd/system/nginx.service
    
    [Unit]
    Description=nginx
    After=network.target
    
    [Service]
    Type=forking
    ExecStart=nginx
    ExecReload=nginx reload
    ExecStop=nginx quit
    PrivateTmp=true
    
    [Install]
    WantedBy=multi-user.target
    
    #重新加载守护进程
    systemctl daemon-reload
    
    #启动nginx服务
    systemctl start nginx.service
    #停止nginx服务
    systemctl stop nginx.service
    #设置开机自启动
    systemctl enable nginx.service
    #停止开机自启动
    systemctl disable nginx.service
    #查看服务当前状态
    systemctl status nginx.service
    #重新启动服务
    systemctl restart nginx.service
    #查看所有已启动的服务
    systemctl list-units --type=service
    

    10.出现问题和解决方法

    #如果`systemctl start nginx.service`提示如下报错
    
    Job for nginx.service failed because the control process exited with error code.
    See "systemctl status nginx.service" and "journalctl -xe" for details.
    
    #执行
    systemctl status nginx.service
    #如果出现如下错误
        Process: 35783 ExecStart=...nginx/sbin/nginx(code=exitedstatus=203/EXEC)
        nginx.service: Control process exited, code=exited status=203
        systemd[1]: nginx.service: Failed with result 'exit-code'.
        localhost.localdomain systemd[1]: Failed to start nginx.
    
    
    journalctl -xe
    
    #如果看到如下信息          
        If you believe that systemd should be allowed execute access on the>
        Then you should report this as a bug.
        You can generate a local policy module to allow this access.
        Do allow this access for now by executing:
        # ausearch -c '(nginx)' --raw | audit2allow -M my-nginx
        # semodule -X 300 -i my-nginx.pp
    
    
    #解决方法
    setenforce 0
    vim /etc/selinux/config
    SELINUX=disabled
    
  • 相关阅读:
    分布式事务--AT+TCC
    Java基础面试题
    JVM问题
    集合问题
    线程问题
    微服务面试题
    【入职准备】安装STS以及整合maven
    事务----四大特性
    html小知识--创建表单
    通过css润色html表格
  • 原文地址:https://www.cnblogs.com/werben/p/11833883.html
Copyright © 2011-2022 走看看