51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

Linux系统下Nginx四种安装方法介绍

前言 {#前言}

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

Linux下四种安装方式 {#Linux下四种安装方式}

  • yum 安装:简单方便,不易出错
  • rpm安装包安装:便捷,方便
  • 源码包安装:有点繁琐,服务性能好
  • docker 安装:方便快捷

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

安装步骤 {#安装步骤}

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

|-----------|---------------------------------| | 1 | netstat -nltp | grep 80 |

3.1 yum 安装 nginx {#3-1-yum-安装-nginx}

nginx添加yum repro库中

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

查看nginx信息

|-----------|------------------------| | 1 | yum info nginx |

查看yum源仓库中nginx版本

|-----------|--------------------------------------------------| | 1 | yum --showduplicates list nginx | expand |

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

|-----------|---------------------------| | 1 | yum install nginx |

3.2 源码编译安装nginx {#3-2-源码编译安装nginx}

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

3.2.1 依赖库安装 {#3-2-1-依赖库安装}

1、安装gcc环境

编译时依赖gcc环境

|-----------|-----------------------------------------------------------| | 1 | yum -y install gcc gcc-c++ autoconf automake make |

2、安装 pcre

提供nginx支持重写功能

|-----------|----------------------------------------| | 1 | yum -y install pcre pcre-devel |

3、安装zlib

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

|-----------|-----------------------------------------------------| | 1 | yum -y install zlib zlib-devel make libtool |

4、安装openssl

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

|-----------|----------------------------------------------| | 1 | yum -y install openssl openssl-devel |

3.2.2 nginx 安装 {#3-2-2-nginx-安装}

手动创建用户和用户组

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

官网下载nginx源码包

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

解压

|-----------|---------------------------------------| | 1 | tar -zxvf nginx-1.20.2.tar.gz |

编译目录

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

参数说明:

|------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | --prefix=/usr/local/nginx #编译安装目录 --user=nginx #所属用户nginx --group=nginx #所属组nginx --with-http_stub_status_module #该模块提供nginx的基本状态信息 --with-http_ssl_module # 支持HTTPS |

编译源码并安装

|-------------|------------------------------------------| | 1 2 | make # 编译 make install # 安装 |

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

|-----------|---------------------------| | 1 | user nginx nginx; |

3.2.3 ningx操作 {#3-2-3-ningx操作}

启动服务

|-----------|-------------------------------------| | 1 | /usr/local/nginx/sbin/nginx |

重新加载服务

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

停止服务

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

查看进程

|-----------|-----------------------------| | 1 | ps -ef | grep nginx |

验证

|-----------|-----------------| | 1 | curl IP |

nginx版本信息查看

|-----------|----------------------------------------| | 1 | /usr/local/nginx/sbin/nginx -V |

nginx配置服务

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

配置服务文件

|-----------|----------------------------------------------| | 1 | vi /lib/systemd/system/nginx.service |

配置信息

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

创建服务

|-----------|----------------------------------------| | 1 | systemctl enable nginx.service |

使用服务命令

|-----------|--------------------------------| | 1 | systemctl status nginx |

3.3 rpm安装包安装nginx {#3-3-rpm安装包安装nginx}

3.3.1 下载rpm安装包 {#3-3-1-下载rpm安装包}

官网下载安装包

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

3.3.2 安装nginx包 {#3-3-2-安装nginx包}

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

3.3.3 配置权限 {#3-3-3-配置权限}

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

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

授权列表清单给nginx

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

启动nginx

|-----------|--------------------------------| | 1 | systemctl start nginix |

验证

|-----------|-----------------| | 1 | curl IP |

卸载 nginx

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

3.4 docker 中安装nginx {#3-4-docker-中安装nginx}

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

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

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

|-----------|-----------------| | 1 | curl IP |

4 nginx 其他 {#4-nginx-其他}

4.1 nginx常用操作 {#4-1-nginx常用操作}

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

启动nginx

|-----------|-------------------------------| | 1 | systemctl start nginx |

停止 nginx

|-----------|------------------------------| | 1 | systemctl stop nginx |

重启 nginx

|-----------|---------------------------------| | 1 | systemctl restart nginx |

重新加载配置

|-----------|--------------------------------| | 1 | systemctl reload nginx |

设置开机启动

|-----------|--------------------------------| | 1 | systemctl enable nginx |

关闭开机启动设置

|-----------|---------------------------------| | 1 | systemctl disable nginx |

查看版本

|-----------|------------------| | 1 | nginx -V |

4.2 目录说明 {#4-2-目录说明}

| 目录 | 说明 | |---------------------------|---------------------------| | /etc/nginx/ | 所有相关配置文件目录 | | /etc/nginx/nginx.conf | nginx主配置文件 | | /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 | 默认的站点位置,可以根据实际情况进行设置调整 |

参考链接:https://blog.csdn.net/shallow72/article/details/123878716


赞(5)
未经允许不得转载:工具盒子 » Linux系统下Nginx四种安装方法介绍