• Linux系统下四种nginx安装方法


    1 背景

    Nginx 是一款轻量级的 Web 服务器、[反向代理]服务器,由于它的内存占用少,启动极快,高并发能力强,在互联网项目中广泛应用。本文介绍三种基于 linux 环境下的安装 nginx 的方法,安装版本为现阶段官网推出的最新稳定版本。

    环境说明

    软件项目版本
    操作系统Centos7.9
    nginx1.20.2
    docker20.10.9

     

    2 linux 的四种安装方式

    • yum 安装:简单方便,不易出错

    • rpm 安装包安装:便捷,方便

    • 源码包安装:有点繁琐,服务性能好

    • docker 安装:方便快捷

    其中 [yum]源码安装、docker 安装依赖互联网接入,rpm 可以离线安装。

    3 安装步骤

    安装之前查看端口,默认 nginx 使用的 80 端口,如果 80 端口已经占用启动过程中可能会报错, 针对端口占用情况,可以停止占用端口的服务或者 nginx 改用其他端口启动,停用和改端口方法不再本文介绍。

    netstat -nltp | grep 80
    

    3.1 yum 安装 ningx

    nginx 添加 yum repro 库中

    1. # 下载nginx包
    2. wget https://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
    1. # 建立nginx的yum仓库
    2. rpm -ivh nginx-release-centos-7-0.el7.ngx.noarch.rpm

    查看 nginx 信息

    yum info nginx
    

    查看 yum 源仓库中 nginx 版本

    yum --showduplicates list nginx | expand
    

    安装 nginx, 默认安装最新的稳定版本 及 nginx 1.20.2

    yum install nginx
    

    3.2 源码编译安装 nginx

    Nginx 源码包安装步骤相比其他安装方法比较繁琐,但是操作不复杂,需要提前安装一些 Nginx 依赖库。

    3.2.1 依赖库安装

    • 1、安装 gcc 环境

    编译时依赖 gcc 环境

    yum -y install gcc gcc-c++ autoconf automake make
    
    • 2、安装 pcre

    提供 nginx 支持重写功能

    yum -y install pcre pcre-devel
    
    • 3、安装 zlib

    zlib 库提供了很多压缩和解压缩的方式,nginx 使用 zlib 对 http 包内容进行 gzip 压缩

    yum -y install zlib zlib-devel make libtool
    
    • 4、安装 openssl

    安全套接字层密码库,用于通信加密

    yum -y install openssl openssl-devel
    

    3.2.2 nginx 安装

    手动创建用户和用户组

    1. groupadd nginx
    2. useradd nginx -g nginx -s /sbin/nologin -M

    官网下载 nginx 源码包:(https://nginx.org/download/nginx-1.20.2.tar.gz)

    wget https://nginx.org/download/nginx-1.20.2.tar.gz
    

    解压

    tar -zxvf nginx-1.20.2.tar.gz
    

    编译目录

    1. cd nginx-1.20.2
    2. # 检查平台安装环境
    3. ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --user=nginx --group=nginx

    参数说明:

    –prefix=/usr/local/nginx  #编译安装目录 –user=nginx                     #所属用户 nginx –group=nginx                  #所属组 nginx –with-http_stub_status_module. #该模块提供 nginx 的基本状态信息 –with-http_ssl_module #支持 HTTPS

    编译源码并安装

    1. make           # 编译
    2. make install    # 安装

    nginx 编译安装完成以后,修改 nginx.conf

    user nginx nginx;
    

    3.2.3 ningx 操作

    启动服务

    /usr/local/nginx/sbin/nginx
    

    重新加载服务

    /usr/local/nginx/sbin/nginx -s reload
    

    停止服务

    /usr/local/nginx/sbin/nginx -s stop
    

    查看进程

    ps -ef | grep nginx
    

    验证

    curl IP
    

    nginx 版本信息查看

    /usr/local/nginx/sbin/nginx -V
    

    nginx 配置服务

    目前 nginx 都是通过命令执行的,在 nginx 运行过程中,需要 nginx 作为系统的服务运行。以 systemctl 命令运行服务

    配置服务文件

    vi /lib/systemd/system/nginx.service
    

    配置信息

    1. [Unit]
    2. Description=nginx 
    3. After=network.target 
    4.    
    5. [Service] 
    6. Type=forking 
    7. ExecStart=/usr/local/nginx/sbin/nginx
    8. ExecReload=/usr/local/nginx/sbin/nginx reload
    9. ExecStop=/usr/local/nginx/sbin/nginx quit
    10. PrivateTmp=true 
    11.    
    12. [Install] 
    13. WantedBy=multi-user.target

    创建服务

    systemctl enable nginx.service
    

    使用服务命令

    systemctl status nginx
    

    3.3 rpm 安装包安装 nginx

    3.3.1 下载 rpm 安装包

    官网下载安装包

    wget https://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.20.2-1.el7.ngx.x86_64.rpm
    

    3.3.2 安装 nginx 包

    rpm -ivh nginx-1.20.2-1.el7.ngx.x86_64.rpm
    

    3.3.3 配置权限

    使用 root 账号创建 nginx 用户和组

    1. groupadd nginx
    2. useradd nginx -g nginx -s /sbin/nologin -M

    授权列表清单给 nginx

    1. chown -R nginx:nginx /etc/log/logrotate.d/nginx
    2. chown -R nginx:nginx /etc/nginx
    3. chown -R nginx:nginx /etc/nginx/conf.d
    4. chown -R nginx:nginx /etc/config.d/default.conf
    5. chown -R nginx:nginx /etc/nginx/fastcgi_params
    6. chown -R nginx:nginx /etc/nginx/mime.types
    7. chown -R nginx:nginx /etc/nginx/modules
    8. chown -R nginx:nginx /etc/nginx/nginx.conf
    9. chown -R nginx:nginx /etc/nginx/scgi_params
    10. chown -R nginx:nginx /etc/nginx/uwsgi_params
    11. chown -R nginx:nginx /usr/lib/systemd/system/nginx-debug.service
    12. chown -R nginx:nginx /usr/lib/systemd/system/nginx.service
    13. chown -R nginx:nginx /usr/lib64/nginx
    14. chown -R nginx:nginx /usr/lib64/nginx/modules
    15. chown -R nginx:nginx /usr/libexec/initscripts/legacy-actions/nginx
    16. chown -R nginx:nginx /usr/libexec/initscripts/legacy-actions/nginx/check-reload
    17. chown -R nginx:nginx /usr/libexec/initscripts/legacy-actions/nginx/upgrade
    18. chown -R nginx:nginx /usr/sbin/nginx
    19. chown -R nginx:nginx /usr/sbin/nginx-debug
    20. chown -R nginx:nginx /usr/share/doc/nginx-1.20.1
    21. chown -R nginx:nginx /usr/share/doc/nginx-1.20.1/COPYRIGHT
    22. chown -R nginx:nginx /usr/share/man/man8/nginx.8.gz
    23. chown -R nginx:nginx /usr/share/nginx
    24. chown -R nginx:nginx /usr/share/nginx/html
    25. chown -R nginx:nginx /usr/share/nginx/html/50x.html
    26. chown -R nginx:nginx /usr/share/nginx/html/index.html
    27. chown -R nginx:nginx /var/cache/nginx
    28. chown -R nginx:nginx /var/log/nginx

    启动 nginx

    systemctl start nginix
    

    验证

    curl IP
    

    卸载 nginx

    1. # 查看nginx安装文件
    2. rpm -qa | grep nginx
    3. nginx-1.20.2-1.el7.ngx.x86_64
    4. # 卸载nginx安装文件
    5.  rpm -e nginx-1.20.2-1.el7.ngx.x86_64

    3.4 [docker]中安装 nginx

    docker 安装可以选择在线和离线安装,在线安装使用 docker 命令安装,离线安装使用 docker 安装完毕后,打包至离线服务器进行安装,本文以在线安装为例进行展开操作。docker 安装在此不做过多介绍,docker

    1. # 获取nginx镜像
    2. docker pull nginx:1.21.6
    3. # 查看镜像
    4. docker images
    5. 运行nginx
    6. docker run --name nginx -p 80:80 -d nginx

    使用过程中会挂载 配置文件、站点、日志信息,在现有基础上新增挂载参数即可。
    验证

    curl IP
    

    4 .nginx 其它

    4.1 nginx 常用操作

    常用操作是基于 nginx 正确安装的基础上的操作

    启动 nginx

    systemctl start nginx
    

    停止 nginx

    systemctl stop nginx
    

    重启 nginx

    systemctl restart nginx
    

    重新加载配置

    systemctl reload nginx
    

    设置开机启动

    systemctl enable nginx
    

    关闭开机启动设置

    systemctl disable nginx
    

    查看版本

    nginx -V
    

    4.2 目录说明

    目录说明
    /etc/nginx/所有相关配置文件目录
    /etc/nginx/nginx.confnginx 主配置文件
    /etc/nginx/conf.d/独立的 nginx 服务配置文件目录
    /var/log/nginx/nginx 日志文件目录
    /var/log/nginx/access.log访问日志 (IP / 浏览器信息 / 处理时间 / 请求 URL)
    /var/log/nginx/error.log错误日志 (服务器和请求处理中的错误信息)
    /usr/share/nginx/html默认的站点位置,可以根据实际情况进行设置调整
  • 相关阅读:
    bilibili快速升满级(使用Docker 容器脚本)
    【视觉SLAM十四讲学习笔记】第三讲——旋转矩阵
    MySQL 数据类型和搜索引擎
    基于STM32室内空气净化监测系统设计
    nvm管理多个node版本,快速来回切换node版本
    GitHub的基本使用
    CentOS7安装Nginx+ModSecurity
    Redis缓存篇:高频问题横扫核心知识点,面试高级工程师必备知识体系
    Node-工具模块
    嵌套合并如何操作,合并视频的同时设置新视频标题
  • 原文地址:https://blog.csdn.net/weixin_44767040/article/details/126399024