zoukankan      html  css  js  c++  java
  • linux下编译安装nginx

    1、下载nginx稳定版本

    首先官网nginx的最新稳定版本。地址为http://nginx.org/en/download.html

    2、开始进行编译安装

    (1)首先安装依赖包,直接yum安装

    yum install gcc gcc-c++ automake pcre pcre-devel zlib zlib-devel openssl openssl-devel 

    (2)解压并进行编译安装

    [root@zabbix-server ~]# tar -zxvf nginx-1.18.0.tar.gz
    [root@zabbix-server ~]# cd nginx-1.18.0
    [root@zabbix-server nginx-1.18.0]# ls
    auto     CHANGES.ru  configure  html     Makefile  objs    src
    CHANGES  conf        contrib    LICENSE  man       README

    此时可以创建一个nginx用户
    useradd -s /sbin/nologin -M nginx

    创建安装的目录

    [root@zabbix-server ~]# mkdir /usr/local/nginx

    [root@zabbix-server ~]#./configure --prefix=/usr/local/nginx  --sbin-path=/usr/local/nginx/sbin/nginx --conf-path=/usr/local/nginx/conf/nginx.conf --error-log-path=/var/log/nginx/error.log 
    --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module
    --with-http_gzip_static_module --http-client-body-temp-path=/var/tmp/nginx/client/ --http-proxy-temp-path=/var/tmp/nginx/proxy/ --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/
    --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi --http-scgi-temp-path=/var/tmp/nginx/scgi --with-pcre

     生成脚本及配置文件开始make,结果如下

     再进行安装 make install

     此时基本编译安装完成,会在/usr/local/nginx里生成相应的目录。

    conf:保存nginx所有的配置文件,其中nginx.conf是nginx服务器的最核心最主要的配置文件,其他的.conf则是用来配置nginx相关的功能的,例如fastcgi功能使用的是fastcgi.conf和fastcgi_params两个文件,
    配置文件一般都有个样板配置文件,是文件名.default结尾,使用的使用将其复制为并将default去掉即可。 html目录中保存了nginx服务器的web文件,但是可以更改为其他目录保存web文件,另外还有一个50x的web文件是默认的错误页面提示页面。 logs:用来保存nginx服务器的访问日志错误日志等日志,logs目录可以放在其他路径,比如
    /var/logs/nginx里面。 sbin:保存nginx二进制启动脚本,可以接受不同的参数以实现不同的功能。

    3、启动、设置服务、配置开机自动启动

    [root@zabbix-server ~]# /usr/local/nginx/sbin/nginx 启动nginx
    启动可能会出现以下错误
    1、nginx: [emerg] getpwnam("nginx") failed ---这是由于没有创建nginx用户
    2、nginx: [emerg] mkdir() "/var/tmp/nginx/client/" failed (2: No such file or directory) ---按照说明,在/var/tmp/下创建nginx目录即可。

    设置服务

    [root@zabbix-server ~]# vi /etc/init.d/nginx 
    插入如下代码

    #
    !/bin/bash # chkconfig: - 99 2 # description: Nginx Service Control Script PROG="/usr/local/nginx/sbin/nginx" PIDF="/var/run/nginx/nginx.pid" case "$1" in start) $PROG ;; stop) kill -3 $(cat $PIDF) ;; restart) $0 stop &> /dev/null if [ $? -ne 0 ] ; then continue ; fi $0 start ;; reload) kill -1 $(cat $PIDF) ;; *) echo "Userage: $0 { start | stop | restart | reload }" exit 1 esac exit 0

    此时就可以用service nginx stop、start、reload

    设置开机自启动

    chmod +x /etc/init.d/nginx
    
    chkconfig --add nginx
    
    chkconfig nginx on

    测试

  • 相关阅读:
    Datagrip导入导出为一个sql文件详细说明 (mysql)
    Linux/Unix/Mac OS下的远程访问和文件共享方式
    批量杀掉多个pid文件中记录的pid进程, 并集成到shell脚本中
    把tomcat服务器配置为windows服务的方法
    idea导入java项目
    linux-umount挂载点无法卸载:device is busy(解决)
    elasticsearch插件大全
    分布式搜索elasticsearch配置文件详解
    centos fastdfs 多服务器 多硬盘 多组 配置详解
    redis 配置 linux
  • 原文地址:https://www.cnblogs.com/chxmtl/p/13085897.html
Copyright © 2011-2022 走看看