nginx安装及配置及应用

本文详细介绍了在Linux系统中如何安装Nginx,包括依赖库的安装,如gcc、pcre、zlib和openssl,以及通过编译和yum两种方式安装Nginx的步骤。同时,文章提到了Nginx的启动、关闭命令以及配置文件的结构和重要指令,如worker_processes和events。此外,还讨论了Nginx的反向代理、负载均衡和动静分离等高级功能。
摘要由CSDN通过智能技术生成

下载地址:http://nginx.org/

安装

环境要求

gcc
安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装

yum install gcc-c++ 

pcre
pcre(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。
注:pcre-devel是使用pcre开发的一个二次开发库。nginx也需要此库。

yum install -y pcre pcre-devel

zlib
zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。

yum install -y zlib zlib-devel

openssl
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。
nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。

yum install -y openssl openssl-devel

————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————



第一种:编译及安装
解压源码包:

tar -zxvf /home/tools/nginx-1.20.2.tar.gz -C /home/ap

进入/nginx-1.20.2目录,使用configure命令创建makefile,命令参数设置如下:

./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi

注意:上边将临时文件目录指定为/var/temp/nginx,需要在/var下创建temp及nginx目录

然后:

make
make install

nginx路径:/usr/local/nginx


第二种:yum安装

# 安装 nginx
sudo yum -y install nginx 
# 卸载 nginx
sudo yum remove nginx  

通过这种方式安装后nginx的配置路径为:/etc/nginx



Nginx的启动及关闭

启动
在/usr/local/nginx目录下有一个sbin目录,sbin目录下有一个nginx可执行程序。

./nginx

关闭nginx
关闭命令:相当于找到nginx进程kill。

./nginx -s stop

退出命令:
等程序执行完毕后关闭,建议使用此命令。

./nginx -s quit

补充:动态加载(刷新)配置文件
#可以不关闭nginx的情况下更新配置文件

./nginx -s reload



问题解决:

sbin目录下启动时发现错误:nginx: [emerg] open() “/var/run/nginx/nginx.pid” failed (2: No such file or directory)

在这里插入图片描述
原因:缺少nginx.pid文件,nginx无法启动。nginx重启之后,会寻找上一次的日志文件nginx.pid,重启时,nginx会将本次的操作都会记录到其中,再次重启,检查该文件确定上次启动时是否存在问题,方便进行恢复,没有重启就不会记录该文件,重启后重新找该文件,由于路径没有修改,会找不到。

解决:
1.更改日志文件的路径:

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

pid /usr/local/nginx/logs/nginx.pid;

在这里插入图片描述
2.创建logs目录:

mkdir /usr/local/nginx/logs

在这里插入图片描述

+++++++++++++++++++++++++++

nginx配置文件

组成部分:
1.全局块
在这里插入图片描述
从配置文件开始到events块之间的内容,主要设置一些影响nginx服务器整体运行的配置指令
例如:worker_processes 1;worker_processes值越大可以支持并发处理量也越多。

2.events块
在这里插入图片描述

影响nginx服务器与用户的网络连接
例如:worker_connections 1024;表示每个worker_processes支持的最大连接数是1024;

3.http块
包括http全局块和server块;
http全局块配置的指令包含文件引入、mime-type定义、日志自定义、连接超时时间、单链连接请求上限等;
在这里插入图片描述
server块和虚拟主机有密切关系;

每个http块可以有多个server块,每个server块相当于一个虚拟主机;
每个server块分为全局server块,及可能多个location块

全局server块:配置本虚拟机主机的监听配置和本虚拟机主机的名字或ip配置;
location块:基于nginx服务器收到的请求字符串(例如server_name/uri-string),对虚拟主机名称(ip别称)之外的字符串进行匹配,对特定的请求进行处理。地址定向,数据缓存和应答控制等功能,海鸥许多第三方模块的配置也在这里。
在这里插入图片描述

nginx服务器配置最频繁的部分,代理、缓存和日志定义等众多功能和第三方模块的配置都在这里,比如说反向代理、负载均衡、动静分离、高可用都是在这儿配置;

================================================================
(我把防火墙关了)
对外开放访问的端口:
firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd -reload
查看已经开放的端口号:
firewall-cmd --list-all
在这里插入图片描述

========================================
反向代理:
在这里插入图片描述

1.本地配置:
在这里插入图片描述
2.nginx的nginx.conf文件添加红框配置
在这里插入图片描述在这里插入图片描述

3.启动nginx和tomcat,在浏览器输入http://www.123.com/
在这里插入图片描述

====================================================
负载均衡:
1.轮询(默认)
2.权重
在这里插入图片描述

3.ip_hash

在这里插入图片描述

====================================================
++++++++++++++++++++++++++++++++++++++++++++++++++++

动静分离:
在这里插入图片描述

在这里插入图片描述

========================================================
++++++++++++++++++++++++++++++++++++++++++++++++++++++++
高可用:

在这里插入图片描述

在这里插入图片描述
keeplived安装配置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WooHuPoself#5029

谢谢Thanks♪(・ω・)ノ

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值