Nginx网络服务

本文详细介绍了Nginx服务的基础,包括Nginx的特性、应用环境以及与Apache的区别。接着阐述了Nginx的编译安装过程,如何检查、启动、重启和停止服务,并添加为系统服务。重点讲解了Nginx主配置文件nginx.conf的各个配置块,如全局配置、I/O事件、HTTP配置和日志格式设定。此外,还涵盖了访问状态统计、基于授权的访问控制、基于客户端的访问控制以及基于域名、IP和端口的虚拟主机配置。
摘要由CSDN通过智能技术生成

Nginx网络服务

一、Nginx服务基础

1.1 什么是Nginx:

一款高性能、轻量级web服务软件:

  • 轻量级(系统资源消耗较少)
  • 稳定性高(宕机的概率小)
  • 高性能(抗并发能力较强,一般可以处理2~3万并发连接数,最多理论上可支持5万并发)

1.2 应用环境

  • http web网站服务器
  • 虚拟主机(基于域名、IP、端口)
  • 反向代理
  • web前端缓存

1.3 Nginx和Apache 的差异:

  • nginx更轻量,比apache占用更少的内存资源
  • nginx抗并发能力更强
  • nginx是模块化设计,配置相对简单,组件也比较apache少
  • nginx处理请求是异步非阻塞的,apache是同步阻塞性的
  • nginx可以多个连接对应一个进程,apache是一个连接对应一个进程
  • nginx是基于事件的web服务器 ,apache是基于流程的web服务器

二、编译安装Nginx服务

2.1 编译安装过程

1、关闭防火墙,将安装nginx所需软件包传到/opt目录下

systemctl stop firewalld
systemctl disable firewalld
setenforce 0

nginx-1.12.0.tar.gz

在这里插入图片描述
2、安装依赖包


#nginx的配置及运行需要pcre、zlib、openssl等软件包的支持,因此需要安装这些软件的开发包,以便提供相应的库和头文件。
yum -y install pcre-devel zlib-devel openssl-devel gcc gcc-c++ make

3、创建运行用户、组(Nginx 服务程序默认以 nobody 身份运行,建议为其创建专门的用户账号,以便更准确地控制其访问权限)

useradd -M -s /sbin/nologin nginx

4、编译安装Nginx


cd /opt
tar zxvf nginx-1.12.0.tar.gz -C /opt/

cd nginx-1.12.0/
./configure \
--prefix=/usr/local/nginx \							#指定nginx的安装路径
--user=nginx \										#指定用户名
--group=nginx \										#指定组名
--with-http_stub_status_module						#启用 http_stub_status_module 模块以支持状态统计

make -j 4 && make install                           #启用4核编译

ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/		#让系统识别nginx的操作命令

在这里插入图片描述
在这里插入图片描述

2.2 检查、启动、重启、停止 nginx服务

nginx -t								#检查配置文件是否配置正确
#启动
nginx									
#停止
cat /usr/local/nginx/logs/nginx.pid		#先查看nginx的PID号

#杀死Nginx进程
kill -3 <PID号>kill -s QUIT <PID号>killall -3 nginx
或 killall -s QUIT nginx

#重载
kill -1 <PID号>kill -s HUP <PID号>killall -1 nginx
或 killall -s HUP nginx

#日志分割,重新打开日志文件
kill -USR1 <PID号>
#平滑升级
kill -USR2 <PID号>
新版本升级:
tar -zxvf nginx-1.xx.xx.tar.gz 
cd nginx-1.xx.xx
./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module
--with-http_ssl_module
make
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx_old
cp objs/nginx /usr/local/nginx/sbin/nginx
make upgrade  #要保证当前 nginx 进程是通过 /usr/local/nginx/sbin/nginx 启动的,而不是通过查找环境变量中那个 nginx 命令启动的
#或者先 killall nginx ,再/usr/local/nginx/sbin/nginx

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.3 添加 Nginx 系统服务

方法一:

vim /etc/init.d/nginx
#!/bin/bash
#chkconfig: - 9
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值