Nginx 操作

1 Nginx 简介
Nginx (“engine x”) 是一个高性能的 HTTP 和反向代理服务器,特点是占有内存少,并发能
力强,事实上 nginx 的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用 nginx
网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
Nginx 是由俄罗斯人 Igor Sysoev 采用 C 语言开发编写的,第一个公开版本 0.1.0 发
布于 2004 年 10 月 4 日。
2 正向代理和反向代理概念
正向代理类似一个跳板机,代理访问外部资源。比如:我是一个用户,我访问不了某网
站,但是我能访问一个代理服务器,这个代理服务器,它能访问那个我不能访问的网站,于
是我先连上代理服务器,告诉它我需要那个无法访问网站的内容,代理服务器去取回来,然
后返回给我。
反向代理(Reverse Proxy)方式是指以代理服务器来接受 internet 上的连接请求,然
后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给 internet 上请求
连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。
3 Nginx 安装以及相关命令
➢ 在 hadoop202 上运行 yum,安装相关依赖包

sudo yum -y install openssl openssl-devel pcre pcre-devel zlib zlib-devel gcc gcc-c++

➢ 将/2.资料/工具下的 nginx-1.12.2.tar.gz 上传到/opt /software 下
➢ 在/opt/module/software 下解压缩 nginx-1.12.2.tar.gz 包 ➢ 进入解压缩目录,执行

./configure --prefix=/opt/module/nginx
make && make install
--prefix=要安装到的目录

➢ 安装成功后,/opt/module/nginx 目录下结构
在这里插入图片描述
➢ 启动 Nginx

在/opt/module/nginx/sbin 目录下执行 ./nginx

➢ 如果在 atguigu 用户下面启动会报错
原因:nginx 占用 80 端口,默认情况下非 root 用户不允许使用 1024 以下端口
解决:让当前用户的某个应用也可以使用 1024 以下的端口

sudo setcap cap_net_bind_service=+eip /opt/module/nginx/sbin/nginx

注意:要根据自己的实际路径进行配置
➢ 查看启动情况

ps -ef |grep nginx 

因为 nginx 不是用 java 写的,所以不能通过 jps 查看
在浏览器中输入 http://hadoop101/访问
在这里插入图片描述
➢ 重启 Nginx

./nginx -s reload

➢ 关闭 Nginx

./nginx -s stop

➢ 通过配置文件启动

./nginx -c /opt/module/nginx/conf/nginx.conf  /opt/module/nginx/sbin/nginx -c /opt/module/nginx/conf/nginx.conf

其中-c 是指定配置文件,而且配置文件路径必须指定绝对路径
➢ 配置检查
当修改 Nginx 配置文件后,可以使用 Nginx 命令进行配置文件语法检查,用于检查 Nginx 配置文件是否正确

/opt/module /nginx/sbin/nginx -c /opt/module/nginx/conf/nginx.conf –t

➢ 如果 80 端口号被占用 httpd

sudo systemctl stop httpd
sudo systemctl disable httpd

➢ 部分机器启动时报错:

/usr/local/nginx/sbin/nginx: error while loading shared libraries:
libpcre.so.1: cannot open shared object file: No such file or directory

解决:ln -s /usr/local/lib/libpcre.so.1 /lib64

4 Nginx配置文件
首先需要对它的核心配置文件有一定的认识,这个文件位于 Nginx 的安装
目录/opt/module/nginx/conf 目录下,名字为 nginx.conf

5 http 配置
(1) 基本配置
在这里插入图片描述
(2) server 配置,可以有多个
在这里插入图片描述

6 Nginx 主要应用

6.1 静态网站部署
	Nginx 是一个 HTTP 的 web 服务器,可以将服务器上的静态文件(如 HTML、图片等)

通过 HTTP 协议返回给浏览器客户端
6.2 负载均衡
在网站创立初期,我们一般都使用单台机器对外提供集中式服务。随着业务量的增大,
我们一台服务器不够用,此时就会把多台机器组成一个集群对外提供服务,但是,我们网站
对外提供的访问入口通常只有一个,比如 www.web.com。那么当用户在浏览器输入
www.web.com 进行访问的时候,如何将用户的请求分发到集群中不同的机器上呢,这就
是负载均衡要做的事情。
负载均衡通常是指将请求"均匀"分摊到集群中多个服务器节点上执行,这里的均匀是指
在一个比较大的统计范围内是基本均匀的,并不是完全均匀。
6.3 静态代理
把所有静态资源的访问改为访问 nginx,而不是访问 tomcat,这种方式叫静态代理。
因为 nginx 更擅长于静态资源的处理,性能更好,效率更高。
所以在实际应用中,我们将静态资源比如图片、css、html、js 等交给 nginx 处理,而
不是由 tomcat 处理。
6.4 动静分离
Nginx 的负载均衡和静态代理结合在一起,我们可以实现动静分离,这是实际应用中
常见的一种场景。
动态资源,如 jsp 由 tomcat 或其他 web 服务器完成
静态资源,如图片、css、js 等由 nginx 服务器完成
它们各司其职,专注于做自己擅长的事情
动静分离充分利用了它们各自的优势,从而达到更高效合理的架构
6.5 虚拟主机
虚拟主机,就是把一台物理服务器划分成多个“虚拟”的服务器,这样我们的一台物理
服务器就可以当做多个服务器来使用,从而可以配置多个网站。
Nginx 提供虚拟主机的功能,就是为了让我们不需要安装多个 Nginx,就可以运行多
个域名不同的网站。
Nginx 下,一个 server 标签就是一个虚拟主机。nginx 的虚拟主机就是通过 nginx.conf
中 server 节点指定的,想要设置多个虚拟主机,配置多个 server 节点即可。
比如一个公司有多个二级域名,没有必要为每个二级域名都提供一台 Nginx 服务器,
就可以使用虚拟主机技术,在一台 nginx 服务器上,模拟多个虚拟服务器。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值