Nginx企业级的应用

本文详述了Nginx在企业中的广泛应用,包括其作为高性能web服务器的原因,如高并发处理能力和高扩展性。介绍了Nginx的安装部署方式,如编译安装和自动化安装,并讲解了Nginx的配置文件结构。文章还涵盖了多站点部署、Nginx处理请求原理、安全控制、负载均衡等高级特性,并展示了如何结合Lua脚本实现WAF防护。
摘要由CSDN通过智能技术生成

Nginx企业级的应用

Nginx是一个web应用服务器。

1.企业中常见的主流web应用服务器:

  • Apache:http://apache.org
  • Nginx: http://nginx.org
  • IIS: http://www.iis.net

2.为什么选择Nginx作为web应用?

  • 高性能处理高并发能力上很强
  • 高扩展性 Nginx模块化,官方提供了多元化的模块。
  • 高可用性三个9 99.9% 四个9 99.99%
  • 热部署(版本平滑升级) 服务进行升级的同时,保证业务不宕机
  • 应用场景非常多 代理、缓存、负载均衡、处理静态请求、动静分离、LNMP、LNMT、LNMU (Python)Uwsgi

3.Nginx安装部署

工具 作用
VMware15 实现虚拟化服务器
Xshell 远程终端工具
Centos 7.6
Nginx 1.18

企业中安装Nginx,三种安装方式:

  • 编译安装:根据源码,根据企业业务需求,需要什么功能,编译时添加什么模块,即可(私人定制),但是安装过程较为繁琐
  • 自动化安装:配置好安装源,直接通过自动化安装工具安装即可
  • 二进制安装:类似于绿色免安装版,编译安装好的程序封装起来的包。

3.1 编译安装

  1. 准备源码包上传并解压
  2. 预编译—>编译—>安装

​ 准备依赖环境

yum install -y openssl-devel pcre-devel gcc

​ 预编译

./configure --prefix=/usr/local/nginx --sbin-path=/bin/ --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module --with-http_gzip_static_module

​ 添加Nginx用户

useradd nginx -m -s /sbin/nologin

​ 安装

make && make install
/bin/nginx -V # 检测当前Nginx版本
nginx version: nginx/1.19.7
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)
built with OpenSSL 1.0.2k-fips 26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --sbin-path=/bin/ --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module --with-http_gzip_static_module

​ 启动Nginx

/bin/nginx

3.2 自动化安装

centos自动工具安装yum

配置Nginx官方yum源

地址:https://nginx.org/en/linux_packages.html#RHEL

cd /etc/yum.repos.d/

vim nginx.repo

[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

检查yum源配置完成

yum makecache
yum repolist

安装Nginx

yum install nginx -y

检查已安装的nginx

nginx -V

启动nginx

nginx

4.Nginx****程序结构

rpm -ql nginx
/etc/logrotate.d/nginx
# 日志切割(默认以天为单位)
/etc/nginx
# Nginx主程序存放路径
/etc/nginx/conf.d
# Nginx的自配置文件目录
/etc/nginx/conf.d/default.conf
# Nginx默认配置文件
/etc/nginx/fastcgi_params
# Nginx与PHP交互的内置变量
/etc/nginx/koi-utf
/etc/nginx/koi-win
/etc/nginx/mime.types
# 存放响应报文中回传的文件类型
/etc/nginx/modules
# 存放Nginx程序模块路径
/etc/nginx/nginx.conf
# Nginx主配置文件
/etc/nginx/scgi_params
/etc/nginx/uwsgi_params
# 存放uwsgi交互的内置变量
/etc/nginx/win-utf
/etc/sysconfig/nginx
# 启动Nginx参数
/etc/sysconfig/nginx-debug
/usr/lib/systemd/system/nginx-debug.service
/usr/lib/systemd/system/nginx.service
/usr/lib64/nginx
/usr/lib64/nginx/modules
/usr/libexec/initscripts/legacy-actions/nginx
/usr/libexec/initscripts/legacyactions/nginx/check-reload
/usr/libexec/initscripts/legacyactions/nginx/upgrade
/usr/sbin/nginx
# 二进制文件 调用控制Nginx
/usr/sbin/nginx-debug
/usr/share/doc/nginx-1.18.0
/usr/share/doc/nginx-1.18.0/COPYRIGHT
/usr/share/man/man8/nginx.8.gz
/usr/share/nginx
/usr/share/nginx/html
# Nginx默认存放网站源码的位置
/usr/share/nginx/html/50x.html
/usr/share/nginx/html/index.html
/var/cache/nginx
/var/log/nginx
# 存放Nginx日志路径

5.Nginx****配置文件详解

user nginx;
# 指定我们Nginx服务的运行用户
worker_processes 1;
# 定义Nginx的worker进程数量的
error_log /var/log/nginx/error.log warn;
# 指定Nginx错误日志
pid /var/run/nginx.pid;
# 指定Nginx PID进程号文件
events {
   
	worker_connections 1024;
# 指定Nginx当前一个worker进程同时可以处理的最大连接数量
}
http {
   
	include /etc/nginx/mime.types;
# 应用某文件中的内容
	default_type application/octet-stream;
# 当Nginx无法识别当前访问页面内容时,出发下载动作
	log_format main '$remote_addr - $remote_user [$time_local] "$request" '
					'$status $body_bytes_sent"$http_referer" '
					'"$http_user_agent" "$http_x_forwarded_for"'; 
# 指定Nginx访问日志格式的
	access_log /var/log/nginx/access.log main; 
# 定义Nginx访问日志的位置
	sendfile on;
	#tcp_nopush on;
	keepalive_timeout 65;
# 当Nginx建立TCP连接之后,多长时间没有动作,自动断开
	#gzip on;
	include /etc/nginx/conf.d/*.conf;
# 包含自配置文件路径下的所有以.conf结尾的文件
}

5.1 Nginx****子配置文件(站点配置文件)

server {
   
		listen 8080
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值