Nginx搭建

Nginx服务基础
概述
一款高新能 轻量级Web服务软件
稳定性高
系统资源消耗低
对HTTP并发连接的处理能力高
单台物理服务器可支持30 000~50 000个并发请求

nginx相对于apache的优点
轻量级,同样起web服务,比apache占用更少的内存及资源高并发,nginx处理请求是异步非阻塞的,而apache是阻塞型的在高并发下,nginx能保持低资源低消耗高性能高度模块化的设计。

编写模块相对简单

apache相对于nginx的优点
Rewrite比nginx的rewrite强大 模块多,基本想到的都可以找到少bug, nginx的bug相对较超稳定

一般来说,需要性能的web服务,用nginx。若不需要性能只求稳定,就选用apache。 Nginx处理动态请求是弱项,一般动态请求要Apache去做Nginx只适合处理静态网页或反向代理。

编译安装Nginx服务
关闭防火墙,将安装Nginx所需要的软件包传到任意目录

[root@localhost opt]# systemctl stop firewalld.service
[root@localhost opt]# systemctl disable firewalld.service
[root@localhost opt]# setenforce 0

在这里插入图片描述
安装相关依赖包

[root@localhost opt]# yum -y install pcre-devel zlib-devel gcc gcc-c++ make

创建运行用户和组一以便提供相应的库和头文件

[root@localhost opt]# useradd -M -s /sbin/nologin nginx
#不建立家目录不允许用户登录

压缩数据包并编译安装Nginx

[root@localhost opt]# tar -zxvf nginx-1.12.2.tar.gz #解压数据包

[root@localhost opt]# cd nginx-1.12.2/ #切换到安装包目录下
[root@localhost nginx-1.12.2]# ./configure \ #配置
–prefix=/usr/local/nginx \ #暗转路径
–user=nginx \ #指定用户名
–group=nginx \ #指定组名
–with-http_stub_status_module #启用此模块支持状态统计

在这里插入图片描述

[root@localhost nginx-1.12.2]# make -j2 && make install #编译并安装

做软链接让系统识别命令并启动nginx
在这里插入图片描述
检查、启动、重启、停止nginx服务

nginx -t #检查配置文件语法格式同样可以看到它的配置文件

在这里插入图片描述

nginx #启动nginx服务

在这里插入图片描述

kill -3 <PID号> #杀进程

在这里插入图片描述

添加Nginx系统服务
脚本控制服务

[root@localhost nginx-1.12.2]# cd /etc/init.d/
[root@localhost init.d]# vim nginx

在这里插入图片描述
在这里插入图片描述
查看nginx版本信息
在这里插入图片描述

Nginx服务配置文件
nginx服务的主配置文件

/usr/local/nginx/conf/nginx.conf

配置文件分为一下块
全局块:全局配置。对全局生效
events块:配置影响nginx服务器与用户的网络连接
http块:配置代理,缓存,日志定义绝大多数功能和第三方模块的配置
server块:配置虚拟主机的相关参数,一个http块可以有多个server块
lication块:用于配置匹配的url
upstream块:配置后端服务器具体地址,负载均衡配置不可或缺的部分

全局配置

#user nobody; #运行用户默认为nobody
worker_processes 1; #工作进程数量,一帮设置为和服务器cpu核数一样
#error_log logs/error.log; #错误日志文件的位置
#pid logs/nginx.pid; PID文件位置

I/O事件配置

events {
use epoll; #使用 epoll 模型以提高性能,2.6 以上版本建议使用
worker_connections 4096; #每个进程处理4096个连接
}

若工作进程数为 4,每个进程处理 4 096 个连接,则允许 Nginx 正常提供服务的连接数为(4*4096=16392),虽然说单台物理服务器可支持30 000~50 000个并发请求,但是具体还要看服务器硬件、网络带宽等物理条件的性 能表现,在生产环境中一般也就2-3万并发请求。

如提高每个进程的连接数还需执行"ulimit -n 65535"命令临时修改本地每个进程可以同时打开的最大文件数。

在Linux平台.上,在进行高并发TCP连接处理时,最高的并发数量都要受到系统对用户单一进程同时可打开文件数量的限制(这是因为系统为每个TCP连接都要创建一个socket句柄,每个socket句柄同时也是一个文件句柄)。

可使用ulimit -a命令查看系统允许当前用户进程打开的文件数限制。
epoll(socket描述符)是Linux内核]为处理大批量文件描述符而作了改进的poll,是Linux下多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率

临时修改本地每个进程可以同时打开的最大文件数
在这里插入图片描述
永久修改

[root@localhost ~]# vim /etc/security/limits.conf #编辑内核配置文件

在这里插入图片描述

nginx 内置了 HTTP_STUB_STATUS 状态统计模块,用来反馈当前的 Web 访问情况, 配置编译参数时可添加–with-http_stub_status_module 来启用此模块支持,可以使用命令

/usr/local/sbin/nginx -v #查看已安装Nginx是否包含HTTP_STUB_STATUS模块
cat /opt/nginx-1.12.0/auto/options | grep YES #查看nginx已安装的所有模块

修改 nginx.conf 配置文件,指定访问位置并添加 stub_status 配置(建议修改之前备份,首次不备份可以系统已将原始文件备份)
在这里插入图片描述

[root@localhost conf]#vim /usr/local/nginx/conf/nginx.conf #编辑配置文件

在这里插入图片描述

[root@localhost conf]#systemctl restart nginx #重启服务

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值