安装

Nginx官网
官方安装文档
Nginx中文文档

Centos|Rocky通过yum安装

  1. 安装依赖

    yum install yum-utils
    
  2. 添加nginx源

    $ vim /etc/yum.repos.d/nginx.repo
    
    [nginx-stable]      # 稳定版
    name=nginx stable repo
    baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
    gpgcheck=1
    enabled=1           # 1表示开启,0表示关闭
    gpgkey=https://nginx.org/keys/nginx_signing.key
    module_hotfixes=true
    
    
    [nginx-mainline]    # 最新版 
    name=nginx mainline repo
    baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
    gpgcheck=1
    enabled=0           # 1表示开启,0表示关闭
    gpgkey=https://nginx.org/keys/nginx_signing.key
    module_hotfixes=true
    

    注:稳定版和最新版,想安装哪个就把哪个的enabled=1,另一个的enabled=0

  3. 安装

    yum install -y nginx
    
  4. 启动

    systemctl start nginx
    
    # 开机启动
    systemctl enable nginx
    

ubuntu通过apt安装

  1. 安装依赖

    sudo apt install curl gnupg2 ca-certificates lsb-release ubuntu-keyring
    
  2. 添加nginx的官方GPG密钥

    curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
    | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
    
  3. 添加nginx源,如下命令二选一
    稳定版:

    echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \ 
    http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" \ 
    | sudo tee /etc/apt/sources.list.d/nginx.list
    

    最新版:

    echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \ 
    http://nginx.org/packages/mainline/ubuntu `lsb_release -cs` nginx" \ 
    | sudo tee /etc/apt/sources.list.d/nginx.list
    
  4. 设置仓库优先级,保证优先使用Nginx官方的源

    echo -e "Package: \*\nPin: origin nginx.org\nPin: release o=nginx\nPin-Priority: 900\n" \
    | sudo tee /etc/apt/preferences.d/99nginx
    
  5. 安装nginx

    sudo apt update
    sudo apt install nginx
    
  6. 启动

    sudo systemctl start nginx
    
    # 开机启动
    sudo systemctl enable nginx
    

源码安装

  1. 下载源码包,并解压

    cd /usr/local/src
    wget https://nginx.org/download/nginx-1.23.1.tar.gz
    tar -zxvf nginx-1.23.1.tar.gz
    cd nginx-1.23.1
    
  2. 安装依赖(除了依赖安装的不同,其他配置都相同)
    Rocky:

    sudo yum install -y gcc  make  pcre-devel zlib-devel  openssl-devel
    

    Ubuntu:

    sudo apt install  -y gcc  make  libpcre++-dev libssl-dev  zlib1g-dev
    
  3. 编译安装

    ./configure --prefix=/usr/local/nginx \
    --with-http_ssl_module \
    --with-http_v2_module \
    --with-http_realip_module \
    --with-http_stub_status_module \
    --with-http_gzip_static_module \
    --with-pcre \
    --with-stream \
    --with-stream_ssl_module \
    --with-stream_realip_module
    
    
    make && make install
    

    注:其他模块需要根据需要自行配置

    查看依赖库

    ldd /usr/local/nginx/sbin/nginx
    
  4. 编辑服务管理内容

    $ sudo vim /lib/systemd/system/nginx.service 
    
    # 写入如下内容
    [Unit]
    Description=nginx - high performance web server
    Documentation=http://nginx.org/en/docs/
    After=network-online.target remote-fs.target nss-lookup.target
    Wants=network-online.target
    
    
    [Service]
    Type=forking
    PIDFile=/usr/local/nginx/logs/nginx.pid
    ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
    ExecReload=/bin/sh -c "/bin/kill -s HUP $(/bin/cat /usr/local/nginx/logs/nginx.pid)"
    ExecStop=/bin/sh -c "/bin/kill -s TERM $(/bin/cat /usr/local/nginx/logs/nginx.pid)"
    
    
    [Install]
    WantedBy=multi-user.target
    
  5. 加载服务,启动服务

    sudo systemctl daemon-reload
    sudo systemctl start nginx
    sudo systemctl enable nginx
    
  6. 创建软链接,方便全局调用

    sudo ln -s /usr/local/nginx/sbin/nginx /usr/sbin/nginx