超实用是Nginx介绍与安装指南

    科技2026-08-18  24

    超实用是Nginx介绍与安装指南

    前言

    一、Nginx介绍

    1.1:何为Nginx

    1.2:Nginx工作原理

    1.3:Nginx优点

    二、Nginx安装指南

    2.1:安装支持的环境依赖

    2.2:创建Nginx运行的用户、组

    2.3:编译安装Nginx

    2.4:优化路径

    2.5:检查配置文件

    2.6:启动、停止Nginx

    2.7:添加系统服务

    前言

    Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。

    一、Nginx介绍

    1.1:何为Nginx

    Nginx是一款轻量级的Web 服务器/反向代理反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

    1.2:Nginx工作原理

    Nginx 本身做的工作实际很少,当它接到一个 HTTP 请求时, 它仅仅是通过查找配置文件将此次请求映射到一个 location block,而此 location 中所配 置的各个指令则会启动不同的模块去完成工作,因此模块可以看做 Nginx 真正的劳动工作者。

    Nginx 的模块从功能上分为如下三类:

    Handlers(处理器模块):此类模块直接处理请求,并进行输出内容和修改 headers 信息等操作。Handlers 处理器模块一般只能有一个Filters(过滤器模块):此类模块主要对其他处理器模块输出的内容进行修改操作,最后由 Nginx 输出Proxies(代理类模块):此类模块是 Nginx 的 HTTP Upstream 之类的模块,这些模块主要与后端一些服务比如 FastCGI 等进行交互,实现服务代理和负载均衡等功能

    1.3:Nginx优点

    Nginx(发音为[engine x])专为性能优化而开发,其最知名的优点是它的稳定性和低系统资源消耗,以及对HTTP并发连接的高处理能力(单台物理服务器可支持30 000~50000个并发请求)。正因为如此,大量提供社交网络、新闻资讯、电子商务及虚拟主机等服务的企业纷纷选择Nginx来提供Web服务。

    二、Nginx安装指南

    2.1:安装支持的环境依赖

    [root@Nginx opt]# yum -y install \ > gcc \ ####安装gcc库 > gcc-c++ \ ####安装gcc-c++语言 > make \ ####安装编译包 > pcre-devel \ ####兼容正则表达式 > expat -devel \ ####安装xml解析库 > prel \ ####安装prel语言 > zlib ####安装压缩文件库

    2.2:创建Nginx运行的用户、组

    Nginx服务进程默认以nobody身份运行,建议为其创建专门的 用户账户,以便更准确地控制其访问权限,增加灵活性、降低安全风险。例如,穿件一个名为nginx的用户,不建立宿主文件夹,也禁止登录到shell环境 [root@Nginx ~]# useradd -M -s /sbin/nologin nginx

    2.3:编译安装Nginx

    配置Nginx的编译选项时,将安装目录设为/usr/local/nginx,运行用户和组均设为nginx;启用http_stub_status_module模块以支持状态统计,便于查看服务器的连接信息 [root@Nginx opt]# tar xzvf nginx-1.15.9.tar.gz [root@Nginx opt]# cd nginx-1.15.9/ [root@Nginx nginx-1.15.9]# ./configure \ > --prefix=/usr/local/nginx \ ####指定安装路径 > --user=nginx \ ####指定用户账户 > --group=nginx \ ####指定用户组 > --with-http_stub_status_module ####启用模块,支持状态统计 [root@Nginx nginx-1.15.9]# make && make install

    2.4:优化路径

    为了使Nginx服务器的运行更加方便,可以为主程序nginx创建链接文件,以便管理员直接执行“nginx”命令就可以调用Nginx的主程序 [root@nginx nginx-1.15.9]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin [root@nginx nginx-1.15.9]# ls -l /usr/local/sbin/nginx lrwxrwxrwx. 1 root root 27 10月 9 00:39 /usr/local/sbin/nginx -> /usr/local/nginx/sbin/nginx

    2.5:检查配置文件

    与Apache的主程序httpd类似,Nginx的主程序也提供了"-t"选项用来对配置文件进行检查,以便找出不当或错误的配置。配置文件 nginx.conf 默认位置安装目录下的 conf/子目录中。若要检查位置其他位置的配置文件。可以用 “-c” 选项来指定路径 [root@nginx nginx-1.15.9]# nginx -t nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

    2.6:启动、停止Nginx

    直接运行 Nginx 即可启动 Nginx 服务器,这种方式将使用默认的配置文件,若要改用其他配置文件,需添加 “-c 配置文件路径”选项来指定路径。需要注意的是,若服务器中有 httpd 等其他Web服务软件,应采取措施(修改端口、停用或卸载)避免冲突。

    [root@nginx nginx-1.15.9]# netstat -anpt | grep nginx tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 24176/nginx: master [root@nginx nginx-1.15.9]# yum -y install lynx [root@nginx nginx-1.15.9]# lynx 127.0.0.1

    2.7:添加系统服务

    为了使 Nginx 服务的启动、停止、重载等操作更加方便,可以编写基与 Nginx 服务控制文件使用 systemctl 工具来进行管理 [root@nginx systemd]# cd /lib/systemd/system [root@nginx system]# vim nginx.service [Unit] Description=nginx ####描述性信息 After=network.target ####服务类别 [Service] Type=forking ###后台运行形式 PIDFile=/usr/local/nginx/logs/nginx.pid ###PID文件位置 ExecStart=/usr/local/nginx/sbin/nginx ###启动服务 ExecReload=/usr/bin/kill -s HUP $MAINPID ###根据PID重载配置 ExecStop=/usr/bin/kill -s QUIT $MAINPID ###根据PID终止进程 PrivateTmp=true ####临时文件开启 [lnstall] WantedBy=multi-user.target ####多用户 ~ [root@nginx system]# chmod 754 nginx.service ####赋予权限 [root@nginx system]# systemctl start nginx.service ####通过systemctl控制Nginx [root@nginx system]# chmod 754 nginx.service ####赋予权限 [root@nginx system]# systemctl start nginx.service ####通过systemctl控制Nginx
    Processed: 0.015, SQL: 9